我的数据集中有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
,就像错误的结果一样。
请让我知道如何解决此问题。
答案 0 :(得分:0)
如果需要将其用作表达式,则正确的表达式应为:
subs = subs.replaceAll("[\\u202F\\u00A0]", "");
但是我建议您只使用一个矩阵,将其拖放到行=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()
。
答案 1 :(得分:0)
SSRS错误消息不是很有意义,因此要解决此问题,请依次测试表达式的每个部分。用
创建一列=IIF(Fields!Category.Value = "A" ,1, 0)
另一个与
=IIF(Fields!Month.Value = "Jan", 1, 0)
另一个与
=IIF(1=1,Fields!Amount.Value, 0)
当您知道表达式的哪一部分失败时,我们会建议可能的解决方案。要尝试的一件事是转换数据类型,例如
=sum(IIF(cstr(Fields!Category.Value) = "A" And cstr(Fields!Month.Value) = "Jan", Fields!Amount.Value, cint(0)))