SSRS 14 - 矩阵列 - 获取月份= MAX(月)

时间:2018-01-31 15:50:15

标签: sql-server matrix reporting-services

我有一张Matrix来显示这几个月的价值。但是最后一栏我想在本月和上个月之间展示Varianve。我是这个数据集(月份):

Servername  Month   Year    Reference   Value   Previous_Value
SV1            8    2017       80        11          Null
SV1            9    2017       80        13           11
SV1           10    2017       80        18           13
SV1           11    2017       80        21           18
SV1           12    2017       80        12           21
SV1            1    2018       80        18           12

基本上,我想构建一个表达式,允许我从MAX(月)和MAX(年)中获取值。我试试这个:

=IIF(Fields!Month.Value = max(Fields!Month.Value, "Months") and Fields!Year.Value = max(Fields!Year.Value, "Months"),Fields!Previous_Value.Value,0)

但是当我运行报告时,我的所有机器都得到0 ......我的最终矩阵是:

**Servername    8   9   10  11  12  1   Previous_Value**
      SV1       11  13  18  21  12  18       12

我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:0)

你的表达式是说如果Month = MAX(Fields!Month.Value)是12而Year = Max(Fields!Year.Value)是2018,那么显示Previous_Value。

由于你的行没有匹配,所以它不起作用。

我没有对此进行测试,但尝试汇总月份和年份并与之进行比较。通过添加新列

,在SQL中更容易做到这一点
SELECT *, ([Year] *100) + [Month] as YearMonthKey  FROM myTable

现在,您的表达式可以针对YearMonthKey

检查MAX(Fields!YearMonthKey.Value)