暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Power BI里面如何计算移动平均?分享两种写法

PowerBI Home 2021-08-19
7016

    小伙伴们,大家好!今天给大家分享的是Power BI里面实现移动平均计算的两种方式。可能有些小伙伴对移动平均的概念不了解,可以参考如下图的描述。通俗一点的说法是,今天是2021年5月7号,需要返回的值是过去n 天的销售额合计/n天,这个就是简单的移动平均算法。

    一般我们统计公司每日业绩的时候,销售趋势可能波动性很强,为了能够比较平滑的反应一段时间的销售趋势,可以通过移动平均的方式使图表平滑,过计算某段时间内的平均值,而不是当日的销售额数据有助于从图表中抹平峰值,从而更容易发现销售的变化趋势。在接下来我们的示例中,计算的周期是60天,当然你也可以根据你的实际情况来选择15天或者30天,这是可以自己选择的,也就是说,图表将会展示的是过去n天的平均值,下面分享在Power BI中的2中方式实现基于日级别的过去60天的平均值计算。

    movingAvg1 = 
    VAR curMaxDate =MAX ( 'Date'[Date] )
    RETURN
    AVERAGEX ( DATESINPERIOD ( 'Date'[Date], curMaxDate, -60, DAY ),
    [salesAmount] )

    第1种写法相对来说简单也更好理解,主要是使用时间智能函数DATESINPERIOD返回一个移动日期期间(可以理解是一个筛选后的日期表)如需要调整移动期间,可以在这个函数的第三参数进行设置,当然如需要让使用者产生交互的效果也可以通过设置动态参数的方式来实现。

      movingAvg2 = 
      //获取当前外部日期筛选上下文的最大值(如果外部筛选上下文是月份则返回月份的最大值,如果是日期则返回的是当前的日期)
      VAR curMaxDate =
      MAX ( 'Date'[Date] )
      //返回的是移动期间,实质上是一个筛选后的表,ALL函数取消外部日期的筛选。
      VAR movingPeriod =
      FILTER (
      ALL ( 'Date' ),
      'Date'[Date] <= curMaxDate
      && 'Date'[Date] > curMaxDate - 60
      )
      RETURN
      //迭代日期表,计算移动期间内的平均值
      AVERAGEX ( movingPeriod, [salesAmount] )

      第2种方式与第1种方式本质上没区别,都是构建一个移动的日期区间,最后返回的结果也是一致的,只是后面的这个方式更复杂些,但是相较而言,第2种方式更容易理解其计算的逻辑:这个日期期间是大于偏移60天后的日期,且小于等于当前日期。




      需要系统学习和获取演示案例可以联系小编:
      PowerHome平台主要分享Excel、Power BI、Tableau、SQL等职场数据分析工具技巧,如果觉得小编的内容不错,非常感谢您能够点个在看或者分享给更多需要的朋友。如果需要学习可以通过添加小编的私信交流(18923468365) 以下内容均有系统学习课程,如需学习可以私聊小编哦!1.Excel商务图表、公式函数、VBA、数据透视表 2.Power BI、Power Query、Tableau商务智能分析软件 3.数据分析实战服务:(1)训练营打卡学习(2)专属社群交流(3)学习资源共享(4)专属答疑服务

      文章转载自PowerBI Home,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论