我正在尝试创建看起来应该是一个非常简单的矩阵报告,我希望有人可以提供帮助。我有返回销售区域,日期和销售额的数据集。要求是将各个时间段的销售额与当前日期进行比较。我希望我的矩阵看起来像这样:
CurrentSales Date2Sales CurrentVSDate2 Date3Sales CurrentVSDate3
1 1000 1500 -500 800 200 2 1200 1000 200 900 300 3 1500 1100 400 1400 100
我可以从一列到下一列获得差异,但我需要所有列来引用CurrentSales列。任何帮助将不胜感激。
目前,我的数据集包含了日期,地区,产品和销售额。然后我有三个参数,CurrentDate,PreviousMonth,PreviousQuarter。区域和产品是我的行组,日期是列组。接下来,我在组中添加了一个列,其中包含以下表达式:=Sum(Fields!SalesAmount.Value)-Previous(Sum(Fields!SalesAmount.Value),"BookingDate").
我知道这不正确,因为它将值与列组中的上一个日期进行比较,我需要比较到第一个日期列组。
答案 0 :(得分:1)
示例:
使用表达式,您可以:
= iif(Sum(Fields!SalesAmount.Value)= Previous(Sum(Fields!Date2Sales.Value)),
= iif(Sum(Fields!EndBalance.Value)= 0,Nothing,Sum(Fields!EndBalance.Value))你也可以使用Switch。
答案 1 :(得分:0)
获得此结果的最简单方法可能是在您的查询中。为返回的每一行添加一个字段,可能称为“当前销售额”。在那里使用相关子查询来获得正确的比较值。然后,您的比较可以像=Fields!Sales.Value - Fields!CurrentSales.Value
或类似的那样简单。
在报告级别有一些方法可以做到这一点,但它们更令人痛苦:我目前最喜欢的是使用嵌入在报告中的自定义代码。另一种方法是使用聚合聚合。