Как экспортировать 2 набора данных в «Sheet1» и еще один набор из 2 наборов данных в «Sheet2», используя SAS - PullRequest
0 голосов
/ 21 мая 2019

Доброе утро!Я хочу экспортировать несколько наборов данных, чтобы преуспеть, используя SAS, но у меня есть несколько проблем здесь.Оба набора данных являются уникальными и которые мы не можем объединить или добавить.

Есть 2 программы, которые создают по 2 набора данных в каждой, однако я хочу экспортировать выходные наборы программных данных (2 набора данных) в Excel лист1 и выходной набор данных Программы2 '(2 набора данных) в лист Excel 2.

Я пытался использовать печать Proc, но это не сработало

    ods excel file="&OUTFILE." options(sheet_interval="none"  sheet_name="sheet1");

TITLE 'CLOSED_SR_VOLUMES_BY_PERCENT';
proc print data=CLOSED_SR_VOLUMES_BY_PERCENT;
run;
TITLE 'CLOSED_SR_VOLUMES_BY_VOLUME';
proc print data=CLOSED_SR_VOLUMES_BY_MONTH;
run;


ods excel options(sheet_interval="none" sheet_name="sheet2");
TITLE 'ACTIVE_SR_VOLUMES_BY_VOLUME';
proc print data=SR_VOLUMES_BY_MONTH;
run;
TITLE 'ACTIVE_SR_VOLUMES_BY_PERCENT';
proc print data=SR_VOLUMES_BY_PERCENT;
run;
ods excel close;

Я не получаю никакой ошибки, но все наборы данных экспортируют его на один лист Excelвместо этого 2 набора данных в Sheet2 и еще 2 набора данных в Sheet 2.

Пожалуйста, дайте мне знать, если есть какой-либо способ для этого ...

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Если у вас самая последняя версия SAS для технического обслуживания, вы можете сделать это с небольшой модификацией:

   ods excel file="&OUTFILE." options(sheet_interval='none' sheet_name="sheet1");

TITLE 'CLOSED_SR_VOLUMES_BY_PERCENT';
proc print data=sashelp.class;
run;
TITLE 'CLOSED_SR_VOLUMES_BY_VOLUME';
proc print data=sashelp.class;
run;


ods excel options(sheet_interval='now' sheet_name="sheet2");
TITLE 'ACTIVE_SR_VOLUMES_BY_VOLUME';
proc print data=sashelp.class;
run;
TITLE 'ACTIVE_SR_VOLUMES_BY_PERCENT';
proc print data=sashelp.class;
run;
ods excel close;

Заметьте, я добавляю «сейчас» вместо «нет» во втором. Это кажется необходимым для принудительного изменения листа.

Это не работает с ранними версиями ODS EXCEL, но в 9.4 TSM3 или TSM4 я считаю, что это было исправлено. У меня есть TSM6, и я могу подтвердить, что он работает на этом.

1 голос
/ 21 мая 2019

На первый взгляд похоже на известную ошибку ods , так что вы можете попытаться исследовать ее. В качестве более простого решения я бы предложил использовать DATA STEP для экспорта данных с использованием LIBNAME:

libname xllib xlsx "&outpath/filename.xlsx";
data xllib.sometabname;
 set sashelp.cars;
 run;
libname myxl clear;

Этот код извлекает данные из sashelp.cars и записывает их в книгу filename на вкладке с именем sometabname.

...