在数据透视表中,我有一个具有复杂表达式的计算维度:
pick(1+match(IF([Corporate Account]='OTHER','[Sales Account]',
'[Corporate Account]'),...,...,...),...,...,...,...)
在另一个维度中,我想对第一个维度的收入求和。更准确地说,我希望这个新计算维度的值是“A”或“B”,具体取决于第一个字段的总收入。
到目前为止,我想到了
=AGGR( IF(Sum(Revenue)>10,'A','B'),
$(=pick(1+match(IF([Corporate Account]='OTHER','[Sales Account]',
'[Corporate Account]'),...,...,...),...,...,...,...)))
这是不正确的(对于所有行,输出都是 Null())。
您知道什么是正确的语法吗?
提前致谢
最佳答案
在没有看到您的完整维度表达式的情况下,诊断问题并不容易,但是,我尝试重新创建您的表达式:
=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()
可以用作聚合维度。
如果这不起作用,请添加完整的表达方式好吗?
关于excel - QLikView 计算维度与聚合 w.r.t.数据透视表中的其他维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24821624/