power bi制作各季度收入累加柱状图——日期表、calculate、datesytd
一、数据介绍:
2017-2019年订单销售收入数据(订单日期,销售收入)
二、效果展示:
三、操作步骤:
1、建立日期表
(1)建立原因
本次度量值编写需要运用到datesytd这一时间智能函数,而该函数应用的日期列必须是连续日期,本数据表中的订单日期不是连续的,所以要创建一个拥有连续无间断日期的日期表辅助
(2)建立步骤
方法一:CALENDARAUTO
选择新建表——输入公式dates=CALENDARAUTO()自动生成一列涵盖数据中订单日期的连续日期列date
CALENDARAUTO函数介绍:
CALENDARAUTO([fiscal_year_end_month])
返回一个连续无间断日期表,其中包含一个名为“Date”的列,[fiscal_year_end_month] 是一个可选参数,表示财政年度结束的月份。如果省略这个参数,默认的财政年度结束月份为12月。
·提供CALENDARAUTO(3),则将返回2020年4月1日至2022年3月31日之间的所有日期,因为3月是指定的财政年度结束月份。
·提供CALENDARAUTO(),则自动生成一个包含连续日期的表。
方法二:CALENDAR
选择新建表——输入公式dates=CALENDAR(DATE(2017,1,1),DATE(2019,12,31))
CALENDAR函数介绍:
CALENDAR(<start_date>, <end_date>)
返回一个连续无间断日期表,其中包含一个名为“Date”的列,日期范围是从指定的开始日期到指定的结束日期,包括这两个日期。
随着业务的增长,日期表也需要更新,此刻可以根据业务实际变量制定日期表
=CALENDAR (MINX (‘表’, [Date]), MAXX (‘表’, [Date]))
生成以下日期表:
然后根据自动生成的date列提取年份季度
- 年 = year(‘dates’[Date])
- 季度 = quarter(‘dates’[Date])
2、数据建模
将原表中的订单时间列与日期表中生成的date列建立起多对一的连接关系
3、度量值编写
销售收入累加 = CALCULATE(SUM('销售订单'[销售收入]),DATESYTD('dates'[Date]))
calculate函数用法:
新列名=CALCULATE(聚合函数('表名'[列名]),筛选条件1,筛选条件2……)
datesytd函数用法:
DATESYTD('表'[日期列]),年初至今,返回的是一列日期,可以结合calculate使用作为筛选条件
4、柱状图制作
(1)将度量值拖入柱状图y轴,在日期表中新建年份和季度的层次结构并拖入x轴(必须是新建的日期表中的,不能用原有数据表中的订单日期)
(2)设置为以年份季度排序
最终2017-2019年的各季度销售收入累加柱状图制作完成