Попытка добавить лист описания в отчет xlsx - PullRequest
0 голосов
/ 04 февраля 2020

В настоящее время у меня есть отчет о дампе данных с использованием pro c экспорта, который я запускаю очень часто, и все агрегаты записываются в отчет по электронной почте с помощью операторов put ().

так много

x.aggre_0 выглядит как

   total 1 total 2 total 3
    123      321    567  

Текущий шаг данных выглядит следующим образом:

 data x.aggr_1;
 set x.aggre_0;
 call symput("e-mailcontents",
 cat('Summary #1:',total 1)
 cat('Summary #2:',total 2)
 cat('Summary #3:', total 3))

, и я просто put(&e-mailcontents) добавлю в свой файл sas электронной почты.

Это суть того, на что сейчас похож этот процесс.

Получен новый запрос на добавление сводной вкладки в отчет вместо вставки всех агрегаций в электронное письмо. Однако я не уверен относительно того, как я собираюсь go добавить текст в xlsx с помощью pro c export. ODS Excel и xlsx не доступны из-за не зависящих от меня ограничений.

Мои агрегаты сохранены в x.aggre_0, но я не уверен в том, как разместить его в другой лист в том же отчете.

Я думал о чем-то вроде создания новой таблицы с одним столбцом и просто показывал ее построчно, как это, но я понятия не имею, как.

   column_name
 1 Summary #1: 123
 2 Summary #2: 321
 3 Summary #3: 567 

1 Ответ

0 голосов
/ 05 февраля 2020

Похоже, вы пытаетесь создать набор данных, в котором транспонированы текущие сводные данные. Вы можете взглянуть на pro c transpose , но для вашей очень простой ситуации я бы, вероятно, просто сделал что-то вроде этого:

data summaryinfo;
    set x.aggre_0;
    summaryinfo = cat('Summary #1:',total 1); output;
    summaryinfo = cat('Summary #2:',total 2); output;
    summaryinfo = cat('Summary #3:',total 3); output;
    keep summaryinfo;
run;

proc export data = summaryinfo;
    outfile = "your-file.xlsx"
    dbms = excel;
    sheet = "Summary Info";
run;
...