Тема зебры в SAS не с Noprint - PullRequest
       7

Тема зебры в SAS не с Noprint

2 голосов
/ 27 марта 2020

Я пытаюсь выделить каждую вторую строку в отчете pro c.

Я могу сделать это с помощью фиктивной переменной (то есть 0 или 1, если строка четная), но когда я добавляю / noprint в оператор определения для этой переменной он прекращает выделяться.

Код:

/* set up data with dummy variable */
data dummy;
    set     sashelp.class;
    dummy   = mod(_n_, 2);
run;

/* displaying the dummy variable */
proc report data = dummy;
    define  dummy / display;
    compute dummy;
        if  dummy eq 1 then call define (_row_, 'style', 'style = [ background = #DFDFDF]');
    endcomp;
run;

/* hiding the dummy variable */
proc report data = dummy;
    define  dummy / noprint;
    compute dummy;
        if  dummy eq 1 then call define (_row_, 'style', 'style = [ background = #DFDFDF]');
    endcomp;
run;

Выходы:

enter image description here

Есть ли способ сохранить формат подсветки, даже если фиктивный столбец не отображается?

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Я идиот, вы можете иметь ОБА display и noprint, что делает трюк:

proc report data = dummy;
    define  dummy / display noprint;
    compute dummy;
        if  dummy eq 1 then call define (_row_, 'style', 'style = [ background = #DFDFDF]');
    endcomp;
run;

Вывод:

enter image description here

0 голосов
/ 27 марта 2020

Вы можете увидеть, как PRO C REPORT видит ваши выписки с опцией PRO C оператор LIST. Когда типом является статистика c, используйте точечное имя.

COMPUTE  dummy;
if dummy.sum eq 1 then call define(_row_, 'style', 'style = [ background = #DFDFDF]');
ENDCOMP;

enter image description here

...