reporting-services - 根据数值显示月份名称

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

现在项目 A 的条形必须为 5 个单位长,项目 B 为 7 个单位长,项目 C 的条形应为 10 个单位长。

这样人们就可以看到项目A于5月完成,项目B于7月完成,项目C于10月完成。

如何绘制该图?

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

我使用的是 SSRS 2008 R2。

这就是我现在看到的

enter image description here

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

最佳答案

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

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))

即去年12月。将最大值设置为:

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

即年底了。

将间隔设置为 1,并将间隔类型设置为

将 X 轴格式设置为 MMM yyyy

看起来不错:

enter image description here

如果您实际上可以添加一个值为 2013 或其他值的 Year 列,那么几乎上面所有的表达式都可以被简化。例如,我忽略了 MonthsThisYear,但如果您有一个 Year 列,您可以根据 MonthsThisYear 构建月份的开始值,并且年份

关于reporting-services - 根据数值显示月份名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19259066/

相关文章:

reporting-services - 如何将下拉列表值填充到 ssrs 报告的文本框中

sql - SQL Server 2005 Reporting Services 中的自定义字体

.net - 无法将 Reporting Services 项目升级到 Visual Studio 2019

reporting-services - 更改 boolean 参数的标签 "True"和 "False"

sql-server - 如何使用 SSRS 处理审核日志记录?

reporting-services - rsErrorLoadingCodeModule : what are the steps to deploy an assembly for use with Report Builder 2. 0?

dynamic - 在 SSRS 中如何动态更改文本框宽度?

sql - ReportViewer 条形图,条形宽度不正确

reporting-services - SSRS 行合并

reporting-services - 在 SSRS 中使用前导零格式化整数