专栏首页PowerBI战友联盟PowerBI 实现区间对比图,轻松对比品牌,大区,门店增长

PowerBI 实现区间对比图,轻松对比品牌,大区,门店增长

有小伙伴在群里提问,这是用什么软件做的?

很显然,不知道本来的软件是什么,但用 PowerBI 也是可以完成的。

利用这个方式,还可以做出这样的图:

整个图形有两部分构成:

  • 数值部分
  • 增长率部分

而从作图角度的实质挑战是如何制作这个区域。

难题分析

首先来看这个区域的构成:

没错。这的确是一张图。

这里的奥秘在于,它们彼此为什么可以分开,而应该是这样的吗?如下:

很明显,对于办公用品,技术,家具来说,是三个独立的事情;而对于2019以及2020来说又具有连续性,所以,这是:

大颗粒离散下的局部连续型对比

我们称之为:区块对比,且块内连续。

技巧设计

大家都知道,区块可以认为是类别,直接使用类别即可。

而连续型元素,就有了排序的说法了,我们希望排序的依据是按年份来。

再有,在区块之间要形成断层,以实现分隔效果。

为此,我们作了这样的设计:

没错,其实我加入了“洋葱”。

“洋葱”,就是那种加不加不影响吃饱,但却是一个重大技巧的东西。在这里就体现在:空白元素

你还可以举例出:还有什么场景是 空白元素 的妙用吗?

我们通过空白元素让区块的数值归零后产生区块之间的间隔效果。

当然,需要开启这个效果,还需要作一个小的设置,如下:

必须设置:显示无数据的项目。

这样就产生了预期的效果,如下:

很明显,这个表是为了专门来作这个图的,它实际上,与数据模型本身并没有融合。

动态挂载

将用来作图的辅助表与数据模型在计算时完美结合的过程,我们称为:动态挂载。在我即将推出的《PowerBI高级》中将更全面地介绍这项技巧的使用。这里,可以创建这样的度量值如下:

View.Trend.KPI.Value.Product =
CALCULATE(
    [KPI] ,
    TREATAS(
        SUMMARIZE( 'X.Axis' , 'X.Axis'[Product] , 'X.Axis'[Year] ) ,
        'Product'[Category] ,
        'Calendar'[YearName]
    )
)

可以使用 TREATAS 函数实现这种动态挂载效果,作为更精巧的演示,这里使用了一次性的双列挂载,同时将产品和年份挂载到数据模型的相应表上,实现动态计算。

举一反三,可以实现 YTD 的计算,如下:

值得注意的是:

  • 2019YTD和2020YTD应该随着时间自动变化。
  • 2019YTD的内容应该和2020YTD自动匹配,都是年初到当月当日。

应用扩展

除了这里写的场景,这还特别适合用来比较同一层面的不同对象,如:品牌;大区;门店等。

总结

在 PowerBI 的原生可视化对象中,给我们直接提供的能力是有限的,但是通过想象力和创造力,我们可以构建出很多图形。还有什么好玩的图形欢迎小伙伴们提出。

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

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

原始发表时间:2020-06-02

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PowerBI 企业级全动态权限控制解决方案模板

    一段时间前,我们发布了 PowerBI 全动态权限控制方案,该方案基本完善地介绍了在 PowerBI 如何进行动态化的权限控制。而作为企业级的方案,还可能面临更...

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

    继:《真正的商业图表可视化之道布道篇》,《真正的商业图表可视化之道实践篇》之后,这是本系列的最后一篇内容,叫做:终篇《真正的商业图表可视化之道工具篇》。

    BI佐罗
  • PowerBI DAX MVC 设计模式 导论

    我们一直在考虑的其实是一个终极问题:到底如何最大限度复用。在 PowerBI 中处理这类问题主要涉及两件事:业务逻辑的处理以及可视化的处理。在实践中常常表现为以...

    BI佐罗
  • ORB_SLAM论文解读

    ORB-SLAM是西班牙Zaragoza大学的Raul Mur-Artal在2015年提出的视觉SLAM系统,它吸取了以往SLAM系统的优点,是当前开源SLAM...

    DancingWind
  • 【Oracle】-【SNIPED和KILLED】-SPINED和KILLED的session清理流程

    SQL> show parameter limit NAME     TYPE VALUE -------------------------------...

    bisal
  • emlog SVG分类导航插件

    Youngxj
  • 杀戮机器人来了?人类对AI的威胁更恐慌?

    自从机器人诞生以后,人类对机器人的恐惧随着技术的不断发展而升级,最近,一段名叫“杀戮机器人”(Slaughterbots)的YouTube视频再度在网上引起了恐...

    机器人网
  • Solaris 10 SPARC WebLogic JSP编译错误解决

    http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=81&threadID=37385

    阿敏总司令
  • 关于oracle中session跟踪的总结(56天)

    数据库中的session在操作中可能会有各种各样的问题,比如一条sql语句执行失败,某一个应用在一些特定的场景下就会有一些性能问题等等,有时候在代码层去做一些d...

    jeanron100
  • 2.leetcode唯一的摩斯密码

    1.题目 International Morse Code defines a standard encoding where each letter is m...

    py3study

扫码关注云+社区

领取腾讯云代金券