全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3424 3
2012-09-19
小弟是初学者, 有个问题想请问一下, 如何遍历打印一个表?如下:第一行是列名, 后边的是数据:

infclientnetdftypedb
ELDELDEldersPDFntunix
ELDIRDNZIRPDFntunix
ELDKPMKPMGPDFntunix
ELDSCHSchweppesPDFntunix


我自己写了一些, 可是调试不通, 说不能用do while 语句, 麻烦哪位指点一下应该怎么改, 万分感谢!!


//Open Cursor

%let    cust=%sysfunc(open(work.customerlist,i));  

%let    _Inf   =%sysfunc(varnum(&cust,Inf));  

%let    _Client=%sysfunc(varnum(&cust,Client));  

%let    _Netd  =%sysfunc(varnum(&cust,Netd));  

%let    _Ftype =%sysfunc(varnum(&cust,Ftype));   

%let    _DB    =%sysfunc(varnum(&cust,DB));


%do%while (%sysfunc(fetch(&_Inf))eq 0);            

    %letInf   =%sysfunc(getvarc(&cust,&_Inf  ));   

    %letClient=%sysfunc(getvarc(&cust,&_Client));

    %letNetd  =%sysfunc(getvarc(&cust,&_Netd ));  

    %letFtype =%sysfunc(getvarc(&cust,&_Ftype));  

    %letDB    =%sysfunc(getvarc(&cust,&_DB   ));  

         

    %put    &Inf  &Client  &Netd  &Ftype &DB;  


    run;

                     

%end;


%letrc=%sysfunc(close(&id1)); //Close Cursor


============================

Log摘要

============================

  

1898

1899  %do %while (%sysfunc(fetch(&_Inf))eq 0);

ERROR: The %DO statement is not valid inopen code.

1900      %letInf   =%sysfunc(getvarc(&cust,&_Inf   ));

SYMBOLGEN:  Macro variable CUST resolves to 1

SYMBOLGEN:  Macro variable _INF resolves to 1

1907

1908      run;

1909

1910  %end;

ERROR: The %END statement is not validin open code.

1911

1912

1913  %let rc=%sysfunc(close(&cust));

SYMBOLGEN:  Macro variable CUST resolves to 1


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-9-19 16:43:49
不懂
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-28 09:08:13
得放到宏里 或者data _null_里
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-1 16:38:00
bitcoin 发表于 2016-2-28 09:08
得放到宏里 或者data _null_里
同意楼上,放到macro里面才可以用 %do
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群