专栏首页PowerBI战友联盟这是不是 PowerBI 原生作图的最高境界 - 案例:对比积累分析图

这是不是 PowerBI 原生作图的最高境界 - 案例:对比积累分析图

这是一个很通用的需求,先来看看效果吧:

这个图首先对业务来说是很有意义的,它同时显示了:

  • 实际与目标的对比;
  • 实际与目标的差异;
  • 实际与目标的差异率;
  • 累计完成与累计目标的对比。

如果让分析师去做一些高信息含量的图表,那该图一定位列其中,因为企业几乎都是是目标(结果)导向的,对此,KPI的达成就是关键的信息了。

关于可视化,我们将可视化分为两类:

  • 数据可视化
  • 商业图表可视化

我们认为这两者是不同的,具体差异,请参考我们的系列文章:(以后再读)

真正的商业图表可视化之道-布道篇

真正的商业图表可视化之道-实践篇

真正的商业数据可视化之道-工具篇

结论是:我们希望用基本的常识性元素来构建商业图表。

在 PowerBI 中确实存在一些痛点,解决的方法大致有两个:

  • DAX 驱动可视化
  • 叠图技巧

在实践中,我们常常将这两个技巧结合使用,以基于 PowerBI 原生可视化元素来构建尽可能丰富的效果。

关于 DAX 驱动可视化,在前文中已经有介绍,这个我们就不再展开了。本文重点来说明结合 DAX 驱动可视化 与 叠图法 在 PowerBI 中的使用。

分析思路

我们先在草稿纸上大致研究一下一个图表的有意义部分,然后将它进行拆分,直到拆解到不能再拆解为止。在某些特殊的情况下,有些图表相当于两个图表,例如:

其实,这里只用了一个图表,这在 PowerBI 中是组合图。

而对于开篇提到的图表,其全部构成了有机的整体性,这个整体性提供了系统化有效的信息密度。由于不能直接配置,我们仔细研究后,可以将其拆解为 5 部分。分别是:

这么来看,你就可以清楚地发现这里包括五个图,我们要做的事是:

  • 将多个图堆叠到一起,看起来是一个图。
  • 构成一个整体。
  • 保持动态稳定性。

这三点是罗叔首次提出的 叠图原理需要满足的必要条件

前两点比较容易理解,而第三点可能会费解,我们一一来解释下。

多个图堆叠多一起

先做出来多个图,在头脑中想象他们排列在一起的样子。这大概需要一点点初中几何的空间想象能力,一般初中生就会具备,大家都不会有问题。

对于其中的某个图,可能需要施加 DAX 驱动可视化。这里我们做一些重点说明。

例如:

这个图的特别之处在于:

  • 正数和负数的颜色是不同的。

这里并没有用 DAX 驱动可视化,而是通过条件格式设置,如下:

这里设置颜色也是有技巧的,如下:

这样,0就成为了界限,小于0就会是红色;大于等于0就会是绿色。这里是为了教学目的,我们故意没有使用 DAX 驱动可视化。然后,当你想做这个效果的时候就不然了:

这个图其实是一条折线图,你可以看出来吗?

如果你不能看懂,我们将它放大来看:

我们要想实现预期效果需要完成:

  • 将线拉平;
  • 只显示点,不显示线;
  • 按正负分别显示。

前两点可以通过设置实现:

  • 将 Y 轴的刻度设置从负数开始,其效果就像是被拉平了;
  • 将形状的线宽度设置为 0 就不再显示线了。

而如果你还想用上述的条件可视化来设置正负数就会发现:

根本没有这个设置机会,没有条件颜色来设置,这时候就需要祭出大杀器 DAX 驱动可视化了。

DAX 驱动可视化

由于本文建立在坚实的 MVC 理论基础上,可以参考:(以后再看)

PowerBI DAX MVC 设计模式 导论

PowerBI DAX MVC 设计模式 导论 续 - 案例:竞争交叉分析(深度购物篮)

我们这里虽然讲 DAX 驱动可视化,但却基于我们的 MVC 框架来做:

  • 先做一个正负数表
  • 再多一个度量值

如下:

View.P&N =
SELECTCOLUMNS(
{
    ( "正" , 1 ),
    ( "负" , 2)
} , "Name" , [Value1] , "OrderBy" , [Value2]
)

对此建立一个度量值如下:

View.Sales.Varance.Value%.Show =
VAR vLegend = SELECTEDVALUE( 'View.P&N'[Name] )
RETURN SWITCH( TRUE() ,
    vLegend = "正" && [View.Sales.Varance.Value%] >= 0 ,  [View.Sales.Varance.Value%] ,
    vLegend = "负" && [View.Sales.Varance.Value%] < 0 ,  [View.Sales.Varance.Value%] ,
    BLANK()
)

复习一下:

由于这是为了显示而显示的度量值,因此与业务数据是无关的。我们从命名上就可以显著的区别了。再来看看我们的结构如下:

