2016-08-09 6 views
1

Я использую tagets.excelxp и proc для создания отчета, который выгружается в Excel. Я пытаюсь получить минимальное значение в столбце и максимальное значение в столбце, которое будет выделено красным и зеленым соответственно в моем выходе.SAS tagsets.excelxp условное форматирование

Например:

OBS Rate  
1  5%  
2  10%  
3  15% 

В моем выходе Excel Я хотел бы 5% будет выделено красным цветом, а 15% будут выделены зеленым цветом.

Я пытаюсь использовать вычислительный блок внутри отчета proc, но просто не могу заставить его работать.

+0

превосходит условное форматирование –

+1

Ну, я хотел бы сделать это в докладе Proc в SAS и просто отчет должен быть закончен, когда я открываю его в Excel. – Jeff

+4

Показать свой код, с образцом набора данных, пожалуйста. – Joe

ответ

1

У вас есть пример, как это разрешить. Вам необходимо создать макропеременные до proc report, в которых хранятся сведения о минимальных и максимальных значениях. После этого вам необходимо использовать compute блок и call define для динамического формования.

ods tagsets.ExcelXP file="C:\temp\res.xml"; 

proc sql noprint; 
    select max(age), min(age) 
    into :max, :min 
    from sashelp.class; 
quit; 

proc report data=sashelp.class; 
    column Name Age; 
    compute Age; 
     if Age.sum = &max. then 
      call define(_row_, 'style', 'style={background=red}'); 
     else if Age.sum = &min. then 
      call define(_row_, 'style', 'style={background=green}'); 
    endcomp; 
run; 

ods tagsets.ExcelXP close; 
Смежные вопросы