我正在DAX中尝试一些非常简单的事情:
[Balance] := 'Inventory'[Inventory Amount]*10
我得到“当前上下文中不存在列”错误。这是什么意思?
答案 0 :(得分:0)
您收到此错误是因为它期待汇总。您正在创建一个计算的度量,但引用一行,并且它没有该行的上下文。我不确定你想要达到的目标。如果您需要在行级别计算事物,则需要使用SUMX(或者您需要创建一个计算列,该列将Inventory Amount列乘以10然后将其SUM。否则,您可以使用SUM只有一个计算。
如果您只需要在查询上下文中的每一行添加所有库存量,然后乘以10,就可以
Balance:= SUM('Inventory'[Inventory Amount])
如果您的倍数不会总是10,我建议将该公式放在单独的计算列中(让我们称之为'库存[因子]。然后创建计算如下:
Balance:= SUMX('Inventory', 'Inventory'[Inventory Amount] * 'Inventory'[Factor])
这两者之间的区别在于SUM将首先进行聚合。 SUMX将首先执行行级计算,然后进行聚合。由于我不知道你要做什么,我给了你两个选择。 SUMX可能会慢一点,所以你可能想避免这种情况。
Here是关于此主题的相关博文。一般情况下,在尝试通过DAX找到路时,请查看PowerPivotPro.com和DaxPatterns.com。