显示数字值的月份名称

时间:2013-10-08 21:47:52

标签: reporting-services

我有一个看起来像这样的数据集

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月。

现在针对projectA的栏必须长5个单元,ProjectB长7个单元,项目C的栏长10个单位。

以便人们可以看到ProjectA在5月完成,ProjectB在7月完成,项目C在10月完成。

如何绘制此图表?

目前我可以正确地绘制这个......但X-Asix上有0,2,4,6,8,10,12,而不是月份名称。

我在使用SSRS 2008 R2。

这就是我现在看到的

enter image description here

我只想在X轴上看到月份名称和年份。

1 个答案:

答案 0 :(得分:2)

也许更多问题细节会有用,但这里有一种方法可以处理您的数据:

enter image description here

我们面临的主要问题是通常日期是类别,但在这种情况下,它实际上是数据值,与类别组相比,这使我们对标签的控制较少。

首先,设置一个包含基于ProjectName的类别组的图表,以及一个数据表达式,如:

=DateSerial(Year(Fields!CompletionDate.Value), Month(Fields!CompletionDate.Value), 1)

即。每个CompletionDate值的第一个月,否则您的金条将在几个月之间。

enter image description here

接下来,我们需要整理X轴:

enter image description here

在我的示例中,我将最小设置为:

=DateAdd(DateInterval.Month
  , -1
  , DateSerial(Year(Min(Fields!CompletionDate.Value)), 1, 1))

即。去年十二月。将最高设置为:

=DateSerial(Year(Max(Fields!CompletionDate.Value)), 12, 31)

即。今年年底。

将Interval设置为1,将Interval Type设置为Months

将X轴格式化为MMM yyyy

看起来不错:

enter image description here

如果您实际上可以使用值 2013 或其他任何内容添加Year列,则几乎所有上述表达式都可以简化。例如,我忽略了MonthsThisYear,但如果您有Year列,则可以根据MonthsThisYearYear来构建月份值的开头。