专栏名称: PowerBI战友联盟
微软 Power BI MVP BI佐罗 带你学习BI真经。
目录
相关文章推荐
51好读  ›  专栏  ›  PowerBI战友联盟

绝了!PowerBI 散点图展示数据点动态变化

PowerBI战友联盟  · 公众号  ·  · 2024-07-09 11:28

正文

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


上次我们详细介绍了 Power BI 散点图的播放轴功能,它可以帮助我们显示出当前所选数据点的在播放轴字段上的运动轨迹,如下。

有的小伙伴说,这样显示运动轨迹不够明显。有没有更好的方法,看下图。

上图显示所选数据点运动轨迹并没有用到播放轴功能,我们可以看到最明显的区别就是它的运动轨迹是有两种颜色的,灰色的是之前时间段的运动轨迹,红色的大数据点代表当前,小数据点代表之后时间段的运动轨迹,这也非常适合来做预测分析。

不仅如此,运动轨迹数据点的标记形状还可以随意更改,因为这是由两个散点图堆叠在一起实现的。

接下来一起看下是如何实现的吧。

新建一个散点图,在 X 轴上添加销售额,Y 轴上添加利润,值上添加省份,创建出表示每个省份销售额和利润分布情况的散点图。

新建一个颜色度量值,Power BI 散点图的标记颜色是不支持透明设置的,使用十六进制颜色代码后加透明度设置的颜色格式设置,可以实现透明度的设置。

Color = "#CCCCCC77"

将度量值应用于散点图的标记颜色条件格式。

将标记大小调大一点。

复制一个散点图。

接下来我们来制作显示运动轨迹的底部散点图,我们选择的运动轨迹是年月,因此我们需要一个字段,该字段对每个省份的年月都有不同的值,以便将其放入散点图的值中。

这里我们选择在事实表中新建一个计算列。

省份&年月 = RELATED ( 'Dim Calendar'[YearMonthNum] )    & RELATED ( 'Dim 地理位置'[省份] )

将复制的散点图的值字段更改为新建的计算列。

我们希望的是当省份被选中时,在另一个条形图显示出该省份所有年月的数据点。

所以我们可以将 X 轴和 Y 轴的销售额更改为:

销售额 =IF (    ISCROSSFILTERED ( 'Dim 地理位置'[省份] ),    CALCULATE (        [Sales],        REMOVEFILTERS ( 'Dim Calendar' )    ),    BLANK ())
利润额 =IF (    ISCROSSFILTERED ( 'Dim 地理位置'[省份] ),    CALCULATE (        [Profit],        REMOVEFILTERS ( 'Dim Calendar' )    ),    BLANK ())

将这两个度量值替换一下散点图上的 Sales 和 Profit。

数据消失了,只有当另一个散点图上的省份被选中时,此散点图上才会出现数据。

接下来我们来统一两个散点图的坐标轴,让两个散点图上的相同数据点有相同的对应位置。

X 轴的最大值是所有省份在所有年月的最大销售额,要跨多表进行求最大值操作。

参考: DAX 实战:如何跨多个表进行聚合操作

最大销售额 =MAXX (    CROSSJOIN (        ALL ( 'Dim 地理位置'[省份] ),        ALL (            'Dim Calendar'[YearNameCN],            'Dim Calendar'[MonthNameCN]        )    ),




    
    [Sales])

Y 轴的最大最小值分别为:

最小利润 = MINX (    CROSSJOIN (        ALL ( 'Dim 地理位置'[省份] ),        ALL (            'Dim Calendar'[YearNameCN],            'Dim Calendar'[MonthNameCN]        )    ),    [Profit])
最大利润 =MAXX (    CROSSJOIN (        ALL ( 'Dim 地理位置'[省份] ),        ALL (            'Dim Calendar'[YearNameCN],            'Dim Calendar'[MonthNameCN]        )    ),    [Profit])

将这三个字段应用于两个散点图 X 轴和 Y 轴的范围条件格式。

应用之后的样子。

然后将位于底部显示运动轨迹的散点图字体全部改为背景色白色。

修改一下位于底部的散点图气泡大小,如果当前省份&年月列的前六位字符年月等于当前切片器所选年月,那么标记的气泡大小为 1,否则为 0.1。

PathSize = VAR SelectedYear =    SELECTEDVALUE ( 'Dim Calendar'[YearMonthNum] )VAR DatapointYear =    CALCULATE (        LEFT (            SELECTEDVALUE ( 'Fact 订单'[省份&年月] ),            6        ),        REMOVEFILTERS ( 'Dim Calendar' )    )VAR Size =    IF (        SelectedYear = DatapointYear,        1,        0.1    )RETURN    Size

将 PathSize 度量值添加到运动轨迹散点图的大小上。

转到散点图的标记选项,修改一下大小。

然后是颜色,如果是过去的年月时间段,返回灰色,反之则是红色。

Path Color = VAR SelectedYear =    SELECTEDVALUE ( 'Dim Calendar'[YearMonthNum] )VAR DatapointYear =    CALCULATE (        LEFT (            SELECTEDVALUE ( 'Fact 订单'[省份&年月] ),            6        ),        REMOVEFILTERS ( 'Dim Calendar' )    )VAR Color =    IF (        SelectedYear > DatapointYear,        "#CCCCCC"




    
,        "#99393C"    )RETURN    Color

将颜色应用于散点图标记选项的颜色条件格式上。

修改之后的样子。

最后需要将这两个散点图完全重合。

效果图。

动态效果。

看起来还不错,通过上述步骤,我们可以在 Power BI 中实现散点图显示所选数据点运动轨迹的功能,使数据展示更加动态和直观。这种功能不仅适用于时间序列分析,还可以帮助用户更好地理解数据之间的关系和变化趋势。希望本文对您有所帮助,赶快在 Power BI 中试一试吧!

直播内容:Power BI 九周年及 BI 行业发展回顾与展望

如果你对本文的 Power BI 源文件感兴趣可以私信老师了解领取方式。

数据分析精英都会遇到的二十大分析问题

分析师必看: 业财人面临的二十大数据分析问题

数据分析精英都在学习的五大能力境界


分析师必备: 业务数据分析能力五层成熟度路线图框架全解


↓ 数据分析精英正在学习的课程 ↓

他们是:企业老板,高管,CFO,分析...
可以体验百万级真实企业项目案例,彻底打通任督二脉

数据分析师训练营 课程表

课程: 《业财分析之道》 业务财务人数字化能力必修课 🔥 🔥 🔥
2024年7月 满
2024年8月 少量席位

🎓 更多热门课程推荐👇👇👇

🚀 《业财分析之道》 业务财务人数字化能力必修课
📈 《经营分析之道》 企业指标拆解及经营分析框架

🔍 数据分析之道 精通分析十大方法加十大模型
💡
PowerBI 真经 更专业更系统化学习 Power BI

🔗 如何获取更多信息?扫描下方二维码具体咨询。

如果您觉得这篇文章对您有帮助或启发
感谢您【点赞】、【在看】
如果您需要添加老师,也请先 【点赞】、【在看】

这样老师才能更快地识别并回应

跟BI佐罗老师更专业更系统学企业数据分析
点击“阅读原文”获取更多资源







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