美文网首页工具癖PowerBI专栏Power BI干货
Power BI-DAX作图技巧:突出显示最大最小区间

Power BI-DAX作图技巧:突出显示最大最小区间

作者: PowerBI星球 | 来源:发表于2019-08-02 22:52 被阅读9次

    之前的文章中介绍了如何突出显示最大值和最小值(PowerBI作图技巧:在走势图上标注最大值、最小值…),本文再介绍一种标记最大区间和最小区间的方法。

    以销售额为例,在一段时期中,哪个30天的销售额最高?哪个30天的销售额最低呢?以面积图为例,效果如下,

    制作原理和标记最高点和最低点相似,都是使用三个系列,只是求最高最低点相对比较简单,下面来看看如何找出最高区间和最低区间。

    数据模型中有两个表,订单表和日期表,以30天销售额为例,先计算出每天向前推30天的销售额累计,度量值代码如下,

    过去30天销售额 =

    VAR N=30

    VAR min_date=CALCULATE(MIN('日期表'[日期]),ALLSELECTED('日期表'[日期]))

    VAR cur_date=IF(MAX('日期表'[日期])>=min_date+N,MAX('日期表'[日期]))

    RETURN

    CALCULATE(    [销售金额],FILTER(ALLSELECTED('日期表'),'日期表'[日期]>=cur_date-N&&'日期表'[日期]<=cur_date))

    计算出30天累计销售以后,就可以找出哪个30天的销售额最高,然后只显示这个30天区间的销售额即可,度量值如下,

    最大30天区间 =

    VAR N=30

    VAR max_sales=MAXX(ALLSELECTED('日期表'[日期]),[过去30天销售额])

    VAR max_date=CALCULATE(MAX('日期表'[日期]),FILTER(ALLSELECTED('日期表'[日期]),[过去30天销售额]=max_sales))

    RETURN CALCULATE([销售金额],FILTER('日期表','日期表'[日期]>max_date-N&&'日期表'[日期]<=max_date))

    同理,把其中的MAXX改成MINX就是找出最低的30天累计销售额,并只显示该区间的数据,

    最小30天区间 =

    VAR N=30

    VAR min_sales=MINX(ALLSELECTED('日期表'[日期]),[过去30天销售额])VAR max_date=CALCULATE(MAX('日期表'[日期]),FILTER(ALLSELECTED('日期表'[日期]),[过去30天销售额]=min_sales))

    RETURN

    CALCULATE([销售金额],FILTER('日期表','日期表'[日期]>max_date-N&&'日期表'[日期]<=max_date))

    将[销售金额]、[最大30天区间]、[最小30天区间]放入面积图中,即可得到上面的可视化效果。

    更进一步,我们建立一个参数,替换上面度量值中的30,即可找出任意N天的最大区间和最小区间,

    WEB地址:  https://dwz.cn/bWz9Rhmv

    是不是一眼就能看出什么期间最高,什么期间最低呢?

    这就是PowerBI可视化的魅力,不要只把他当成一个简单的图表工具,结合DAX可以做出满足业务需要的各种效果。

    并且上面这几个度量值使用的DAX函数只是个很普通的函数,你需要掌握的函数不在多,而在于融会贯通、灵活运用。

    本文源文件已分享在知识星球,需要的请直接在知识星球中下载。


    我是采悟,PowerBI星球作者,如果你刚开始接触Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。

    相关文章

      网友评论

        本文标题:Power BI-DAX作图技巧:突出显示最大最小区间

        本文链接:https://www.haomeiwen.com/subject/bzxddctx.html