【问题标题】:SSRS: Expression with IIF in Join throws errorSSRS:在 Join 中使用 IIF 的表达式会引发错误
【发布时间】:2015-03-18 10:46:52
【问题描述】:

我有一个具有以下表达式的字段:

=join(iif(Parameters!FUP_Letter.Value = 1, "Yes", "No"), ", ")

加载报告时,该字段仅显示 '#Error' 而不是 'Yes, No''Yes' 或 '没有'

当我从这个表达式中删除 IIF 子句时,结果只是 '1, 0''1''0'

由于我还是 SSRS 的新手,我真的不知道我做错了什么或如何找出我做错了什么,所以如果有人能告诉我错误或帮助我,我将非常感激。

亲切的问候

【问题讨论】:

    标签: reporting-services ssrs-expression


    【解决方案1】:

    我怀疑该错误是由于您试图将一个值连接为空而引起的。 IIF 函数不是递归的,因此它将返回您返回的第一个值,因此在上述情况下,它将在评估 1 并返回 yes 后退出。然后 join 函数尝试将“yes”加入任何内容,从而导致错误。

    你可以这样做:

    =Join(Replace(Replace(Parameters!FUP_Letter.Value,"1","Yes"),"0","No"), ",")
    

    实际使用:

    =Replace(Replace(join(Parameters!FUP_Letter.Value, ", "),"1","Yes"),"0","No")
    

    【讨论】:

    • 你是怎么处理这个@Gravinco的?
    • 嘿@Matt 抱歉耽搁了,但我的主管希望我做其他事情,所以我还不能测试它。我刚接触它。您的线路不起作用,但我将替换功能放在联接之外,现在它起作用了! :) 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2019-11-10
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多