Reporting services SSRS中的IIF条件

Reporting services SSRS中的IIF条件,reporting-services,iif,Reporting Services,Iif,我试着根据SSR中的几个条件,使用IIF条件对金额求和 但它在执行报告时显示#错误,因为它是多值参数。 下面是我使用的示例查询: =IIF(Parameters!p_Colortypes.Value="-1" OR Parameters!p_Colortypes.Value = "2",SUM(Fields!amt.Value),""). 有人能给我建议基于多值参数值求和的逻辑吗 谢谢, Selvi.P我不能悲伤地评论,因为我没有足够的代表 艾伦的评论几乎概括了我的建议: 尝试将“”替换为0。

我试着根据SSR中的几个条件,使用IIF条件对金额求和

但它在执行报告时显示#错误,因为它是多值参数。 下面是我使用的示例查询:

=IIF(Parameters!p_Colortypes.Value="-1" OR Parameters!p_Colortypes.Value = "2",SUM(Fields!amt.Value),"").
有人能给我建议基于多值参数值求和的逻辑吗

谢谢,
Selvi.P

我不能悲伤地评论,因为我没有足够的代表

艾伦的评论几乎概括了我的建议:

尝试将“”替换为0。在与文本进行比较时,请检查参数类型是否为文本,如果是整数,请删除“-1”和“2”中的引号

IIF语句需要为逻辑中的每个潜在结果使用相同的数据类型,因为结果集中的每一行都需要相同的数据类型(很像T-SQL中的case语句)

然而,我想补充一点,如果它不起作用,你可以尝试将总额转移到国际投资基金之外:

=SUM(IIF(Parameters!p_Colortypes.Value=-1 OR Parameters!p_Colortypes.Value = 2,Fields!amt.Value,0))
我随意使用了代码,并假设您使用的是数值

有关此帖子的更多信息可能会有所帮助:


如果不符合条件,则尝试求和并清空字符串。尝试用
0
替换
,同时在与文本进行比较时检查参数类型是否为文本,如果是整数,请从
“-1”
“2”
中删除引号底部的错误列表中是否有消息?我没有看到任何会导致错误的东西。数量是一个数值吗?其他用户将您的问题标记为低质量和需要改进。我对您的输入进行了重新措辞/格式化,使其更易于阅读/理解。请查看我的更改,以确保它们反映您的意图。但我认为你的问题仍然无法回答。您现在应该回答您的问题,以添加缺少的详细信息(请参阅)。如果你有进一步的问题或反馈给我,请随时给我留言。嗨,艾伦,我试着不引用任何话。那没用。我将检查是否将“”替换为0,然后告诉您。感谢Shannover Fist,没有错误消息#结果集中返回错误。谢谢,谢谢你,约翰。我在查询中发现了问题。我们使用的逻辑非常完美。问题是param是多值参数。所以如果我选择一个以上的值,它不是求和。例如,我需要红色的总量。我在颜色参数选择中选择红色和橙色。现在它应该只显示红色的总金额,而显示#error Msg。选择红色就可以解决这个问题。你能给我一个解决这个问题的建议吗。感谢深入研究后,似乎对于调用IIF时的多值参数,您必须在数组中指定要在.value结尾使用(X)的值(其中X是参数数组中第一个0的项,第二个1的项等):=SUM(IIF(参数!multi1.value(0)=-1或参数!multi2.value(0)=2,1,0)可能有其他人可以帮助的更好的方法,但真正低效的方法是使用嵌套的ifs或其他逻辑循环遍历参数数组中的每个项,但我不禁觉得,如果你向下滚动到多值函数,这里的一些函数可能会有更好的帮助:感谢漫画约翰为解决这个问题所做的努力。您建议的方法都很好。使用字段而不是参数解决问题。比如,IIF(Fields!colors.value=“Red”,总和(amt),0)。