SSRS时间线,按时间顺序排列

时间:2011-07-21 21:06:29

标签: reporting-services reportbuilder

我正在构建一个基本上是时间线的报告,表明一天中的不同状态 例如,假设我有这个数据

TIME                    |  STATUS
________________________|________   
2011-07-21 11:04:00.000 | Working
2011-07-21 11:05:00.000 | Working
2011-07-21 11:06:00.000 | Working   
2011-07-21 11:07:00.000 | Resting   
2011-07-21 11:08:00.000 | Resting
....    
2011-07-21 12:00:00.000 | Resting   
2011-07-21 12:01:00.000 | Working   
2011-07-21 12:02:00.000 | Working   
...

我想生成一种类似按时间顺序排列的水平条形图 像这样的东西

enter image description here

绿色工作时间和红色休息时间=)

我正在使用报告构建器,我现在不去哪里

我尝试使用条形图,但它倾向于“累积”状态,出现一个大绿色条,然后,其余的,一个大红条......

任何提示从哪里开始?

韩国社交协会

2 个答案:

答案 0 :(得分:4)

我知道这个帖子已经过时了,但是当我努力构建这个确切的报告时,我遇到了它。我成功了,很好。

使用范围条形图。

在数据系列中,将Top值设置为EndDate或(Duration + StartDate),将Low值设置为StartDate。单击Fill并指定并使用上面的Kevin Fisher的SWITCH示例作为填充颜色。

获取所请求外观的关键是通过系列属性窗口。在CustomAttributes下,设置DrawSideBySide = False。

以下链接提供了一些甘特风格的示例,可能有助于进行其他调整。

http://pnarayanaswamy.blogspot.com/2010/09/range-bar-chart-gantt-chart-using-ssrs.html

http://thinkepm.blogspot.com/2012/05/creating-portfolio-timeline-using-ssrs.html

希望这有助于那里的人,肯定缺乏这方面的例子。

答案 1 :(得分:0)

最简单的方法可能是单个系列区域图表,Y值静态设置(例如,1)。将X值设置为时间字段。在系列属性中,您可以将填充颜色设置为表达式:

=SWITCH(Fields!Status.Value = "Working", "Green", Fields!Status.Value = "Resting", "Red")

这应该给你一个恒定的高度条,根据状态值改变颜色。调整轴并调整格式,你就在那里!唯一的麻烦可能是你现在拥有它的边界,但它可能是......

希望这会有所帮助。如果你有任何问题,请告诉我。