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.

Спасибо

Другие вопросы по тегам