Cognos相当于Excel Sumif()函数,没有静态变量

时间:2015-03-23 21:01:48

标签: cognos sumifs cognos-10 cognos-8

以下示例我发现它可以作为sumif函数使用。

总(
    情况
    当[免费标志] =' FALSE'
    然后[总保证金]
    否则为null     结束
[商品代码])

我的问题是如何取代“假”'部分并使表达式反映该特定行的[免费标志]。因此,当报告构建时,每行中的总数可以从该项目代码的总和从假的免费标志切换为真,具体取决于特定行中的内容。

这无法运行,我相信这可能无法实现。

2 个答案:

答案 0 :(得分:0)

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

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

然后就是那个。

答案 1 :(得分:0)

您有[项目代码]作为您要前往的列,但您可以累积到多列。

试试这个:

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'将显示该特定行的[项目代码]的总数,其他所有行将为NULL。