QLikView使用聚合w.r.t计算维度。数据透视表中的其他维度

时间:2014-07-18 09:28:46

标签: excel algorithm aggregate-functions pivot-table qlikview

在数据透视表中,我有一个带有复杂表达式的计算维度:

pick(1+match(IF([Corporate Account]='OTHER','[Sales Account]', 
'[Corporate Account]'),...,...,...),...,...,...,...)

在另一个方面,我想对第一个方面的revenu求和。更确切地说,我希望这个新的计算维度的价值为'A'或'B',具体取决于与第一个字段相关的总收入。

到目前为止,我想出了

=AGGR( IF(Sum(Revenue)>10,'A','B'),
$(=pick(1+match(IF([Corporate Account]='OTHER','[Sales Account]', 
'[Corporate Account]'),...,...,...),...,...,...,...)))

这是不正确的(对于所有行,输出为Null())。

您是否知道什么是正确的语法?

非常感谢提前

1 个答案:

答案 0 :(得分:1)

如果没有看到完整的维度表达式,那么诊断问题并不容易,但是,我尝试重新创建表达式:

=aggr(if(sum(Revenue)>10,'A','B'),
$(=pick(match(IF([Corporate Account]='OTHER','[Sales Account]', '[Corporate Account]'),
'[Corporate Account]', '[Sales Account]'),'[Sales Account]', '[Corporate Account]')))

我注意到,如果我将pick()条目中的维度放在引号中,那么表达式的评估很好,因为pick()会返回一个引用值,例如'[Sales Account]'然后由$()评估为[Sales Account],因此成为aggr()可用作汇总维度的“真实”维度。

如果这不起作用,请加上你的完整表达吗?