发布:2024/11/22 12:18:56作者:管理员 来源:本站 浏览次数:127
在讲 DAX 时间函数之前,请大家先保存以下下面的代码,这是用来生成一个日期表的,非常实用,对着代码讲学得更快。
日期表 = --------------------POWER BI 中制作日期表的相关参数,可根据需要修改
VAR YearStart = 2020 //起始年度
VAR YearEnd = 2024 //结束年度
VAR WeekNumberType = 2 // WEEKNUM 第二个参数类型,控制每周的开始时间,返回此周在一年中的编号 // 1,一周从星期日开始 // 2,一周从星期一开始
VAR WeekDayType = 2 // WEEKDAY第二个参数类型,控制每周的开始时间,返回周几的编号 // 1,一周从星期日 (1) 开始,到星期六 (7) 结束,编号 1 到 7 // 2,一周从星期一 (1) 开始,到星期日 (7) 结束,编号 1 到 7 // 3,一周从星期一 (0) 开始,到星期日 (6) 结束,编号 0 到 6-----------------------------------------------------------------
RETURN
GENERATE (
CALENDAR( DATE( YearStart , 1 , 1 ) ,
DATE( YearEnd , 12 , 31 )
),
VAR Year = YEAR ( [Date] )
VAR Month = MONTH ( [Date] )
VAR Quarter = QUARTER( [Date] )
VAR Day = DAY( [Date] )
VAR YearMonth = Year * 100 + Month
VAR Weekday = WEEKDAY( [Date] , WeekDayType )
VAR WeekOfYear = WEEKNUM( [Date] , WeekNumberType )
RETURN ROW ( "年" , Year ,
"季" , Quarter ,
"月" , Month ,
"日" , Day ,
"年度名称" , "Y" & Year ,
"季度名称" , "Q" & Quarter ,
"年度季度", Year & "Q" & Quarter ,
"年季编号" , ( Year - YearStart )*4 + Quarter,
"年月编号" , ( Year - YearStart )*12 + Month,
"年度第几日" , INT( [Date] - DATE( Year , 1 , 1 ) + 1 ),
"星期编号" , Weekday,
"星期名称" , FORMAT( [Date] , "AAAA" ) ,
"星期英文" , FORMAT( [Date] , "DDD" ) ,
"年度第几周" , WeekOfYear ,
"周编号", "W" & RIGHT( 0 & WeekOfYear , 2 ) ,
"年周" , Year & "W" & RIGHT( 0 & WeekOfYear , 2 ) ,
"日期编码" , Year * 10000 + Month * 100 + Day
)
)
这一段代码会生成如下的日期表,直到 2024 年结束
在讲 DAX 时间函数之前,先说一下日期格式,日期格式中有 7 个属性,分别是“Date”、“MonthNo”、“QuarterNo”、“年”、“日”、“月份”。
这 7 个属性是什么,可以简单从下表看出来。
1)此处最关键的函数即 CALENDAR,它有两个参数 <起始日期>,<截止日期>,请注意此处
<起始日期>,<截止日期> 类型都是 DATE 日期类型,它是由 DATE 函数生成的。
CALENDAR 生成了一个列表,从<起始日期> 到<截止日期>,其中每个标量都是都是日期格式的。
2)DATE 函数非常重要,它有三个参数 <年>, <月>, <日> ,缺一不可。每个参数都是一个确切的整数。
DATE 函数有很强的容错机制,如果输入参数有误,那么它会生成最接近的日期。
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4