美文网首页Power BI干货PowerBI专栏
PowerBI DAX学习:上下文知识点总结

PowerBI DAX学习:上下文知识点总结

作者: PowerBI星球 | 来源:发表于2020-03-11 22:27 被阅读0次

    上下文是DAX的基础,也是DAX中最复杂的主题,只有掌握这些知识点才敢说你已经搞懂了DAX,无论何时你遭遇到你想要却计算不出的表达式时,有很大原因是你还没有彻底掌握这些规则。

    存在两种计算上下文:筛选上下文和行上下文,这两种计算上下文并不是同一概念的两种表述:筛选上下文用来筛选数据模型,行上下文仅在单张表内迭代。

    为了理清一个公式的行为,你经常需要兼顾两种计算上下文因为他们在同一时刻执行。

    对于计算列DAX会自动创建行上下文。同样也可以使用一个迭代器来创建行上下文。每个迭代器都会定义一个行上下文。

    在用一张表中可以使用嵌套行上下文,最里面的行上下文覆盖同一张表中先前的行上下文。使用变量来储存那些需要行上下文去检索的值时是可行的。在早期版本的DAX中变量是不能使用的,需要使用EARLIER函数去传递给先前的行上下文。如今不鼓励使用EARILER函数。

    当正在迭代的表是一个表表达式的结果时,行上下文仅包含表表达式返回的列。

    当你在使用行、列、切片器、筛选器时会创建筛选上下文。一个筛选上下文同样能使用CALCULATE函数来创建。

    行上下文并不会自动在关系间传递。如果需要强制去传递需要使用RELATED函数和RELATEDTABLE函数。你需要在一对多关系正确的行上下文中使用这些函数:RELATED用在关系的多端,RELATEDTABLE用在关系的一端。

    筛选上下文筛选整个模型,它根据交叉筛选的方向使用关系。传递的一般是从一端传到多端。此外,如果你想使用双向交叉筛选的话,那么传递会从多端传到一端。


    《The Definitive Guide to DAX》学习笔记

    采悟 @ PowerBI星球

    相关文章

      网友评论

        本文标题:PowerBI DAX学习:上下文知识点总结

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