美文网首页DAX从入门到精通
DAX从入门到精通 3-3-1 使用表表达式

DAX从入门到精通 3-3-1 使用表表达式

作者: PowerBI入门到实践 | 来源:发表于2019-06-26 23:23 被阅读0次

    使用表表达式

    本章的开头,你可以看到,我们通常会使用表表达式作为DAX的参数。典型的使用方法是在函数中迭代一个表,对表中的每个行进行计算。例如,下面的sumx,所有其他以x为结尾的聚合函数都是这样的模式:

    [Sales Amount] :=
    SUMX (
    Sales,
    Sales[Quantity] * Sales[Unit Price]
    )
    

    可以用表函数来替代sales表,例如,可以使用filer来筛选销售数量大于1的记录:

    [Sales Amount Multiple Items] :=
    SUMX (
    FILTER (
    Sales,
    Sales[Quantity] > 1
    ),
    Sales[Quantity] * Sales[Unit Price]
    )
    

    在计算列中,可以使用relatedtable函数,从一方获取多方的表格。例如,下面的计算列保存在product表中,计算了各产品的销售额。

    Product[Product Sales Amount] =
    SUMX (
    RELATEDTABLE ( Sales ),
    Sales[Quantity] * Sales[Unit Price]
    )
    

    关于relatedtable表函数,在第四章会有详细的介绍。
    表格函数中可以嵌套表格函数。例如,下面的计算列只计算了销售记录大于1的销售情况:

    Product[Product Sales Amount Multiple Items] =
    SUMX (
    FILTER (
    RELATEDTABLE ( Sales ),
    Sales[Quantity] > 1
    ),
    Sales[Quantity] * Sales[Unit Price]
    )
    

    当嵌套表格函数的时候,DAX对最内部的函数首先处理,然后逐一向外。这个不要和dax处理参数的顺序弄混了。
    注意:
    后面我们会看到,嵌套的执行顺序可能是您对语句结果产生疑问的源头,因为calculatetable的执行顺序和filter不一样。下一节,我们会学习filter,第五章,我们会学习calculatable。

    相关文章

      网友评论

        本文标题:DAX从入门到精通 3-3-1 使用表表达式

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