迭代在编程语言中很常见,在DAX中也是如此,带X的这些函数,比如SUMX、RANKX等都会进行迭代的运算,但以前只是使用过简单Excel公式的同学,可能不太理解。
其实如果你使用过Excel的数组公式,其原理也与迭代类似,迭代的背后,也是一种数组运算。
在 DAX 里,你可以使用迭代器在一个步骤中执行相同的操作,迭代器的工作方式正如其名:迭代表,并对表的每一行进行计算,将结果予以汇总,返回需要的单个值。
可以参考SUMX的语法理解一下。
这种运算效率比较高,不用担心添加辅助列,一个步骤中就可以执行许多复杂的运算。缺点是,与用 Excel 使用辅助列相比,DAX 编写的视觉效果不够直观。 实际上,你看不到计算价格乘以数量的列,它仅在计算的中间过程中存在。
采悟 @PowerBI星球
网友评论