有关于SSRS的问题。使用2005版。
我的报告中有2个表,一个包含当前月数据,另一个包含过去3个月的数据。
最近3个月的表总是返回3行,每个月1行。我想要做的是从第二个最早的月份中减去一个值,基本上它将始终是表格的第2行,当前月份表中的等效列。希望这是有道理的。
我将在这里使用一个例子;
表1
月值Var
8月5日?
表2
月值
7月4日
6月7日
5月10日
我想使用表1中的值并减去表2中6月列的值,因此5 - 7,返回值-2。
有一个月参数,因此Tables数据会根据月份而改变,但它总是我想要使用的第二行Value列。
这在SSRS中是否可行?
由于
答案 0 :(得分:1)
方法1: 最好在SQL(数据集)中然后在报表设计中解决这个问题。
如果数据来自两个不同的表,那么
Select C.Month, C.Value, (C.Value - L.Value) AS Var
From CurrentMonthData C
Left JOIN (Select * Last3MonthData where Month = CurrentMonth - 2) L
ON 1=1
如果数据来自同一个表
Select C.Month, C.Value, (C.Value - L.Value) AS Var
From (Select * MonthData Where Month = @CurrentMonth) C
Left JOIN (Select * MonthData where Month = @CurrentMonth - 2) L
ON 1=1
方法2: 如果您希望在Report Thisself中执行此操作,则可以使用ReportItems集合。
在方差文本框中输入值
=ReportItems!CurrentMonthValueTextBox.Value - ReportItems!Prev2MonthValueTextBox.Value
HTH。
答案 1 :(得分:0)
您可以尝试使用LookupSet或MultilookupSet