1. DAX 时间函数--生成日期表

本文介绍了如何在PowerBI中使用DAX函数生成日期表,重点讲解了CALENDAR和DATE函数的作用,以及日期表中的关键属性如年、季度、星期等。
摘要由CSDN通过智能技术生成

在讲 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 函数有很强的容错机制,如果输入参数有误,那么它会生成最接近的日期。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南野栀子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值