如何使用 ODS Excel 在 SAS 中垂直堆叠表?
How do I vertically stack tables in SAS using ODS Excel?
我正在使用 Excel ODS 标记集将一系列交叉表从 SAS 9.3 导出到 Excel。
我写的语法如下:
%include 'C:\Users\MyName\Documents\excltags.tpl';
ods tagsets.excelxp file = "M:\Assess18\PARTIC_3-8.xml"
proc sort data = assess_elem;
by accommodations_ny participation_ny district;
run;
proc freq data = assess_elem
by accommodations_ny participation_ny district;
tables grade*proficiency / crosslist nocum nocol;
run;
ods tagsets.excelxp close;
变量是:
- accommodations_ny:字母数字,N/Y
- participation_ny:字母数字,N/Y
- 地区:字母数字,103个地区名称
- 等级:数字,3-8
- 熟练程度:数字,0/1
上面的语法为 103 个区中的每个区创建了一个这样的 table:
have 103 separate tables
我想要的是:
want 1 stacked table
使用标签集选项 OPTIONS(SHEET_INTERVAL="Proc")
。
ods tagsets.excelxp
file=...
style=...
options(doc="all" sheet_interval="Proc") /* <--- your magic --- */
;
DOC="ALL"
options 选项将在日志中显示 ExcelXP 标记集文档。
您不限于 TABLE 语句中的两种方式,特别是如果您使用 LIST 选项而不是 CROSSLIST。
这是一个使用 SASHELP.CARS
的简单示例
proc freq data=sashelp.cars;
table origin*make*cylinders / list;
run;
它创建一个 table 像这样:
这不会为您提供最左侧未重复的列,如果您确实需要,PROC TABULATE 可让您更好地控制输出或将其推送到 table 并使用 PROC REPORT。
我正在使用 Excel ODS 标记集将一系列交叉表从 SAS 9.3 导出到 Excel。
我写的语法如下:
%include 'C:\Users\MyName\Documents\excltags.tpl';
ods tagsets.excelxp file = "M:\Assess18\PARTIC_3-8.xml"
proc sort data = assess_elem;
by accommodations_ny participation_ny district;
run;
proc freq data = assess_elem
by accommodations_ny participation_ny district;
tables grade*proficiency / crosslist nocum nocol;
run;
ods tagsets.excelxp close;
变量是:
- accommodations_ny:字母数字,N/Y
- participation_ny:字母数字,N/Y
- 地区:字母数字,103个地区名称
- 等级:数字,3-8
- 熟练程度:数字,0/1
上面的语法为 103 个区中的每个区创建了一个这样的 table:
have 103 separate tables
我想要的是:
want 1 stacked table
使用标签集选项 OPTIONS(SHEET_INTERVAL="Proc")
。
ods tagsets.excelxp
file=...
style=...
options(doc="all" sheet_interval="Proc") /* <--- your magic --- */
;
DOC="ALL"
options 选项将在日志中显示 ExcelXP 标记集文档。
您不限于 TABLE 语句中的两种方式,特别是如果您使用 LIST 选项而不是 CROSSLIST。
这是一个使用 SASHELP.CARS
的简单示例proc freq data=sashelp.cars;
table origin*make*cylinders / list;
run;
它创建一个 table 像这样:
这不会为您提供最左侧未重复的列,如果您确实需要,PROC TABULATE 可让您更好地控制输出或将其推送到 table 并使用 PROC REPORT。