专栏名称: PowerBI星球
海量干货,帮你轻松上手 Power BI
目录
相关文章推荐
封面新闻  ·  铜梁龙马明日开跑! ·  昨天  
封面新闻  ·  铜梁龙马明日开跑! ·  昨天  
51好读  ›  专栏  ›  PowerBI星球

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

PowerBI星球  · 公众号  ·  · 2024-03-11 11:36

正文

在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([销售额])


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

引用本类别的第一个:






请到「今天看啥」查看全文