Proc Report - строки из двух таблиц
Я должен экспортировать некоторые данные в формате двух таблиц в строке, с несколькими строками. До сих пор я дошел до создания отчета с несколькими таблицами, сложенными друг на друга, но только с одной на строку с использованием нескольких proc report
утверждения в выражении кода как так:
proc report data = mydata; title 'My Title:'; run;
proc report data = mydata; title 'My Title:'; run;
proc report data = mydata; title 'My Title:'; run;
Что мне нужно добавить / изменить, чтобы я получал две таблицы на строку в моем отчете?
Спасибо
2 ответа
Некоторые направления поддерживают это непосредственно в ODS
заявление; лайк ODS PDF
,
ods pdf file="test.pdf" columns=2 ;
proc print data=sashelp.class;
run;
proc freq data=sashelp.class;
tables age;
run;
ods pdf close;
Однако HTML не делает. Для тех, кого вы хотите использовать ODS LAYOUT
,
ods html file="test.html";
ods layout gridded
columns=2;
ods region;
proc print data=sashelp.class;
run;
ods region;
proc freq data=sashelp.class;
tables age;
run;
ods layout end;
ods html close;
См. Лист с советами по макету ODS для более подробной информации.
К сожалению, ODS LAYOUT не будет работать с ODS EXCEL. Вы можете использовать этот макрос, чтобы сделать что-то подобное, если хотите, или, возможно, использовать PROC DOCUMENT
чтобы собрать таблицы, но я не уверен, как именно это будет работать.
Если вы хотите, чтобы в каждом столбце было более одной таблицы, то вы можете иметь одну ODS REGION
за таблицу (они будут чередоваться lrlr), или вы можете просто добавить больше к двум ODS REGION
Здесь, если вам не нужно, чтобы они были правильно привязаны к сетке.
IE:
ods html file="test.html";
ods layout gridded
columns=2;
ods region;
proc print data=sashelp.class;
run;
ods region;
proc freq data=sashelp.class;
tables age;
run;
ods layout end;
ods html close;
Те просто имеют два столбца с 2 таблицами в каждом столбце, но они не выровнены.
ods html file="test.html";
ods layout gridded
columns=2;
ods region;
proc print data=sashelp.class;
run;
ods region;
proc freq data=sashelp.class;
tables age;
run;
ods region;
proc print data=sashelp.cars;
run;
ods region;
proc freq data=sashelp.cars;
tables origin;
run;
ods layout end;
ods html close;
Это имеет правильную компоновку сетки.
В конце концов я решил эту проблему, настроив вышеизложенное так:
ods layout gridded columns=2 rows=2;
ods region;
proc print data=sashelp.class;
run;
ods region;
proc freq data=sashelp.class;
tables age;
run;
ods region;
proc print data=sashelp.cars;
run;
ods region;
proc freq data=sashelp.cars;
tables origin;
run;
ods layout end;
Очевидно, что строки и столбцы будут меняться в зависимости от ваших потребностей. Это создает отчет SAS, который я затем экспортировал как шаг в проекте в виде файла HTML.
Спасибо