在入门案例动态销售报告中已经带领大家入门制作PowerBI可视化报告。本文主题销售业绩分析将继续针对入门案例进行进一步优化,让大家更改的了解和掌握使用PowerBI的功能。优化内容主要有两个:
1、数据分析层面:在可视化报告中单独的一个销售业绩指标是没有意义的,只有通过对比指标才能知道销售业绩指标的好坏。对比方法主要通过同指标不同时间的对比,通过PowerBI智能时间函数,可以更加方便的计算累计销售额(YTD),同比(与去年同期对比),环比(与上月对比)等指标。
2、图表层面:使用KPI图表可以更加直观的显示业绩完成状况。通过对同比,环比格式设置可以进行分阶段显示数据。
本文的数据源主要包含有销售明细数据,销售目标数据,以及日期数据源。
销售明细数据
销售目标数据
日期数据
一、创建日期表
日期表作为时间智能函数的基础表,PowerBI可以自动未具有日期或日期时间类型的字段自动创建一个隐藏的日期表。动手操作PowerBI的小伙伴们应该都已经发现了这个功能。软件自带的日期表开启方式如下图:(打开路径:文件=》选项和设置=》选项=》数据加载,默认已勾选自动日期/时间)
上图中的自动日期表并不能够很好的满足不同的业务场景需求,在模型复杂的情况下也会导致文件体积偏大,我们可以通过手动创建日期表。接下来我会教大家创建日期表的三种方式。
1、使用Excel文件创建日期表
新建Excel文件,在Excel工作表中手动填写相应日期字段(注意:第一列日期列是必须列,其他日期字段大家可以按需求添加即可)
将Excel文件导入PowerBI并标记为日期表,勾选标记为日期表即可正常使用
小结:Excel的方式处理日期表最大的优势在于可以随时进行改动,也可以添加列,方便在报表中使用数据。
2、使用DAX函数创建日期表
DAX函数创建日期表的方式网上有很多种,这里我就介绍最简单的两种方式:CALENDARTAUTO和CALENDAR函数构建日期表。
2.1CALENDARTAUTO函数
CALENDARTAUTO函数主要依托数据源中的日期范围,选择建模选项卡新建一个空白表,输入公式:CALENDARTAUTO日期表=CALENDARTAUTO()。在PowerBI中会自动识别业务数据中涉及的日期范围生成日期表。在本文中业务数据的日期范围从2018-1-1到2019-12-31的所有日期。当然我们还需要添加日期列,如年份,月份等。操作和Excel中操作方式相同,用Year函数创建年份,用Month函数创建月份即可,这里就不做展现了大家可以看销售目标中的公式参考。创建完成后将该表标记为日期表。
2.2CALENDAR函数
CALENDAR函数用于手动指定日期范围,大家可以根据需要进行填写起始日期和结束日期生成。具体步骤如下:新建空白表,使用CALENDAR函数输入开始日期和结束日期即可生成相应范围的日期表。
小结:使用DAX函数创建日期表最大的好处不用外置表格,不用担心文件路径发生改变。这里只是展现了PowerBI DAX函数创建日期表的两种方式。该方式属于PowerBI函数使用中比较基础的制作方式,大家也可以使用更加复杂的函数来应对复杂的应用需求。可以参考SQLBI出品的日期表,稍作修改就可以为自己所用。下载方式在小黎子数据分析公众号回复括号内【DAXDATE】内容获取文件。
3、使用M函数创建日期表
使用M函数就需要切换软件到PowerQuery中。使用M函数List.Dates可以创建指定起始日期和天数的日期表。这种方式不需要使用公式,直接在功能列表中操作提取年份,季度,月份等字段。具体操作步骤如下:
3.1新建空白查询
打开Power Query,新建一个空白查询
3.2使用List.Dates函数构建日期列表,该函数有三个参数分别是:起始日期,日期天数,日期间隔
3.3添加日期字段列
将列表转换为表格,点击确定。重命名列名称为日期
切换到添加列选项卡,点击日期,提取年份,季度,月份
添加完成后关闭并应用,进入PowerBI主界面进行下一步操作。
小结:M函数构建日期表的优点主要在于提取列无需手动在编辑公式,对于不太熟悉公式的小伙伴操作还是非常方便的。这里还可以通过导入网络上的节假日,天气数据使得日期表属性更加丰富,便于后续的分析场景使用。
二、计算指标的同比、环比、累计
日期表建立完成后,建立日期表与其他数据之间的关系,即可使用时间智能函数计算同比,环比,累计等度量值。孤立的数据没有意义,只有在对比才能知道指标的高低。所以同比、环比查看时间维度的对比关系就显得比较重要。在建立指标之前,我们先通过销售数据和销售明细,日期表建立表和表之间的关联关系。如下图:
1、计算业绩的同比
同比时今年和去年同期数据的对比,公式:同比(%)=(本期销售业绩-去年同期销售业绩)/去年同期销售业绩*100%
在计算同比之前,我们需要先计算本期销售业绩和去年同期销售业绩。
在销售明细表中新建新建本期销售业绩度量值,公式:本期销售业绩 = SUM('销售明细'[销售额])
再新建去年同期销售业绩度量值,公式:去年同期销售业绩 = CALCULATE([本期销售业绩],DATEADD('日期表'[日期],-1,YEAR) )
在去年同期销售业绩中,CALCULATE函数与时间智能函数DATEADD配合进行计算。DATEADD主要有三个参数,第一个参数日期列表,第二个和第三个参数组合代表向前推一年,去年同期的销售数据。
在可视化面板中拖放日期表中年,月字段和销售明细表中的本期销售业绩和去年同期的销售业绩,来展现效果查看验证度量值是否取数准确。
计算好本期销售业绩和去年同期销售业绩后,开始新建同比度量值。公式:同比 = DIVIDE([本期销售业绩]-[去年同期销售业绩],[去年同期销售业绩])
2、计算业绩环比
案例中的环比为本月销售数据和上月数据进行比较,公式:环比(%)=(本月销售业绩-上月销售业绩)/本月销售业绩*100%
公式中的本月销售业绩我们在前面的步骤中已经添加,接下来我们处理商业销售业绩度量值。
公式:上月销售业绩 = CALCULATE([本期销售业绩],DATEADD('日期表'[日期],-1,MONTH))
看到上月销售业绩度量值,大家有没有发现和去年同期销售业绩度量值相似,上月销售业绩也使用DATEADD函数,不同的是最后一个参数更换为month.上月是对比月份滚动计算的。
最后新建环比度量值,公式:环比 = DIVIDE([本期销售业绩]-[上月销售业绩],[上月销售业绩])
3、计算累计销售额
在计算累计销售额之前,我们需要知道什么是累计销售额。累计销售额是指从某年的1月1日到当前的销售额,累计销售额和年度销售目标或者去年累计销售额做对比查看销售情况。
新建本期销售业绩YTD度量值,输入函数:本期销售业绩YTD=TOTALYTD([本期销售业绩],'日期表'[日期])
公式解析:TOTALYTD函数根据当前上下文计算从年初到当前的累计值,第一参数为计算度量,第二个参数为日期列表,第三个参数过滤器,非必须项可以不用填写,第四个参数定义年终日期,一般为12月31日。当然也有部分企业财年和自然年并不重合,所以可以使用第四个参数指定财年的最后日期。在PowerBI中还有一个类似的函数TOTALMTD用来计算月度累计值。
在图表中我们可以看到到2019年,2018年的数据就已经停止累加了。开始累加2019年的数据。前面我们也提到过按月进行计算同比数据有时候我们需要查看累计同比数据,举个例子:业务部门需要将1-6月半年的数据和去年的1-6月累计数据进行对比分析,这个时候我们只需要将销售相关度量值替换为累计销售额。
公式:去年同期销售业绩YTD=CALCULATE([本期销售业绩YTD],DATEADD('日期表'[日期],-1,YEAR) )
同比YTD= DIVIDE([本期销售业绩YTD]-[去年同期销售业绩YTD],[去年同期销售业绩YTD])
最后计算业绩完成率指标:
本期销售目标 = SUM('销售目标'[销售目标])
业绩完成率 = DIVIDE([本期销售业绩],[本期销售目标])
三、制作可视化报告
1、制作销售业绩变化情况图表
销售业绩变化情况图表主要使用PowerBI的折线和族状柱形图,在共享轴中设置年月,列值中放置本期销售业绩,行值设置同比和环比
2、制作KPI图表业绩完成率
KPI图表可以从应用商店进行下载图表控件
我们要处理的是KPI指标,在搜索框中输入KPI。这里添加KPI Indicator图表控件,大家可以业务场景选择不同的业务指标。注意:商店中有些控件会显示需要额外购买,该类型控件属于收费控件
按照下图添加相应的值
切换到格式选项卡,选择类型为sum
在格式中我们可以设置完成业绩的为绿色,为完成为红色
到这里我们就完成了KPI图表的设置,通过页面筛选器我们可以查看指定日期段的数据
3、设置同比累计图表
同比图表设置也是采用KPI图表制作,这里我就不在细说了。直接上图
设置格式需要注意,同比比率是不可累加指标。所以这里需要设置聚合类型为区去最后的值。设置完成后再根据年月进行排序。
4、制作销售业绩完成率图表
PowerBI对表格的操作非常灵活,这里我们就已同比环比为例,首先拖放相应字段到表格
方法一、按色阶设置同比环比的背景色。步骤:选择同比,条件格式,背景色
选择格式模式为色阶,进行调整相应颜色设置
方法二、按度量值设置环比和同比YTD背景色
新建背景色度量值,环比公式:环比背景色=IF([环比]>=0,"Green","Red")
同比YTD公式:同比YTD背景色 = SWITCH(TRUE(),[同比YTD]<=0,"Red",[同比YTD]<=0.25,"Gray","Green")
然后按照方法一进行设置背景色格式
设置完成后我们就完成了所有图表的工作,接下来进行排版后的效果图
四、总结
本文中展现的报告看似简单,但却使用了了PowerBI的时间智能函数相关核心技术,主要内容有如下:
1、使用Excel表格、DAX函数以及M函数创建日期表
2、使用时间智能函数DATEADD,TOTALYTD与万能函数CALCULATE进行计算指标
3、使用应用商店的图表控件进行多种类型的KPI展现,并介绍了两种处理方式
注意:PowerBI时间智能函数远远不只是这些,本文中只是介绍了最核心的内容。推荐大家扩展学习其他的相关函数使用,当然在应用商店中有很丰富的图表供大家使用。根据场景合理使用图表。