Dax – 计算列中的variables的语法错误

我忙于学习如何在PowerPivot for Excel 2013中使用DAX公式中的variables。

把这个公式放在一个计算列中

= VAR CurrentPrice = Product[Unit Price] RETURN COUNTROWS ( FILTER ( VALUES ( Product[Unit Price] ), Product[Unit Price] > CurrentPrice ) ) + 1 

我收到以下错误:

 The syntax for 'CurrentPrice' is incorrect. The calculated column 'Product[CalculatedColumn1]' contains a syntax error. Provide a valid formula. 

我无法弄清楚这个公式有什么问题。

我正在使用contoso.xlsx示例工作簿。

Excel 2013 Power Pivot不支持DAXvariables。 Power Pivot for Excel 2016和Power BI Desktop中提供了此function。

您可以重写这个特定的计算列以使用EARLIER():

 =COUNTROWS ( FILTER ( VALUES ( 'Product'[Unit Price] ), 'Product'[Unit Price] > EARLIER( 'Product'[Unit Price] ) ) ) + 1 

或者,你可以完全消除FILTER():

 =CALCULATE( DISTINCTCOUNT( 'Product'[Unit Price] ) ,ALL( 'Product' ) ,'Product'[Unit Price] > EARLIER( 'Product'[Unit Price] ) ) + 1