zoukankan      html  css  js  c++  java
  • 一步一步教你制作销售目标分析报告

      前面的文章中我已经使用了一个入门案例动态销售报告来带领大家入门PowerBI的入门学习,基于动态销售报告,我可以在来进行细化处理销售目标表中的数据。本文的主题就是销售目标的分析。我们都知道销售目标是销售的起点,销售人员每天的跟进都可以来反映销售目标完成情况。因此,将销售目标的颗粒度细化到每一天很有必要。
      销售目标的细化主要的难点在于许多的企业在销售业务中有季节性。比如说在相同的月份中,去年的2月和今年的2月可能天数不同,无法全部复制。还有就是月份中的周末时间,有些月份存在4个周末,有些月份存在5个周末。这些时间因素都会对销售趋势造成一定的影响。
      回到数据源结构,我们回顾一下动态销售报告中的销售明细数据。这个表中有销售日期和销售额,我们可以使用DAX函数来将销售目标处理到该表的汇总数据表中。接下就一起来处理数据吧。在PowerQuery中手动输入销售目标表

    一、汇总销售数据
      在销售明细表中,有每一天,每一单,每个商品的详细记录数据,我们只需要对每天的销售金额进行汇总,可以借助DAX函数SUMMARIZE进行数据汇总处理。
      1、提前销售日期和销售金额字段
      在建模中新建表输入公式:销售汇总=SUMMARIZE('销售明细','销售明细'[销售日期],"销售额",SUM('销售明细'[业绩金额]))

      2、新建年,月,星期,年月,月周等列,方便后面计算指标

      年 = YEAR('销售汇总'[销售日期])

      月 = MONTH('销售汇总'[销售日期])

      周 = WEEKDAY('销售汇总'[销售日期],2)

      年月 = '销售汇总'[年]&'销售汇总'[月]

      月周 = '销售汇总'[月]&'销售汇总'[周]

    二、计算平均销售额构建销售系数

      由于销售数据存在不确定性,尤其是小的销售店铺可能存在销售数据差异比较大,所以我们需要通过计算平均销售额来计算出具有参考价值的数据。

      1、计算每个月,每周七天的平均销售情况

      某月星期几平均销售额=DIVIDE(SUMX(FILTER('销售汇总',EARLIER('销售汇总'[月周])='销售汇总'[月周]),'销售汇总'[周]),'销售汇总'[销售额]),COUNTAX(FILTER('销售汇总',EARLIER('销售汇总'[月周])='销售汇总'[月周]),'销售汇总'[周]))

      公式解析:以9月份的星期一为例,在本公式中,最外层通过DIVIDE对9月份所有的星期一的销售额和星期一的个数相除得到9月份星期一的平均销售额。

      SUMX计算星期一销售额的和,COUNTAX用来对星期一的个数进行计数,FILTER与EARLIER配合,只筛选表格中的9月份星期一的值进行求和与计数。

      计算出平均销售额后,将格式更改为定点小数,并设置位数为2,设置千分位


      2、计算销售系数
      新建一列,输入公式:
      某月星期几的系数 = DIVIDE('销售汇总'[某月星期几平均销售额],MINX(FILTER('销售汇总',EARLIER('销售汇总'[月])='销售汇总'[月]),'销售汇总'[某月星期几平均销售额]))
      公式解析:
      最外层DIVIDE用来对星期几和星期几的最小值进行相除计算,MINX提取某月每周的最小平均销售额,FILTER与EARLIER的用法与上一步相同

      三、新建销售系数表

      本次进行提取表中的月,周,月周,某月星期几的系数,还是使用SUMMARIZE

      公式如下:
      销售系数 = SUMMARIZE('销售汇总','销售汇总'[月],'销售汇总'[周],'销售汇总'[月周],'销售汇总'[某月星期几的系数])

     

      到这里我们已经完成了销售系数的建立过程,接下来我们开始处理销售目标数据

      四、销售目标分析
      我们要将销售目标细化到每一天,就需要通过计算2019年每个月的不同星期的销售情况,与销售目标和销售系数进行匹配。
      1、生成日期表
      2019销售目标 = CALENDAR(DATE(2019,1,1),DATE(2019,12,31))
      年= YEAR('2019销售目标'[Date])
      月 = MONTH('2019销售目标'[Date])
      周 = WEEKDAY('2019销售目标'[Date],2)
      月周 = '2019销售目标'[月]&'2019销售目标'[周]
      2、建立表之间的关联关系

      3、引入其他表中的指标到2019销售目标

      销售系数 = RELATED('销售系数'[某月星期几的系数])

      当月销售目标 = RELATED('2019销售总目标'[销售目标])

      4、计算当月每天销售占比

      新建列,输入公式:

      当月销售占比 = DIVIDE('2019销售目标'[销售系数],SUMX(FILTER('2019销售目标',EARLIER('2019销售目标'[月])='2019销售目标'[月]),'2019销售目标'[销售系数]))


      5、计算当天销售目标

      新建列,输入公式:

      当天销售目标 = '2019销售目标'[当月销售目标]*'2019销售目标'[当月销售占比]



      五、总结

      通过本文我们通过构建销售系数实现对销售目标的细化处理,同时我们也可以学习DAX函数的使用方法:

      1、SUMMARIZE函数对数据进行透视和汇总

      2、SUMX,COUNTAX,MINX进行条件求和,计数,求最小值

      3、FILTER,EARLIER函数配合对表格进行筛选

      4、CALENDAR生成一个日期表。



  • 相关阅读:
    mybatis-plus物理分页插件使用
    mybatis-plus提供支持ActiveRecord模式
    mybatis-plus通用Service
    mybatis-plus返回查询总记录数
    Mybatis-Plus查询返回Map类型数据
    Mybatis-Plus条件构造器condition动态判断条件
    Mybatis-Plus条件构造器select方法返回指定字段
    mybatis-plus条件构造器UpdateWrapper实例
    mybatis-plus条件构造器QueryWrapper实例
    这玩意比ThreadLocal叼多了,吓得why哥赶紧分享出来。
  • 原文地址:https://www.cnblogs.com/fly-bird/p/12181139.html
Copyright © 2011-2022 走看看