Cognos Analytics 11.1.x中Case When多条件置零问题技术求助
Cognos 11.1.x列表报表数值置零问题解决
思路可行性确认
你的思路完全可行:通过计算字段[SUMTEMPBUDG_SALES_REV_5]判断是否存在第5级收入账户(非0即代表存在),以此作为触发置零的前置条件,这个逻辑是通顺的。
当前表达式的问题
你当前的Case When表达式里多了一个冗余的AND ([ACCOUNT_TYPE_LEVEL_1] IN ('50'))条件,这直接限制了只有账户类型为'50'的行才会被置零,所以'60'、'70'、'80'的行无法触发置零逻辑。
正确的Case When表达式
修正后的表达式将账户类型的判断合并为一个范围,同时保留前置判断条件:
case when ([SUMTEMPBUDG_SALES_REV_5] <> 0) AND ([ACCOUNT_TYPE_LEVEL_1] IN ('50', '60', '70', '80')) then 0 else coalesce([SUM_TEMPORARY_BUDGET], 0) end
逻辑说明
- 当
[SUMTEMPBUDG_SALES_REV_5]不为0(即存在第5级收入账户),且当前行账户类型属于'50'、'60'、'70'、'80'中的任意一种时,返回0 - 其他情况返回
[SUM_TEMPORARY_BUDGET]的数值,空值则替换为0
内容的提问来源于stack exchange,提问作者grasshopper
相关产品推荐
相关产品推荐

