Reporting Services - 同一图表类别组中的两个过滤器?

时间:2014-01-09 17:43:38

标签: sql reporting-services charts

我有我希望在我的图表上绘制的销售数据。但是,在特定时间点,我们发生了一个变化,我希望确保在图表中清晰可见,最好将销售数据(存储在单个SQL Server列中)分成两个不同的块,这将允许我将它们视为不同的数据系列。

我曾经在Excel中通过将事后数据存储在不同的列中(通过简单地将它们拖动到不同的列)来解决这个问题,因此我能够将它们视为不同的系列(蓝色和绿色线)在下面的图表中。红色和橙色线是事件前和事后平均值):

enter image description here

我想在SSRS中重现这种效果,但我不确定如何解决它。我尝试过使用一种方法,我添加了两个类别组,都指向日期时间列,并对它们应用过滤器(一个<=截止日期,另一个>=)。

然后我将我的销售数据添加了两次,我的想法可以将它们连接到各个类别组,但这似乎不可能。

有没有人曾经尝试过这样的事情,或者会有不同的方法来实现我想要的目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

我设法让这个工作,并想我会分享如何做到这一点。

我的数据集包含一个名为DATEKEY的字段,该字段以YYYYMMDD格式存储日期。可以在表达式中使用它并评估特定行的日期。如果表达式的计算结果为true,则显示该值。如果没有,我们会显示一个空白字符串。

如果我们想要在日期之前显示值,则表达式为:

=IIF(Fields!DATEKEY.Value <= 20130601, Avg(Fields!My_NUMBER.Value), "")

然后可以通过反转符号来制作第二个系列:

=IIF(Fields!DATEKEY.Value >= 20130601, Avg(Fields!My_NUMBER.Value), "")

图表看起来像这样:

enter image description here