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

Ssas EVALUATE语句中指定的表达式不是有效的表表达式,ssas,dax,ssas-tabular,Ssas,Dax,Ssas Tabular,我正在Visual Studio中处理一个表格立方体。 我在多维数据集中有一个DAX公式,可以很好地工作: SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount]) 当我在SSMS中以以下方式运行它时: evaluate( SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount]) ) 它失败,出现以下错误: 查询(1,1)EVALUATE语句中指定的表达式不是有效的表表达式

我正在Visual Studio中处理一个表格立方体。 我在多维数据集中有一个DAX公式,可以很好地工作:

SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount])
当我在SSMS中以以下方式运行它时:

evaluate(
    SUMX(FILTER(factFHA, factFHA[EventCd]="D"), [LoanCount])
)
它失败,出现以下错误:

查询(1,1)EVALUATE语句中指定的表达式不是有效的表表达式

我还有另外两个公式都很好:

evaluate(factFHA)

evaluate(filter('factFHA', [EventCd] = "D"))
我无法找出
过滤器的
SUMX
有什么问题

请告知。谢谢。

函数仅在传递一个表或一个返回表的表达式时有效,而传递的是一个返回标量值(十进制)的函数

使用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.

如果这有帮助,请告诉我。

这对我有帮助。除了我需要Summary中最后一个参数的SUM。我编辑答案。谢谢。但是is不会过滤我的数据。它只是忽略了过滤器部分。有什么想法吗?@FLICKER,我已经更新了总结表达式,试试看。这很有效。但是我不知道你为什么有定义部分。只有EVALUATE语句给了我result@FLICKER,我使用DEFINE子句向您展示了DAX中的查询结构。但是在本例中,它什么也不做,因为我们没有在EVALUATE子句中使用它。如果需要,可以删除它。这是DAX,不是MDX。请不要将其标记为MDX-谢谢!
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] ) ) )