DAX - 如何基于两个变量创建两个输出

DAX - How to create two outputs based on two variables

我现在正在研究 DAX。 这是我的问题。 material 的定价文件使用标准成本 (S) 和平均成本 (V) 计算成本,但如果 material 定价类型是,我需要查看 material 的最新实际成本平均值 (V).

这可以通过简单的 if 语句来实现 =IF('Pricing_File'[购买 Price.Actual 成本]>'Pricing_File'[MovAvgPrice],'Pricing_File'[购买 Price.Actual 成本],'Pricing_File'[MovAvgPrice])

但是我想要的是一个DAX语句是这样的

如果 S(标准成本)则标准成本)- 如果 V 那么('Pricing_File'[采购 Price.Actual 成本]>'Pricing_File'[MovAvgPrice],'Pricing_File'[购买 Price.Actual 成本],'Pricing_File'[MovAvgPrice])

不确定我是否需要使用 &&

的计算或 If 函数

在此先感谢您的帮助

嘿,伙计们,我可以使用它,但有时它不起作用?

见下文

正在工作

而且不工作,有点奇怪

在 dax 中我们需要使用 CALCULATE if 必须在修改后的过滤器上下文中评估表达式。

如果您只想向数据添加另一列(计算列)table,可以这样做:

NewColumn = 
SWITCH(
    TRUE(),
    [Pricing Control] = "V" && [ActualCost] > [MovAvgPrice], [Actual Cost],
    [Pricing Contro] = "V", [MovAvgPrice],
    [Standard Cost]
)

前提是所有引用的列都在同一数据中 table。否则代码看起来会略有不同。这也可以在 Power Query 中完成,不过,同样,该代码看起来完全不同。