SAS proc сообщает, что символ split не работает в операторе "compute before"

Я попытался вывести rtf, первый столбец - это имена классификаций, подгрупп и уровней. Я объединил классификацию и подгруппу вместе с символом "~" в переменную "cat", и я ожидал, что они будут выведены в две строки (показано на рисунке). Но, похоже, символ разделения не разделил классификацию и подгруппу на две строки. Он просто показывает как "Class1~ subgroup1" в выводе.

Есть ли способ разбить строку в операторе compute в протоколе proc?

    proc report data=final nowd nocenter headline headskip  missing split='~' spacing=0; 
      column  ( ord  cat subord header c1 c2 c3;

      define ord      / order noprint;
      define cat      / order noprint f=$100.;
      define subord   / order noprint;
      define header   / display  "Class~ Level~  Criterion" width=70 left flow;
      define c1       / display "n" width=12 center flow spacing=0;   
      define c2       / display "n" width=12 center flow spacing=0; 
      define c3       / display "n" width=12 center flow spacing=0; 

      compute before cat;
      line @1 cat $100.;
      endcomp;

     break after ord / skip;
run;

Вывод должен выглядеть так

1 ответ

split работает только в заголовках столбцов или в месте назначения списка. Вам придется добавить разрывы строк самостоятельно, возможно, используя ODS ESCAPECHAR, или уменьшить столбец, чтобы разделить его.

Посмотрите этот вопрос, например, на community.sas.com ("Разделение отчета по PROC").

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