EVALUATE 语句中指定的表达式不是有效的 table 表达式

The expression specified in the EVALUATE statement is not a valid table expression

我正在 Visual Studio 中处理表格立方体。 我在多维数据集中有一个工作正常的 DAX 公式:

SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount])

当我在 SSMS 中 运行 时:

evaluate(
    SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount])
)

失败并出现以下错误:

Query (1, 1) The expression specified in the EVALUATE statement is not a valid table expression.

我有两个其他公式都可以正常工作:

evaluate(factFHA)

evaluate(filter('factFHA', [EventCd] = "D"))

我不知道 SUMXFILTER

有什么问题

请指教。谢谢。

EVALUATE function only works if you pass a table or an expression that returns a table, you are passing a SUMX 函数其中 return 一个标量值(十进制)。

使用 DAX 编写查询的语法如下:

[DEFINE {  MEASURE <tableName>[<name>] = <expression> } -> Define a session (optional) measure
EVALUATE <table>  --> Generate a table using your measures or creating calculated columns
[ORDER BY {<expression> [{ASC | DESC}]}[, …] --> Order the returned table by a passed column or expression 
[START AT {<value>|<parameter>} [, …]]] --> This is an ORDER BY Sub-clause to define from which the query results will start.

定义您的度量,然后使用然后在 EVALUATE 子句中使用它,使用计算结果为 table.

的表达式
DEFINE
MEASURE factFHA[MyMeasure] =
    SUMX ( FILTER ( factFHA, factFHA[EventCd] = "D" ), [LoanCount] )
EVALUATE
( SUMMARIZE ( FILTER ( factFHA, factFHA[EventCd] = "D" ), factFHA[AnyColumnToGroup]
              , "Sum of MyMeasure", SUM ( factFHA[MyMeasure] ) ) )

如果有帮助请告诉我。