proc gchart堆叠的带有附加表的栏注释了几个月

时间:2018-12-03 20:59:47

标签: sas

我正在尝试重新创建一个如下所示的图形: 它是具有多种访问类型的堆叠条形图,其值显示在所附的数据表中,并包含2种目标线。

enter image description here

我的数据如下所示(我不确定如何创建示例代码):

enter image description here

我转换了数据,所以它很长:

enter image description here

我基于this的方法。

在示例中,如果我使用线程中的示例数据运行第一个注释部分(anno_values),则一切运行正常。但是,使用类似的设置但考虑了更多的组(Visit1,Visit2等),我不断收到此错误消息:

NOTE: ERROR DETECTED IN ANNOTATE= DATASET WORK.ANNO_VALUES.
      MINIMUM VARIABLES NOT MET - AMBIGUITY PREVENTS SELECTION
NOTE: ERROR LIMIT REACHED IN ANNOTATE PROCESS. PROCESSING IS TERMINATED.
NOTE: PROCESSING TERMINATED BY INDIVIDUAL ERROR COUNT.
NOTE:     1 TOTAL ERRORS.

 data anno_values; set long2;
format xc monyy.; informat month monyy.; 
xsys='2'; ysys='3'; hsys='3'; when='a';
function='label'; position='5'; 
xc=month; 
if type='Total' then do;
 y=15; 
 text=trim(left(value));
 output;
 end;
if type='Visit1' then do;
 y=7; 
 text=trim(left(value));
 output;
 end;
 if type='Visit2' then do;
 y=0;
 text=trim(left(value));
 output;
 end;
 if type='Visit3' then do;
 y=-7;
 text=trim(left(value));
 output;
 end;
run;



proc gchart data=long2 anno=anno_values;
vbar month / type=sum sumvar=value discrete
 subgroup=type nolegend
  raxis=axis1 maxis=axis2
 coutline=gray77;
run; quit;

我不确定是不是导致问题的月份,但只能走出第一步。

1 个答案:

答案 0 :(得分:0)

随SAS / Graph一起安装的宏可以帮助您构建适当的注释数据集。宏的名称为dclanno,表示声明注释变量

将以下行添加到您的代码中:

%annomac  /* compiles the SAS/Graph annotation macros */

data myAnno;
  /* The dclanno macro, part of the annomac package does code generation
   * for defining the annotation variables in the PDV
   */
  %dclanno;

dclanno是安装在SASHOME \ SASFoundation \ 9.4 \ core \ sasmacro中的annomac软件包的一部分。

此处是A stacked vbar chart annotated to display counts of another subgroup另一个示例的链接