【问题标题】:Set conditional formatting in SSRS based on value from second dataset根据第二个数据集的值在 SSRS 中设置条件格式
【发布时间】:2015-05-18 19:24:32
【问题描述】:

尝试根据报告中来自不同数据集的第二个字段的值向我的 SSRS 报告中的一个字段添加条件格式表达式。

我正在使用以下表达式,但它不起作用。关于如何使这项工作的任何想法? SSRS 是否允许您通过比较来自不同数据集的字段来添加条件格式?

=iif((Fields!Pay_Hist.Value,"Volumes") = (Fields!UNMGD_PMTS.Value, "Rows"),"Green","Red")

【问题讨论】:

    标签: ssrs-2008-r2


    【解决方案1】:

    问题很可能是您没有比较单个值。 VolumesRows 都会有多个结果,但其中一个(属于当前 tablix/table 等的那个)可能已分组,因此您可以比较该值。但是另一个数据集没有分组集,因此返回多个无法比较的值。

    在比较之前尝试添加一个聚合函数

    =iif((Fields!Pay_Hist.Value,"Volumes") = First(Fields!UNMGD_PMTS.Value, "Rows"),"Green","Red")
    

    或者,尝试将不属于当前 tablix 的值写入文本框,并在您的表达式中与文本框进行比较...

    【讨论】:

    • 谢谢 trubs。每个数据集包含一行。我根据您的建议更新了表达式,现在错误消息指出函数“first”的参数数量不正确。
    • 抱歉,括号弄错了(现已更正)。这只是为了让您了解使用聚合函数从多行变为单行(即使数据集中只有一行),您可能需要包装 iif 的第一部分() 在 First() 中呢?无论如何,您可以添加一列来临时显示每个值,以确定实际测试的相等性...
    • 根据您的建议做了一个小修改,现在可以使用了。下面是最终表达式: =iif(First(Fields!Pay_Hist.Value, "Volumes")=(First(Fields!UNMGD_PMTS.Value, "Rows")),"Lime","Red") 再次感谢 trubs。
    猜你喜欢
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多