原数据表是这样
| comcode | articlecode | fenduan |
3201 | PP01 | e:150%+ |
3202 | PP06 | a:0-50% |
期望通过sas自动生成这样:
| 行标签 | a:0-50% | b:50%-90% | c:90%-110% | d:110%-150% | e:150%+ |
| 3201 | 67.18% | 10.22% | 6.85% | 2.54% | 13.21% |
| PP01 | 46.15% | 3.85% | 26.92% | 3.85% | 19.23% |
| PP02 | 100.00% | 0.00% | 0.00% | 0.00% | 0.00% |
| PP03 | 80.00% | 10.00% | 0.00% | 10.00% | 0.00% |
想生成一张工作表里全是3201的数据,第二张工作表是3202的数据,依次类推
附上程序
ods results off;
ods listing close;
options missing=0;
%macro pro;
%do i=3201 %to 3213;
ods tagsets.excelxp file="C:\Users\Administrator\Desktop\piancha.xls" style=minimal
options(sheet_interval='none' sheet_name="%i");
option missing=0;
proc tabulate data=finalwjmatchyj2 ;
var pianchalv ;
class comcode articlecode fenduan;
table (articlecode='' all),(rowpctn)*(fenduan='' )*n/printmiss;
where comcode=input("%i",$4.);
run;
ods html close;
%end;
%mend;
%pro;
ods tagsets.excelxp close;
ods listing;
ods results on;
但是报错说“没有解析宏 I 的调用”
实在搞不定,只好求教各位大神几个问题:
1、为什么“没有解析宏 I 的调用”,怎么解决呢?
2、数据集里面PP01,我想在excel里输出的是“企财”等。用format不会弄,或者怎么解决,不想更改数据集