我有一个如下所示的数据集
ProjectName MonthsThisYear CompletionDate
ProjectA 5 5/1/2013
ProjectB 7 7/15/2013
ProjectC 10 10/21/2013
我想绘制一个图表,其中 Y 轴是项目名称,X 轴是 2013 年 1 月、2013 年 2 月 ... 2013 年 12 月。
现在项目 A 的条形必须为 5 个单位长,项目 B 为 7 个单位长,项目 C 的条形应为 10 个单位长。
这样人们就可以看到项目A于5月完成,项目B于7月完成,项目C于10月完成。
如何绘制该图?
目前我可以正确绘制该图...但 X-Asix 上有 0、2、4、6、8、10、12,而不是月份名称。
我使用的是 SSRS 2008 R2。
这就是我现在看到的
我只想在 X 轴上查看月份名称和年份。
最佳答案
也许更多的问题细节会很有用,但这是一种处理您的数据的方法:
我们面临的主要问题是,通常日期是类别,但在本例中它实际上是数据值,与类别组相比,这使我们对标签的控制较少。
首先,设置一个图表,其中包含基于 ProjectName
的类别组和一个数据表达式,例如:
=DateSerial(Year(Fields!CompletionDate.Value), Month(Fields!CompletionDate.Value), 1)
即每个 CompletionDate
值的第一个月,否则您的条形图将位于几个月之间。
接下来,我们需要整理X轴:
在我的示例中,我将最小值设置为:
=DateAdd(DateInterval.Month
, -1
, DateSerial(Year(Min(Fields!CompletionDate.Value)), 1, 1))
即去年12月。将最大值设置为:
=DateSerial(Year(Max(Fields!CompletionDate.Value)), 12, 31)
即年底了。
将间隔设置为 1
,并将间隔类型设置为 月
。
将 X 轴格式设置为 MMM yyyy
。
看起来不错:
如果您实际上可以添加一个值为 2013 或其他值的 Year
列,那么几乎上面所有的表达式都可以被简化。例如,我忽略了 MonthsThisYear
,但如果您有一个 Year
列,您可以根据 MonthsThisYear
构建月份的开始值,并且年份
。
关于reporting-services - 根据数值显示月份名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19259066/