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

Powerbi DAX-如何基于两个变量创建两个输出,powerbi,dax,powerpivot,Powerbi,Dax,Powerpivot,我现在正想着DAX。 这是我的问题。材料的定价文件使用标准成本(S)和平均成本(V)计算成本,但如果材料定价类型为平均(V),我需要查看材料的最新实际成本 这可以通过一个简单的if语句=if('Pricing_File'[Purchase Price.Actual Cost]>'Pricing_File'[MovAvgPrice]、'Pricing_File'[Purchase Price.Actual Cost]、'Pricing_File'[MovAvgPrice])实现 但我想要的是DAX

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

这可以通过一个简单的if语句=if('Pricing_File'[Purchase Price.Actual Cost]>'Pricing_File'[MovAvgPrice]、'Pricing_File'[Purchase Price.Actual Cost]、'Pricing_File'[MovAvgPrice])实现

但我想要的是DAX语句这是

如果是S(标准成本),那么是标准成本)-如果是V,那么('Pricing_File'[Purchase Price.Actual cost]>'Pricing_File'[MovAvgPrice],'Pricing_File'[Purchase Price.Actual cost],'Pricing_File'[MovAvgPrice],'Pricing_File'[MovAvgPrice])

不确定是否需要使用calculate或函数&&

提前谢谢你的帮助

嘿,伙计们,我让它工作,但有时它不工作

见下文

工作

而且不工作,这有点奇怪


在dax中,如果
表达式必须在修改过的筛选器上下文中求值。

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

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

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

Hi Oscar我让代码正常工作,但替换了;谢谢你的帮助是的,对不起。它曾经是一个语言设置的东西(如果你使用;或者,),但在新版本的PBI中,它似乎是前者-用户现在也使用,但是,我们的IT dep更新版本有点慢,所以我们仍在运行2019年4月的版本…嗨,奥斯卡,我对代码有点问题。有时有效,有时无效,好吧,这有点模糊。什么情况下它不起作用?所有列的格式是否正确?柱上所有的计量器具都正确吗?当代码不工作时,行的模式是什么?