如何在Powerpivot中使用Calculate()作为if函数的替代方法

时间:2018-04-18 13:47:08

标签: dax powerpivot

我的问题是这个。我在Excel中创建了一个IF公式 - 工作正常。但是,当我尝试将此公式用作PowerPivot中的计算列时,出现错误消息。显然是因为它的数量。所以基本上我需要创建它作为一种衡量标准。我估计我需要一个CALCULATE()函数,但只需要几个关于从哪里开始的指针。我知道我必须在其中引用表名而不仅仅是列名。

IF(OR([Deferred %]=1,[Deferred %]=0, [In Contract Date]="NO"),
    0,
    IF([S&M  Contract Start date]=[Revenue Date],
        ([Amount]*(1-[Deferred %])+[Amount]/[Revenue Days]),
        ([Deferred %]*[Amount])/[Revenue Days]),0)

感谢。

1 个答案:

答案 0 :(得分:1)

这是因为在功率枢轴计算语言DAX中,ORAND函数只接受两个输入,不像excel允许多个输入。

解决这个问题的一个简单方法如下:

OR(OR([Deferred %]=1,[Deferred %]=0), [In Contract Date]="NO")

另一个选项是使用||,用于或。 这取代了你的条件,

[Deferred %]=1 || [Deferred %]=0 || [In Contract Date]="NO"