其中,可以清楚地看到这种组织结构的巧妙之处,太香了。

构成一个整体

回到我们的主线:

我们要做的事是:

  • 将多个图堆叠到一起,看起来是一个图。
  • 构成一个整体。
  • 保持动态稳定性。

现在来看第二点,构成一个整体,这得益于 PowerBI 2019.9 的更新,视觉元素编组,这样我们就可以彻底地构造一个整体了,如下:

在这个编组里,容纳了五个图。有些图的做法非常基础,这里就不提了。

保持动态稳定性

现在来看最重要的一点叠图必要条件:保持动态稳定性。

那就是不论用户如何操作,图表都应该完美显示,整体的布局不会肢解掉。

例如:

当用户将时间调整到 2019 年时,整个可视化仍然可以保持很好的显示。因此需要注意:

  • 如果只是静态查看,叠图可以不考虑保持动态稳定性;
  • 如果需要动态查看,叠图必须要考虑保持动态稳定性。

这里可能影响动态稳定性的还包括数字标签的长短,坐标轴等,很多时候是无法做出完美的叠图的,但叠图仍然是一种非常重要的技巧。

总结

本文主要讲解了一个几乎是 PowerBI 作图中最重要课题,通过叠图法以及 DAX 驱动可视化就可以将 PowerBI 原生视觉元素的能力发挥到极限,发挥到充要极限:

  • 如果某个图是 PowerBI 原生视觉对象可以做的,那么本文就展示了一定可以做出来的步骤和方法;
  • 如果本文展示的方法无法实现某图,则该图是无法通过 PowerBI 原生视觉对象制作的。

也就是说:综合运用 叠图法 + DAX 驱动可视化 就可以达到 PowerBI 原生作图的极限。

本文给出了 叠图法 的标准步骤:

  1. 将整体拆解为不可分割的最小部分;
  2. 实现各个最小部分;
  3. 编组。

且必须满足:保持动态稳定性约束

在作图时,可采用 DAX 驱动可视化 的思想。

由于在现实中将大量出现这种模式,为此,我们需要一套更加大的项目框架来管理,就是 MVC 设计思想和框架。

本文信息含量极大,不是简单做一个图给你看看的。

本文分享自微信公众号 - PowerBI战友联盟(powerbichina),作者:BI佐罗

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PowerBI 使用微软雅黑字体 让中英文完美显示 60%面试者倒在该题下

    在 PowerBI 中,字体是一个很重要的问题,但很可惜在默认状态下,其显示不但不完美,甚至是有问题的。这些问题在中文或英文状态下都是存在的。本文将带你迅速处理...

    BI佐罗
  • PowerBI 9月更新 DAX驱动可视化

    如果你打开 PowerBI Desktop 从头创建一个报告,你会发现让你眼前一亮,本月更新已经使用了新的主题,而且不止一个哦,增加了很多。如果你是一个主题设计...

    BI佐罗
  • 【燃】PowerBI 6月更新 商业应用大会 新路线图 全部出炉

    本文除了介绍PowerBI Desktop在2019年6月的更新,其将介绍PowerBI的几件大事。

    BI佐罗
  • 图像处理代码的一些思考

    {m_DC.FillSolidRect(0,0,m_Width,m_Height,clr);}

    流川疯
  • 搭建 LookingGlass 测试 vps

    我们经常看到 vps 服务商的测试站点,有 ping 测试,下载文件测试等等。其实,我们也可以在自己服务器上实现这个功能。

    SweetHunter
  • kubernetes三种打开方式

    kubernetes是容器管理编排引擎,是继openstack之后又一个优秀的云计算系统。kubernetes有着灵活,快速,健壮等特点,同时全面拥抱微服务架构...

    SDNLAB
  • fastText细节及实践

    fastText模型是类似CBOW的三层结构,关于这个结构的介绍,很多博客都讲了,这里我不多赘述,我主要叙述一下其中的部分细节

    mathor
  • NASA无人机障碍赛:专业选手Vs.人工智能,赌一赌谁赢?

    安妮 编译整理 量子位 出品 | 公众号 QbitAI 加州,帕萨迪纳市,深秋。 在NASA喷气推进实验室(JPL)里,上演了这样一场竞赛,比赛双方将操控无人机...

    量子位
  • MWC2018直击:三大运营商发布5G白皮书,一场无声的5G战!(附白皮书下载)

    6月27日-6月29日,世界移动大会(MWC)在上海举行。5G(第五代移动通信技术)无疑是本届展会最大的主角。作为5G的重要推动者,中国移动、中国联通、中国电信...

    SDNLAB
  • 下载音乐还要忍受各种广告、下载各种app?用Python来爬啊!

    下载音乐还要忍受各种广告、下载各种app?跟老师一起做个爬虫,用Python来爬啊!

    云飞

扫码关注云+社区

领取腾讯云代金券