#ERROR帮助,SSRS报告生成器,IIF w / LOOKUPSET

时间:2018-05-21 17:28:45

标签: reporting-services lookup iif

我试图以%'s的形式比较2行数据。我生成并"#Error"

=IIF(Fields!Grade.Value = "ONGRADE" > LookupSet(Fields!Grade.Value = "ONGRADE", Fields!grade.Value = "ONGRADE", Fields!grade.Value = "ONGRADE", "Previous3Week"), "UP" ,"DOWN") 

有两个DataSet。

1 个答案:

答案 0 :(得分:1)

您错误地使用 IIF 。 IIF仅查看比较并返回第一个值(如果为TRUE)和第二个值(如果为假)。

=IIF(1 = 2, True, False)

其中读为

  

如果1 = 2则返回TRUE,否则返回False

您还错误地使用 LookUpSet 。第一个LookUpSet参数是您要比较的当前数据集字段,第二个参数是您想要比较的第一个字段 - 因为您使用相同的数据集,它们可能是相同的。第三个LookUpSet参数是您要返回的字段(您知道ONGRADE字段,您想要返回什么值?)。

如果Grade = ONGRADE>您的表达式将显示LookupSet(等等等等)......

您要比较的值字段是什么?假设它是Fields!GRADE_VALUE.Value,你的IIF可能就像

=IIF(Fields!Grade.Value = "ONGRADE", 
    IIF(Fields!GRADE_VALUE.Value > 
        LookupSet(Fields!Grade.Value, Fields!grade.Value, Fields!GRADE_VALUE.Value", "Previous3Week"), 
        "UP" ,
        "DOWN"),
"Not ONGRADE")

如果你想要比较所有GRADE类型(不仅仅是ONGRADE),它会更简单:

=IIF(GRADE_VALUE > LookupSet(Fields!Grade.Value, 
                Fields!grade.Value, 
                    Fields!GRADE_VALUE.Value, 
                        "Previous3Week")
    , "UP" 
    ,"DOWN")