【问题标题】:SSRS Expression Lookup and Max are not working togetherSSRS Expression Lookup 和 Max 没有一起工作
【发布时间】:2021-08-31 09:50:30
【问题描述】:
= MAX(LookupSet("SR Light Naphtha",Fields!DISPLAY_NAME.Value, Fields!Max.Value, "LIMS_VALUES"))

在我部署报告后报告 UI 出现错误。

下面是返回值的数据集。我需要得到 MIN(Min) 和 MAX(MAX)。

使用下面的数据集,最大值的结果应该是 120。但它在报告 UI 上显示错误。

【问题讨论】:

    标签: sql-server reporting-services expression lookup


    【解决方案1】:

    lookupset 函数返回一个对象,其中包含查找找到的所有值。由于max 函数需要一列值,而你给它一个对象,这意味着你试图用max 做一些max 实际上无法做到的事情。

    要查找lookupset 中返回的所有值中的max,您需要在报告中添加一些自定义代码,然后将lookupset 的结果传递给该自定义代码。

    在自定义代码中,为每个循环编写一个循环,遍历lookupset 的值并保留最大的值,输出循环结束时留下的任何值。该值将是您所追求的最大值。

    This documentation from Microsoft shows how to write your Custom Code to loop through the results of a lookupset, albeit to output HTML. You should be able to pretty readily replace the innards of that function to return the min, max or other aggregates like a sum for your own requirements.

    【讨论】:

      【解决方案2】:

      由于您的搜索值是硬编码的,因此您可以在具有 IIF 的数据集上使用 MAX:

      = MAX(IIF(Fields!DISPLAY_NAME.Value = "SR Light Naphtha", Fields!Max.Value, NOTHING) "LIMS_VALUES")
      
      
      = MIN(IIF(Fields!DISPLAY_NAME.Value = "SR Light Naphtha", Fields!Min.Value, NOTHING) "LIMS_VALUES")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-06
        • 2020-05-31
        • 1970-01-01
        • 2014-09-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多