楼主: Imasasor
2981 14

[问答] 大家来找茬吧,一个程序debug了半个小时,终于找到了 [推广有奖]

  • 1关注
  • 64粉丝

VIP

已卖:215份资源

学科带头人

33%

还不是VIP/贵宾

-

TA的文库  其他...

超哥喜欢的文章

威望
1
论坛币
47033 个
通用积分
3.1376
学术水平
238 点
热心指数
246 点
信用等级
231 点
经验
37132 点
帖子
849
精华
3
在线时间
2235 小时
注册时间
2012-7-4
最后登录
2024-10-10

初级学术勋章 初级热心勋章 初级信用勋章 中级热心勋章 中级学术勋章

楼主
Imasasor 发表于 2013-2-27 21:20:08 |AI写论文
88论坛币
搞了一个程序,之前跑都成功了,忽然有一次再跑,出错了,郁闷!
并且出错的那一段程序,我也没修改过啊,怎么会出错了呢,把这一段拿出来,debug了半个钟头,终于找到问题了
现在把简化后的程序贴上来,有兴趣的朋友试一下

macro.jpg
程序见附件,请下载,不要抄图片,容易抄错!
  2.rar (356 Bytes) 本附件包括:
  • 2.sas

最佳答案

ziyenano 查看完整内容

分号后面多一个非空白符,删掉就好了
关键词:debug 大家来找茬 bug 程序 大家来找茬
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
yukiooy + 1 + 1 + 1 没想到“分号后面多一个非空白符”竟然导致.

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

沙发
ziyenano 发表于 2013-2-27 21:20:09
Imasasor 发表于 2013-2-27 23:15
分号有什么问题?
分号后面多一个非空白符,删掉就好了
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Imasasor + 60 + 100 + 4 + 4 + 3 精彩帖子

总评分: 经验 + 60  论坛币 + 100  学术水平 + 4  热心指数 + 4  信用等级 + 3   查看全部评分

藤椅
ziyenano 发表于 2013-2-27 22:10:53
%macro那行 最后一个分号有问题

板凳
yongyitian 发表于 2013-2-27 22:27:18
Log文件里没有问题。可能你的中文系统的问题。

1    data old;
2    input _col0;
3    cards;

NOTE: The data set WORK.OLD has 7 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.56 seconds
      cpu time            0.01 seconds


11   ;run;

12   proc print data=old; title 'old'; run;
NOTE: Writing HTML Body file: sashtml.htm
NOTE: There were 7 observations read from the data set WORK.OLD.
NOTE: PROCEDURE PRINT used (Total process time):
      real time           1.65 seconds
      cpu time            0.39 seconds


13   %macro corrvar(oldvar,newvar,n,note);
14   data old_var&n;
15   set old(keep=&oldvar obs=10);
16   put "&note";
17   run;
18   %mend;
19   %corrvar(_col0,hello3,1,Nihao)

Nihao
Nihao
Nihao
Nihao
Nihao
Nihao
Nihao
NOTE: There were 7 observations read from the data set WORK.OLD.
NOTE: The data set WORK.OLD_VAR1 has 7 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.03 seconds
      cpu time            0.00 seconds



20   %macro corrva(oldvar,newvar,n,note);
21   data old_var&n;
22   set old(keep=&oldvar obs=10);
23   put "&note";
24   run;
25   %mend;
26   %corrva(_col0,hello3,1,Nihao)

Nihao
Nihao
Nihao
Nihao
Nihao
Nihao
Nihao
NOTE: There were 7 observations read from the data set WORK.OLD.
NOTE: The data set WORK.OLD_VAR1 has 7 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds



报纸
Imasasor 发表于 2013-2-27 23:15:23
ziyenano 发表于 2013-2-27 22:10
%macro那行 最后一个分号有问题
分号有什么问题?
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

地板
Imasasor 发表于 2013-2-27 23:19:24
yongyitian 发表于 2013-2-27 22:27
Log文件里没有问题。可能你的中文系统的问题。

1    data old;
你使用的附件中的程序还是你自己又写的?
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

7
yongyitian 发表于 2013-2-27 23:59:09
Imasasor 发表于 2013-2-27 23:19
你使用的附件中的程序还是你自己又写的?
我用的是 9。13 english version。 用noteped 打开后,select,COPY,然后PAST 到sas editor。"你好"显示为??, 把??变为 nihao 后。 得到上面无错误结果。

又试了一下。Close SAS后, 用SAS9。13 直接打开你的code 得到错误提示 "The catalog TMP1.2 does not exist or is locked by another process."

8
yukiooy 发表于 2013-2-28 10:08:41
没想到“分号后面多一个非空白符”竟然导致程序不能够正常运行。可见SAS很***
已有 1 人评分经验 论坛币 学术水平 收起 理由
Imasasor + 60 + 40 + 3 热心帮助其他会员

总评分: 经验 + 60  论坛币 + 40  学术水平 + 3   查看全部评分

9
yukiooy 发表于 2013-2-28 10:26:31
那个字符的ASCII码是A1A1

有可能是
GB 2312 非汉字符号区。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符号外,还有 10 个小写罗马数字和 GB 12345 增补的符号。计符号 717 个。

10
webgu 发表于 2013-2-28 13:58:53
ziyenano 发表于 2013-2-27 21:20
分号后面多一个非空白符,删掉就好了
但是在SAS里根本看不出来啊。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 15:02