楼主: Imasasor
3272 14

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

  • 1关注
  • 64粉丝

VIP

已卖:215份资源

学科带头人

33%

还不是VIP/贵宾

-

TA的文库  其他...

超哥喜欢的文章

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

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

楼主
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-11-10 20:31