Power Bi智能时间表函数
如何在Power Bi中根据业务时间构建时间表,主要有两种方案,考虑到方案的动态可更新,采用第二种和第三种,在Bi中动态化时间表
1.方案一:在excel中处理好时间表
2.方案二:Power Bi动态化时间处理:
在Power Bi中根据时间智能函数去构建业务时间上的时间表
实现日期的主要方式有:
DATESBETWEEN(dates, start_date, end_date)
案例解析:DATESBETWEEN(业务日期, MIN(业务日期),MAX(业务日期))
可根据业务日期的最小日期和最大日期构建一个连续的日期表
CALENDAR(start_date, end_date) 根据开始日期和结束日期构造一个日期表
案例解析:CALENDAR(min(业务日期),max(业务日期)) 原理同DATESBETWEEN
3.方案三:
日期表=ADDCOLUMNS(
CALENDAR(min(date),max(date)), //此段代码可复用
"年",year([Date]),
"季度",quarter([Date]),
"月",month([Date]),
"周",weeknum([Date],2),
"年季度",year([Date]) & "Q" & round(month([Date])/3,0),
"年月度",year([Date])*100 + month([Date]), //转换位数字格式
"年周",year([Date])*100 + week([Date],2),
"星期几",weekday([Date],2)
)
基础的日期单列已经构建,即可根据其他日期函数构建完整的时间表
其他时间智能函数
year()
DATESMTD() 本月至今
DATESQTD() 本季度至今
DATESYTD() 本年至今
FIRSTDATE() 返回第一个日期
LASTDATE() 返回最后日期
PREVIOUSDAY() 返回上一日
PREVIOUSMONTH() 返回上一个月
PREVIOUSQUARTER() 返回上一个季度
PREVIOUSYEAR() 返回上一个年度
NEXTDAY() 返回次日
NEXTMONTH() 返回次月
NEXTQUARTER() 返回次季度
NEXTYEAR() 返回次年
ENDOFMONTH() 返回所属月度的最后一天
ENDOFQUARTER() 返回所属季度的最后一天
ENDOFYEAR() 返回所属年度的最后一天
STARTOFMONTH 返回所属月度的第一天
STARTOFQUARTER 返回所属季度的第一天
STARTOFYEAR 返回所属年度的第一天
DATEADD() 返回时间间隔后的时间段