【问题标题】:SSRS Compare Row of values in two diffrent textboxes.SSRS 比较两个不同文本框中的值行。
【发布时间】:2018-05-24 01:10:09
【问题描述】:

我正在尝试从一个文本框中获取值并比较它们是否小于或大于彼此。 一个文本框是“OngradeTrend”,另一个是“OngradeTrendPrevious” 当我执行时,它返回“0”参见附图!

我尝试过: =IIF(ReportItems![OngradeTrend].Value < ReportItems![OngradeTrendPrevious].Value, "DOWN", IIF(ReportItems![OngradeTrend].Value > ReportItems![OngradeTrendPrevious].Value, "UP", 0))

Edit View

Result

谢谢。

【问题讨论】:

    标签: reporting-services textbox compare report


    【解决方案1】:

    您可能会感到困惑,因为您指定了两个字符串“down”和“up”,以及一个数字 0。尝试将零用引号括起来使其成为字符串:

    =IIF(ReportItems![OngradeTrend].Value < ReportItems![OngradeTrendPrevious].Value, "DOWN", IIF(ReportItems![OngradeTrend].Value > ReportItems![OngradeTrendPrevious].Value, "UP", "0"))
    

    您还可以使用 SWITCH 语句,最好使用默认值,以防您的其他选项失败(例如,如果您的测试字段之一为 NULL)。 SWITCH 没有“else”默认值,但您可以使用“true”来欺骗它,它的计算结果始终为“true”:

    =SWITCH(
        ReportItems![OngradeTrend].Value < ReportItems![OngradeTrendPrevious].Value, "DOWN",
        ReportItems![OngradeTrend].Value > ReportItems![OngradeTrendPrevious].Value, "UP",
        true, "0")
    

    【讨论】:

    • 嗯,我会将趋势字段更改为仅显示 [OngradeTrendPrevious] 值的值,这样您就可以确保它具有您期望的值。 [OngradeTrendPrevious] 是数字吗?似乎应该是 [OngradePrevious] - 没有“趋势” - 因为您应该比较这些值。这可能是将“down”与“down”进行比较。
    • 参考图片。 “OngradeTrend”和“OngradeTrendPrevious”只是文本框的标题。显示时是一行数据。
    • 当我尝试只输入“=ReportItems![OngradeTrendPrevious].Value”时,我得到空白作为回报。与“OngradeTrend”相同
    • 单击其中一个文本框,单击“属性”,然后检查文本框的名称。我怀疑虽然存储在其中的数据可能是 [OngradeTrend],但文本框名称类似于“TextBox55”。如果是这种情况,您需要重命名文本框或将公式更改为 TextBox55.Value。
    • 我将文本框名称更改为“OngradeTrend”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2023-03-23
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多