Dax - 计算列中变量的语法错误

Dax - Syntax error for variable in Calculated Column

我正忙于学习如何在 PowerPivot 的 DAX 公式中使用变量 Excel 2013。

将此公式放入计算列时

=
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 示例工作簿。

Power Pivot for Excel 2013 不支持 DAX 变量。此功能在 Power Pivot for Excel 2016 和 Power BI Desktop 中可用。

您可以重写这个特定的计算列以使用 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