美文网首页
3.2 EVALUATE语法简介

3.2 EVALUATE语法简介

作者: jweishan | 来源:发表于2020-02-26 14:18 被阅读0次

第3章 使用基本表函数

3.1 表函数简介
3.2 EVALUATE语法简介
3.3 理解FILTER
3.4 ALL和ALLEXCEPT
3.5 了解VALUES,DISTINCT和空行
3.6 将表用作标量值
3.7 ALLSELECTED介绍

EVALUATE语法简介

查询工具(例如DAX Studio)对于编写复杂的表表达式很有用。在这种情况下,用于检查表表达式结果的公共语句是EVALUATE:

EVALUATE
FILTER (
    'Product',
    'Product'[Unit Price] > 3000
)

可以在任何执行DAX查询的工具(DAX Studio,Microsoft Excel,SQL Server Management Studio,Reporting Services等)中执行上述DAX查询。DAX查询是返回表的DAX表达式,该表与EVALUATE语句一起使用。EVALUATE具有复杂的语法,我们将在第13章中全面介绍。这里,我们仅介绍常用的EVALUATE语法,如下所示:

[DEFINE { MEASURE <tableName>[<name>] = <expression> }]
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]} [, ...]]

开头的DEFINE MEASURE部分可用于定义查询本地的度量值。当我们调试公式时,它变得很有用,因为我们可以定义局部度量值,对其进行测试,在达到预期效果时将其部署到模型中。大多数语法是可选的,最简单的查询可以取得一个现有表中的所有行和列,如图3-1所示:

图3-1在DAX Studio中执行查询的结果

ORDER BY子句控制排序顺序:

EVALUATE
FILTER (
    'Product',
    'Product'[Unit Price] > 3000
)
ORDER BY
    'Product'[Color],
    'Product'[Brand] ASC,
    'Product'[Class] DESC

请注意,模型中定义的“按列排序”属性不会影响DAX查询中的排序。EVALUATE指定的排序列只能使用结果中包含的列。因此,生成动态DAX查询的客户端应读取模型元数据中的“按列排序”属性及查询中的排序列,然后生成相应的ORDER BY条件。

评估本身并不是一个强大的语句。使用DAX进行查询的功能来自使用该语言提供的许多DAX表函数的功能。在下一部分中,您将学习如何通过使用和组合不同的表函数来创建高级计算。

相关文章

网友评论

      本文标题:3.2 EVALUATE语法简介

      本文链接:https://www.haomeiwen.com/subject/mdfmchtx.html