从数据到信息
从信息到洞察

EVALUATE(必填)

EVALUATE 是执行查询必须的 DAX 语句。EVALUATE 用于表表达式之前,并返回该表达式的结果。而且一个或多个 EVALUATE 前面可以添加 DEFINE 关键字,用来定义本地表、列、度量值变量,所有这些本地定义的可用范围覆盖与其一起执行的整个 EVALUATE 语句。

-- 定义部分(可选)
[DEFINE {  MEASURE <tableName>[<name>] = <expression> }
        {  VAR <name> = <expression>}]
-- 查询表达式
EVALUATE <table>  
-- 结果修饰符(可选)
[ORDER BY {<expression> [{ASC | DESC}]}[, …] 
[START AT {<value>|<parameter>} [, …]]]

一条 EVALUATE 语句分为三个部分:

  1. 定义部分:由 DEFINE 关键字引入,它包括表、列、变量和度量值等局部实体的定义。一个 DEFINE 可以覆盖一个或多个查询
  2. 查询表达式:由 EVALUATE 关键字引入,它包含要计算的表表达式,并返回其结果。查询表达式可以有多个,每个查询表达式由 EVALUATE 引入,每个查询表达式都有自己的一组结果修饰符
  3. 结果修饰符:EVALUATE 的一个可选的附加部分,由关键字 ORDER BY 引入。它可以对结果的排序和定义要返回的行(使用 START AT 定义起始点)

其中第一部分和第三部分是可选项。因此,你可以直接使用 EVALUATE 来生成查询。例如,最简单的查询是从现有表中检索所有列和行:

EVALUATE Product

产品表的查询结果

包含完整的三个部分的查询示例:

DEFINE
    VAR MinimumAmount = 2000000
    VAR MaximumAmount = 8000000
EVALUATE
FILTER (
    ADDCOLUMNS (
        SUMMARIZE ( Sales, 'Product'[Category] ),
        "CategoryAmount", [Sales Amount]
    ),
    AND (
        [CategoryAmount] >= MinimumAmount,
        [CategoryAmount] <= MaximumAmount
    )
)
ORDER BY [CategoryAmount]

关于 EVALUATE 的更多内容,可以参考其他 DEFINE、ORDER BY 等其他查询关键字。

 

说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
  订阅本文评论  
提醒
DAX 圣经

DAX 函数大全

DAX 查询

DAX 运算符