2014-12-06 133 views
0

我正在使用proc模板和sgrender并基于类变量(classVar)输出ODS。我需要使用类变量的名称更新每个图的输出标题。以下是我的代码示例:SAS动态输出保存文件

proc template; 
    define statgraph heatmapparm; 
    dynamic _BYVAL_; 
    begingraph; 
     entrytitle _BYVAL_; 
     layout overlay; 
     heatmapparm x=X_VAR y=Y_VAR colorresponse=percent/colormodel=(blue yellow red) 
      name="heatmapparm" xbinaxis=false ybinaxis=false datatransparency=.5; 
     continuouslegend "heatmapparm"/location=outside valign=bottom; 
     endlayout; 
    endgraph; 
    end; 
run; 

proc sgrender data=roundFreq template=heatmapparm; 
    by situation; 
run; 

谢谢大家的帮助!

回答

2

我相信这在SAS 9.3+中有效。你有什么版本的SAS?

proc template; 
define statgraph scatter; 
dynamic _x _y _byval_; 

begingraph; 
entrytitle "Scatter Plot of " _x " by " _y " for Sex = " _byval_; 
    layout overlay; 
    scatterplot x=_x y=_y; 
    endlayout; 
endgraph; 
end; 

run; 

proc sort data=sashelp.class out=class; 
by sex; 
run; 

proc sgrender data=class 
      template=scatter; 
by sex; 
dynamic _x='height' _y='weight'; 
run; 
+0

是的我在回答之前,我已经稍微想到了这一点。使用动态和_byval_的组合运作完美。谢谢! – Code4Days 2014-12-07 01:53:43