我有这些专栏:
产品,价格,日期
我还创建了一个“等级”-Rank([Product])-列,为每个元素分配一个ID。
我要计算的列是同一日期两种产品之间的价格差。
假设我要计算苹果和香蕉之间的差异,其中苹果排名为1,香蕉排名为2。
我发现这个表情
First([Price]) OVER (Intersect([Date], FirstNode([Rank]))) - First([Price]) OVER (Intersect([Date], Next(FirstNode([Rank]))))
我能够达到预期的结果,但是当我尝试将这样的表达式放入IF / Case语句中时,
If([Product]='Apples', First([Price]) OVER (Intersect([Date], FirstNode([Rank]))) - First([Price]) OVER (Intersect([Date], Next(FirstNode([Rank])))), null)
我只有一个空白列,我不知道为什么。 有人可以向我解释一下还是建议其他方法来获得相同的结果?实际上,我找到的唯一解决方案是为苹果的价格计算一个列,为香蕉的价格计算一个列,只有这样,我才能在If语句中计算这些值之间的差,但是为了得到1而做3个计算的列不是我所要做的想要。