SAS:强制 PROC GCHART 显示空列
SAS: Force PROC GCHART to show empty columns
我用 PROC GCHART
创建了一个图表。假设数据如下所示:
Month Volume
Jan 2
Feb 4
May 19
Sep 7
当我使用 GCHART 使用月份和交易量创建图表时,我得到了四个柱。不过,我希望看到全年(剩余月份的列为空)。
我尝试使用 :
axis order=('Jan','Feb',...,'Nov','Dec');
但是,我仍然只得到四列而不是十二列。我能做什么?
谢谢。
您需要创建一个包含没有数据的月份的数据集。然后将该数据集与您的 AXIS 语句一起使用,以强制所有月份出现在 GCHART 中。请参阅下面的示例代码。希望这有帮助。
data have;
infile cards;
input Month $ Volume;
cards;
Jan 2
Feb 4
May 19
Sep 7
;
run;
*** CREATE A DATASET WITH ALL 12 MONTHS ***;
data allmon;
infile cards;
input Month $ @@;
cards;
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
;
run;
*** USE PROC SQL TO MERGE BOTH DATASETS WITHOUT HAVING TO SORT FIRST ***;
*** USE THIS DATASET WITH GCHART ***;
proc sql;
create table want as
select *
from allmon left join have
on (allmon.month = have.month)
;
run;
proc print data=want;
run;
axis1 order=('Jan' 'Feb' 'Mar' 'Apr' 'May' 'Jun' 'Jul' 'Aug' 'Sep' 'Oct' 'Nov' 'Dec');
proc gchart data=want;
vbar month / sumvar=volume maxis=axis1;
run;
我用 PROC GCHART
创建了一个图表。假设数据如下所示:
Month Volume
Jan 2
Feb 4
May 19
Sep 7
当我使用 GCHART 使用月份和交易量创建图表时,我得到了四个柱。不过,我希望看到全年(剩余月份的列为空)。 我尝试使用 :
axis order=('Jan','Feb',...,'Nov','Dec');
但是,我仍然只得到四列而不是十二列。我能做什么?
谢谢。
您需要创建一个包含没有数据的月份的数据集。然后将该数据集与您的 AXIS 语句一起使用,以强制所有月份出现在 GCHART 中。请参阅下面的示例代码。希望这有帮助。
data have;
infile cards;
input Month $ Volume;
cards;
Jan 2
Feb 4
May 19
Sep 7
;
run;
*** CREATE A DATASET WITH ALL 12 MONTHS ***;
data allmon;
infile cards;
input Month $ @@;
cards;
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
;
run;
*** USE PROC SQL TO MERGE BOTH DATASETS WITHOUT HAVING TO SORT FIRST ***;
*** USE THIS DATASET WITH GCHART ***;
proc sql;
create table want as
select *
from allmon left join have
on (allmon.month = have.month)
;
run;
proc print data=want;
run;
axis1 order=('Jan' 'Feb' 'Mar' 'Apr' 'May' 'Jun' 'Jul' 'Aug' 'Sep' 'Oct' 'Nov' 'Dec');
proc gchart data=want;
vbar month / sumvar=volume maxis=axis1;
run;