PC SAS: ODS CSV на листы

#csv #sas

#csv #sas

Вопрос:

Всем доброго утра,

У меня есть 4 таблицы процедур, которые я хочу автоматически выводить в одну книгу, но на разные листы. Как я могу это сделать.

Прилагается образец вкладок proc.

 ods csv;
proc tabulate data=test1 noseps missing; 
class Router_Desc Team_Desc router team;
var DaysDelq;
table Router_Desc*Team_Desc*router*team*ENF_LTR*SOLS_LTR ALL, DaysDelq=' '*(N=VOL    SUM=VALUE);
where ENF_LTR='Y' and SOLS_LTR='Y';
run;

proc tabulate data=test1 noseps missing; 
class Router_Desc Team_Desc router team;
var DaysDelq;
table Router_Desc*Team_Desc*router*team*ENF_LTR*SOLS_LTR ALL, DaysDelq=' '*(N=VOL     SUM=VALUE);
where ENF_LTR='Y' and SOLS_LTR='N';
run;

proc tabulate data=test1 noseps missing; 
class Router_Desc Team_Desc router team;
var DaysDelq;
table Router_Desc*Team_Desc*router*team*ENF_LTR*SOLS_LTR ALL, DaysDelq=' '*(N=VOL     SUM=VALUE);
where ENF_LTR='N' and SOLS_LTR='Y';
run;

proc tabulate data=test1 noseps missing; 
class Router_Desc Team_Desc router team;
var DaysDelq;
table Router_Desc*Team_Desc*router*team*ENF_LTR*SOLS_LTR ALL, DaysDelq=' '*(N=VOL     SUM=VALUE);
where ENF_LTR='N' and SOLS_LTR='N';
run;
ods csv close;
  

Ответ №1:

В ODS есть набор тегов, написанный для вывода в Excel. Он генерирует XML, который понимает Excel. Каждая процедура может быть записана на другой рабочий лист. Попробуйте эти ссылки.

ДЕМОНСТРАЦИОННЫЙ набор тегов ExcelXP

Опции ExcelXP

Этот документ включает объяснение того, как загрузить и установить набор тегов

Ответ №2:

Как сказала Каролина Джей, посмотрите на опции ODS XP, с их помощью вы можете многое сделать. Следующий скелет должен, по крайней мере, помочь вам начать работу.

Создайте рабочую книгу.

 ods tagsets.excelxp file="yourfile.xls"
options(orientation='Landscape');
  

Запустите что-то вроде следующего

 ods tagsets.ExcelXP options(sheet_name="test1");
proc tabulate...
ods tagsets.ExcelXP options(sheet_name="test2");
proc tabulate...
ods tagsets.ExcelXP options(sheet_name="test3");
proc tabulate...
ods tagsets.ExcelXP options(sheet_name="test4");
proc tabulate...
  

Не забудьте закрыть все это с помощью

 ods tagsets.excelxp close;
  

Все параметры ODS приведены в кратком справочнике. Вы можете получить больший контроль над выводом, создавая таблицы вне ods, а затем используя proc report внутри ods, чтобы воспользоваться возможностями, которые предоставляет вам proc report.