我写了一个表达式,以找出供应商为那些利益排名前十的人花费的总和。
Sum(if([H4 Benefit by Vendor] > Max([H4 Benefit by Vendor],11), [Spend by Vendor],0))/sum([Spend by Vendor])
但是,这个表达式不起作用。
我试着把这个表达式分成两个,然后进行测试。(将Max()部分替换为0)
他们独立工作很好。但是,当组合在一起时,它无法工作。
请问有什么方法把这两者结合起来吗?
发布于 2017-01-11 08:14:51
问题是将聚合值与行值进行比较--您不能直接这样做,但是根据这个线程有几个选项。
我这样做的方法是在load脚本上设置一个变量
Temp:
load
max([H4 Benefit by Vendor]) as maxB
resident TABLENAME;
LET vBenefitMax = peek('maxB');
drop table Temp;
然后在您的If
语句中引用这一点。
Sum(if([H4 Benefit by Vendor] > vBenefitMax, [Spend by Vendor],0))
/ sum([Spend by Vendor])
https://stackoverflow.com/questions/41581181
复制相似问题