可用于在 DAX 处理关系的两个有用函数是RELATED 和 RELATEDTABLE。
计算列可以直接引用本表的任何列,并且引用本表的列时可以直接引用,无需带上表名也可以。但是,如果必须引用另一张表中的列,该怎么办?一般来说,除非在模型中定义了两个表之间的关系,否则不能使用其他表中的列。如果两个表共享一个关系,则可以使用RELATED函数访问相关表中的列。
共享一个关系的意思是,不仅是两个表直接建立的关系,也包括间接建立的关系,无论从原始表到相关表需要经过多少个中间的表,DAX 会遵循完整的关系链,并返回相关的列值。
在一对多关系中,RELATED 可以从多端访问一端,因为在这种情况下,相关表中只有一行(如果有的话)。如果不存在满足条件的行,RELATED 将返回 BLANK。
果表达式位于关系的一端,并且需要访问多端,则 RELATED 没有帮助,因为来自另一端的许多行都可用于单个行。在这种情况下,我们可以使用RELATEDTALBE。RELATEDTALBE 返回一个表,此表包含与当前行相关的所有行。
与 RELATED 一样,RELATEDTABLE 可以遵循一系列的关系链,总是从一边开始,向多边发展。RELATEDTABLE 通常与迭代器一起使用。
《The Definitive Guide to DAX》学习笔记
采悟 @ PowerBI星球
网友评论