Вывод результатов регрессии SAS для превосходства на одном листе

Я хочу вывести результат регрессии SAS в Excel.
Код такой:

proc import datafile = 'cmds.csv'
out = Work.cmds
dbms = CSV;
run; 

ODS TAGSETS.EXCELXP 
file="dt.xls";
STYLE = STATISTICAL;

proc sort data=Work.Cmds out=Work.Cmds;
by year;
run;

proc reg data=Work.Cmds outest=want tableout;
by year;
model Investment = Size Growth_New Leverage complex Deficit pc_income_NEW Density/hcc adjrsq ;
ods output parameterestimates=want2;
run;

ODS TAGSETS.EXCELXP CLOSE;

Хотя он успешно генерирует файл Excel, он содержит много листов. Я хочу сгенерировать все вещи на одном листе. Как я могу сделать?


person Peter Chen    schedule 18.10.2018    source источник
comment
Это не проблема экселя...   -  person Solar Mike    schedule 18.10.2018
comment
Ваш код должен генерировать ошибку....   -  person Reeza    schedule 18.10.2018
comment
@Reeza похоже на предупреждение. Просто нажмите да, и он откроется. Но ваши классные.   -  person Peter Chen    schedule 18.10.2018
comment
Параметр style=statistical находится не в том месте, что должно генерировать примечание/предупреждение в журнале, и он не применит его правильно, как вы указали.   -  person Reeza    schedule 18.10.2018


Ответы (1)


В наборах тегов есть параметры в конкретных sheet_interval. Чтобы все переходили на одну страницу, установите для параметра интервала листа значение none.

ODS TAGSETS.EXCELXP file="dt.xls" STYLE = STATISTICAL options (sheet_interval='none');

Однако TAGSETS.EXCELXP создает файл XML, а не файл Excel. Если у вас SAS 9.4 TS1M4+, я бы порекомендовал вместо него ODS EXCEL.

ods excel file="dt.xlsx" style=statistical options (sheet_interval = 'none');

Список всех опций для ODS TAGSETS.EXCELXP находится здесь: https://support.sas.com/rnd/base/ods/odsmarkup/excelxp_help.html

Полный пример, который создаст одну вкладку:

ods tagsets.excelxp file='C:\_localdata\demo.xls' options(sheet_interval='none');
proc sort data=sashelp.cars out=cars;
by origin;
run;

proc reg data=cars outest=demo tableout;
by origin;
model mpg_city = mpg_highway invoice cylinders;
ods output parameterEstimates=want;
run;

ods tagsets.excelxp close;
person Reeza    schedule 18.10.2018
comment
Большой. Однако он по-прежнему генерирует несколько листов. Я думаю, это потому, что модель U по группе year. Вы знаете, как сделать все в один лист независимо от их year. - person Peter Chen; 18.10.2018
comment
Нет, не должно. пожалуйста, измените свой вопрос, чтобы включить полный код. - person Reeza; 18.10.2018
comment
Кроме того, проверьте свою версию Tagsets.excelxp, она печатается в журнале при запуске кода. Должно быть: v1.131 2015. - person Reeza; 18.10.2018
comment
Я решил проблему. Я набираю ; не в том месте. Спасибо. - person Peter Chen; 18.10.2018