作者c21221203 (kkii)
看板Statistics
标题[程式] sas MARCO问题
时间Sun May 1 16:45:18 2011
-------------------------------------------------------------------
[软体程式类别]:
sas
[程式问题]:
资料处理
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
不好意思,又来麻烦各位
小弟我资料集bbb2里面有一个为的YEAR的变数,
我想要把资料分年取出,
但不想要一年一年重打code一次,
所以研究了一下marco,
但有错误起各位高手帮忙解谜。
[程式范例]:
这是一般我只取2006年的时候:
data cutyear;
set bbb2;
if year=2006 then output;
run;
但我换成marco後就不能跑
%macro CUT_YEAR(STARTYEAR);
DATA CUTYEAR;
SET BBB2;
%IF STARTYEAR=%year %THEN %OUTPUT;
%MEND
%MACRO CUT_YEAR(2007);
请问我在marco里面的data是我修改我的STARTYEAR以後,每次跑出来的资料,都会在这
资料库里吗? 我的OUTPUT都无法变成蓝色字体。
这是我的log错误的地方。
WARNING: Extraneous information on %MEND statement ignored for macro
definition CUT_YEAR.
改成五楼大大的方是以後,没有出错了但是没东西
%macro CUT_YEAR(STARTYEAR);
DATA CUTYEAR2007;
SET BBB2;
IF YEAR=&STARTYEAR THEN OUTPUT;
%MEND
% CUT_YEAR(2007);
THEN OUTPUT 是黑色字这是正常吗?
没有档案跑出来说QQ
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.55.132
1F:推 lsshno1:这样可以吗? if startyeat=&year the output; 05/01 17:25
2F:→ c21221203:不行说,反而多了一条error 05/01 17:37
3F:推 lsshno1: *then 05/01 17:38
4F:→ lsshno1:我打错了 05/01 17:38
5F:→ c21221203:我有改成then但还是不行,THEN OUTPUT都变黑色。 05/01 17:55
6F:→ ASD332:if year = &startyear then output 不用用到%IF 吧 05/01 18:13
7F:→ ASD332:而且你最後引用巨集的写法也不对 %CUT_YEAR(2007) 05/01 18:14
※ 编辑: c21221203 来自: 140.120.55.132 (05/01 19:23)
8F:→ c21221203:错误没了,但是没有东西。 05/01 19:23
9F:→ ASD332:data step 的 run 咧 = =" 05/01 20:18