全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
842 1
2020-01-13
悬赏 30 个论坛币 未解决
先贴自己的代码,sheet的命名总是出现问题
%macro test(epath = ,xlsx_name = ,opath = );
libname a167 "&epath.";
proc sql noprint;
        select count(*) into:_n
        from dictionary.tables
        where libname = %upcase("a167");
        select memname into:_memname1-:_memname%left(&_n.)
        from dictionary.tables
        where libname = %upcase("a167");
        select memlabel into:_labname1-:_labname%left(&_n.)
        from dictionary.tables
        where libname = %upcase("a167");
quit;

%do i=1 %to &_n.;
        %put NOTE:&&_memname&i.. = &&_labname&i..;
        proc export data = a167.&&_memname&i..
                outfile = "&opath.\&xlsx_name..xlsx"
                dbms = xlsx replace label;
                sheet = "&&_memname&i.._&&_labname&i..";  这里改成sheet = "&&_labname&i.."导出的excel就会打不开???
还有就是取消提交的语句是什么意思呢,这个宏我第一次运行,可以得到想要的excel,但是删除掉excel后再次运行就出问题了,需要取消提交的语句后再次运行就可以正常得到excel。
        run;
%end;

%mend;

%test(epath = C:\Users\user\Desktop\Mylib\TEST1,
                xlsx_name = test1,
                opath = C:\Users\user\Desktop\Mylib\TEST1);

二维码

扫码加我 拉你入群

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

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

全部回复
2020-1-13 11:00:08
更新下:发现是一个sheet的name有问题
proc export data = data1
        outfile = "C:\Users\user\Desktop\Mylib\TEST1\111.xlsx"
        dbms = xlsx replace label;
        sheet = "用药史()抗肿瘤治疗除外";
run;
有括号就导不出来,去掉括号就可以导出来,为什么呢
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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