深入了解PowerBI可视化计算(4):像Excel一样轻松引用"单元格"

您看看需不需要 2024-03-11 23:06:44

在Excel中可以很方便的引用单元格,如果你想在PowerBI图表中获取相邻两个类别之间的差异,用之前的DAX是一个较为麻烦的事,因为DAX不能识别图表中数据的相对位置,现在有了可视化计算,这个需求就可以很轻松的实现。

这里继续来学习最近新推出的可视化计算,如果你还不熟悉,可以先看看之前已经介绍的几篇文章:

Power BI重磅更新,先来体验一下可视化计算怎么用?

深入了解Power BI可视化计算(1):RUNNINGSUM运行总和

深入了解Power BI可视化计算(2):MOVINGAVERAGE移动平均

深入了解Power BI可视化计算(3):占比和COLLAPSE 函数

在目前内置的计算模式中,我们来了解一下最后4个:

这个界面翻译有出入,从上到下应该是 与之前、之后、第一个、最后一个相比的差异,其中用到的函数分别是:

PREVIOUS 前一个NEXT 后一个FIRST 第一个LAST 最后一个

通过这几个函数,我们就可以灵活地按照位置来引用"单元格"的值。

这几个函数类似,都只能用于可视化计算,这里以PREVIOUS函数来看看它们的基本语法。

PREVIOUS(

表达式,

偏移幅度,//可选,省略时默认为1

轴,//可选,确定移动的方向

空白参数, //可选,排序时如何处理空值

重置 // 可选,控制从哪里开始重新计算

NEXT函数的语法与PREVIOUS完全相同(功能相反);而FIRST函数和LAST函数与上面的语法相比,只缺少第二个参数(偏移幅度),其他参数也完全相同。

下面通过几个例子来理解这些函数的作用。

仍然以PowerBI星球案例模型为例,来制作一个矩阵如下图:

如果要引用前一行的值,可以这样写:

前一行 = PREVIOUS([销售额])

如果要获取前面两行的值,第二个参数不要省略:

前两行 = PREVIOUS([销售额],2)

如果要获取前一列的值,就需要用到第三个轴参数:

前一列 = PREVIOUS([销售额],,COLUMNS)

这个结果就是引用左侧单元格,在这个矩阵中也就是得到上年的数据。

关于轴参数,还有ROWS COLUMNS和COLUMNS ROWS,跨行或者跨列时可以继续引用,关于它们的用法,可参考之前RUNNINGSUM的介绍。

如果在产品类别内,引用上一行的值,不跨类别引用,就要用到最后一个重置参数(前面参数省略时,在不产生歧义的情况下,可以不用逗号占位)。

前一行 本类别 =

PREVIOUS([销售额],LOWESTPARENT)

重置参数有效值为:None、LowestParent、HighestParent 或整数,省略时默认值为“None”。

如果要引用下一行,就要用到NEXT函数:

下一行 = NEXT([销售额])

下一列 = NEXT([销售额],COLUMNS)

NEXT其他参数的用法和上面的PREVIOUS完全一样,这里就不再介绍了。

通过PREVIOUS和NEXT函数,搭配偏移幅度和轴参数,我们可以轻松实现引用视觉对象中前、后、左、右的“单元格”数据,非常灵活。

最后,再来看一下类似的FIRST函数和LAST函数,如果要引用第一个数据,可以用FIRST函数:

第一个 = FIRST([销售额])

还可以按列来引用第一个:

引用本类别的第一个:

引用最后一个值用LAST函数:

最后一个 = LAST([销售额])

LAST的其他用法和FIRST完全一样,只是功能相反。

如果与Excel引用单元格做比较,可视化计算中的PREVIOUS和NEXT函数的效果类似于相对引用,而FIRST函数和LAST函数类似于绝对引用。

虽然用之前发布的OFFSET、WINDOW等窗口函数,也可以实现同样的效果,但是利用可视化计算,更简单、更直观、更便于新用户理解使用。

可视化计算刚刚推出,目前关于它的介绍仅仅是针对目前版本的功能,如果后续发布的版本功能有调整,这里也会及时更新的。

PowerBI星球

0 阅读:51

您看看需不需要

简介:感谢大家的关注