【问题标题】:Cognos equivalent of Excel Sumif() function without a static variable没有静态变量的 Excel Sumif() 函数的 Cognos 等效项
【发布时间】:2015-03-25 02:42:02
【问题描述】:

这是我发现的以下示例,它确实可以用作 sumif 函数。

总计(
案例
当 [免费标志] = 'FALSE'
然后 [总保证金]
否则为空
结束
[商品代码])

我的问题是如何替换“FALSE”部分并让表达式反映该特定行的 [免费标志]。因此,随着报告的建立,每一行中的总数可能会从该项目代码的总数和免费标志为 false 切换为 true,具体取决于特定行中的内容。

这无法运行,我相信这可能是不可能的。

【问题讨论】:

    标签: cognos sumifs cognos-10 cognos-8


    【解决方案1】:

    您将 [Item Code] 作为您要汇总到的列,但您可以汇总到多个列。

    试试这个:

    total([Total Margin] for [Item Code],[free of charge flag])
    

    这将汇总 [项目代码] 和 [免费标志] 的所有组合的度量。对于给定的 [项目代码] 'TRUE' 和 'FALSE' 行将有自己的值。

    此外,如果您不想在值为 'TRUE' 时显示总计,则可以将其包装在 CASE 语句中:

    CASE [free of charge flag]
    WHEN 'FALSE' THEN total([Total Margin] for [Item Code],[free of charge flag]) 
    ELSE NULL
    END
    

    所有带有“FALSE”的行都将显示该特定行的 [Item Code] 的总数,而所有其他行将显示为 NULL。

    【讨论】:

      【解决方案2】:

      我认为您可以将其导出为每一行的计算列:

      (
      case
      when [free of charge flag] = 'FALSE'
      then [Total Margin]
      else null
      end
      )
      

      然后把它加起来。

      【讨论】:

        猜你喜欢
        • 2015-01-03
        • 1970-01-01
        • 2018-07-10
        • 2016-01-28
        • 1970-01-01
        • 1970-01-01
        • 2016-04-27
        • 1970-01-01
        • 2018-09-04
        相关资源
        最近更新 更多