首页 > 解决方案 > SSRS - 根据其他 2 列的条件从数据集中的列中提取值

问题描述

我的数据集中有 3 列(类别、月份、金额),其值与以下类似:

Category   Month   Amount
A          Jan       20
A          Feb       25
A          Mar       10
R          Jan       15
R          Feb       50
R          Mar       55

关于我需要的报告:

    Jan   Feb   Mar
A   20    25    10
R   15    50    55

我尝试将此表达式放在每个组行列中,例如,在 Jan 列中,它将是:

=IIF(Fields!Category.Value = "A" and Fields!Month.Value = "Jan", Fields!Amount.Value, 0)

但我得到了结果0,比如错误的结果。

你能否让我知道如何解决这个问题。

标签: reporting-services

解决方案


如果你需要它作为表达式,正确的表达式是:

=Sum(IIF(Fields!Category.Value = "A" And Fields!Month.Value = "Jan", Fields!Amount.Value, 0))

但我建议您只使用矩阵,拖放到您的行 Fields!Category.Value组和列组Fields!Month.Value中。而行列组相交的地方也可以拖拽,Fields!Amount.Value因为矩阵中默认的聚合函数是Sum(). 这正是您所需要Sum(Fields!Amount.Value))的。


推荐阅读