[函数大全] EVALUATE(必填)

  [复制链接]
查看125931 | 回复128 | 2021-2-21 23:00:16 | 显示全部楼层 |阅读模式
EVALUATE 是执行查询必须的 DAX 语句。EVALUATE 用于表表达式之前,并返回该表达式的结果。而且一个或多个 EVALUATE 前面可以添加 DEFINE 关键字,用来定义本地表、列、度量值变量,所有这些本地定义的可用范围覆盖与其一起执行的整个 EVALUATE 语句。
  1. -- 定义部分(可选)
  2. [DEFINE {  MEASURE <tableName>[<name>] = <expression> }
  3.         {  VAR <name> = <expression>}]
  4. -- 查询表达式
  5. EVALUATE <table>  
  6. -- 结果修饰符(可选)
  7. [ORDER BY {<expression> [{ASC | DESC}]}[, …]
  8. [START AT {<value>|<parameter>} [, …]]]
复制代码

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


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


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

8277212320441.jpeg

产品表的查询结果


包含完整的三个部分的查询示例:
  1. DEFINE
  2.     VAR MinimumAmount = 2000000
  3.     VAR MaximumAmount = 8000000
  4. EVALUATE
  5. FILTER (
  6.     ADDCOLUMNS (
  7.         SUMMARIZE ( Sales, 'Product'[Category] ),
  8.         "CategoryAmount", [Sales Amount]
  9.     ),
  10.     AND (
  11.         [CategoryAmount] >= MinimumAmount,
  12.         [CategoryAmount] <= MaximumAmount
  13.     )
  14. )
  15. ORDER BY [CategoryAmount]
复制代码

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

使用道具 举报

lc3662018 | 2021-4-25 15:45:04 来自手机 | 显示全部楼层
纯粹路过,没任何兴趣,仅仅是看在老用户份上回复一下
回复

使用道具 举报

corona | 2021-5-2 12:13:05 | 显示全部楼层
感謝云发教育!!!
回复

使用道具 举报

ysg168 | 2021-6-18 16:08:59 来自手机 | 显示全部楼层
呵呵,低调,低调!
回复

使用道具 举报

CrossK | 2021-6-22 07:31:32 | 显示全部楼层
不错 支持一个了
回复

使用道具 举报

ぁ隨夢飄搖お | 2021-8-30 14:33:37 | 显示全部楼层
谢谢,一直在学习云发教育课程!
回复

使用道具 举报

再看你一眼 | 2021-9-4 06:25:22 | 显示全部楼层
专业抢沙发的!哈哈
回复

使用道具 举报

yyfreeliang | 2021-9-10 17:50:52 来自手机 | 显示全部楼层
路过 帮顶 嘿嘿
回复

使用道具 举报

帅仔 | 2021-9-15 22:17:08 来自手机 | 显示全部楼层
加油站加油
回复

使用道具 举报

ruanx | 2021-10-9 15:45:33 来自手机 | 显示全部楼层
在撸一遍。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则