文章导读:《孙兴华讲PowerBI火力全开+可视化+DAX原理》 https://www.ixigua.com/6976409163886756383 《火力全开》笔记19.2 WEEKNUM和WEEKDAY函数 我们只讲了从周日或周一开始的周,讲得比较浅,但是够用了,国内99%以上的……各位看官请向下阅读:
《孙兴华讲PowerBI火力全开+可视化+DAX原理》
https://www.ixigua.com/6976409163886756383
《火力全开》笔记19.2 WEEKNUM和WEEKDAY函数 我们只讲了从周日或周一开始的周,讲得比较浅,但是够用了,国内99%以上的企业都适用,但是一定有特殊企业,今天我们来讲讲各种特殊情况下周的时间智能。
一、WeekNum函数
作用:当前日期在本年中的第几周
语法: WeekNum( 日期, 返回类型) // [<返回类型>]是可选参数
表名:Sheet1
参数2和参数11,我没有发现区别,如果有小伙伴知道请在评论区留言!除参数21之外,根据自己企业规则选择使用即可。
【重点】当参数为21时,2022年第1个星期四出现在2022/1/6,那么2022/1/6那一周从周一到周日被认为是2022年第1周(如下图所示)。这时就出现一个问题。2022/1/1~2022/1/2应该被认定为2021年,从2022/1/3日起被认定为2022年。解决这个问题我们要慢慢讲。
【新建列】年 = year('Sheet1'[日期])
二、利用WEEKDAY函数计算修证年
作用:当前日期在本周中的第几天
语法:WEEKDAY ( 日期, 返回类型 ) // [<返回类型>]是可选参数
同WeekNum函数,当返回类型为2和11时,我没有发现区别,如有知道的小伙伴请评论区留言。大家互通有无。
【新建列】本周第几天 = WEEKDAY('Sheet1'[日期],2)
// 因WeekNum参数21是从周一开始,所以WeekDay我们也从周一开始返回1
我们现在进行小学生的数学分析:WeekNum参数21是从周一开始,当前第一个周四所在的那一周是第1周。
所以:第一个周四最晚会出现在7号。(这是数学常识)
最多就是1月1日至3日需要调整到上一年,分别向前平移1~3天即可实现。
我们画个小学生的数学思维图,公式就出来了。
【新建列】修正年 = year('Sheet1'[日期]+(4-WEEKDAY('Sheet1'[日期],2)) )
三、计算日期是当年的第几天
【新建列】正常情况下天数 = int('Sheet1'[日期]-date(year('Sheet1'[日期]),1,1))+1
// 当前日期,减去当前年1月1日+1就是天数,例如2021/1/1-2021/1/1+1=1
表名:Sheet1
当WeekNum参数21时,天数就不是这样算了,如下图所示,我手工写出正确天数
Ps:2004年1月1日是个星期四,比较特殊的一年。
我们现在进行分析,利用逻辑思维找循环!
(1)我们以2021年1月4日为例,按照参数21的原则,它应该是2021年第1天,那它前面有3天,让2021/1/4-2021/1/3=1,用这个逻辑将以上日期都写出【应减日期】
应减日期 = 日期 - 天数
(2)我们深入观察,发现了第1个规律,每个应减日期都接近1月1日,那我就取每个日期当年的1月1日(做起始日)
平移天数 = 应减日期 - 起始日
(3)我又发现第2个规律,平移天数与我们的起始日在本周第几天很接近
起始日在本周第几天 = WEEKDAY([起始日],2)
(3)我又发现了第3个规律(如上图所示):当【起始日在本周第几天】大于4时
平移天数 = 一周总天数 - 起始日在本周第几天
当【起始日在本周第几天】小于等于4时,取它自身的负数
【新建列】平移天数 = if('Sheet1'[起始日在本周第几天]>3,7-[起始日在本周第几天],-[起始日在本周第几天])
这句话还有另一种写法:
【新建列】平移天数 = - 'Sheet1'[起始日在本周第几天] + ( ( 'Sheet1'[起始日在本周第几天] >4 ) *7)
问题解决了:应减天数= 起始日+平移天数
将上述过程使用VAR变量,写成一个【新建列】函数:
天数 =VAR x = 'Sheet1'[修证年]VAR y = DATE ( x, 1, 1 )VAR z = WEEKDAY ( y, 2 )VAR a = - z + ( ( z >4 ) *7)VAR b = y + areturnint('Sheet1'[日期]-b)
友情提示:《The Definitive Guide to DAX》书中还提供了几个案例可供参考,前提是你们企业能用到这种周智能方案。
以上内容由优质教程资源合作伙伴 “鲸鱼办公” 整理编辑,如果对您有帮助欢迎转发分享!
你可能对这些文章感兴趣:- Excel表格十大函数(Excel表格函数公式出现错误怎么办?)
- 对不起!忘了告诉你如何激活win10LTSC版,比windows7流畅干净
- Mac新手使用技巧——Mac音量调节
- 新入手的iPhone 13,记得提前打开这5个功能,让手机更好用
- iPhone状态栏中怎么显示图标 状态栏爱心等图标设置方法
- iphone应用图标大小要怎么调整?(iPhone应用图标大小)
- 有办法了!批量删除多个Word页眉页脚
- Excel常用函数知识:使用RANK.EQ或RANK.AVG函数进行排名计算
- RANKIF?Excel中有这个函数吗?
- 手机与和U盘的连接及文件操作(手机直接连接u盘为什么不能互传文件)
本文地址:https://logohe.com/468611.html ,如需转载请文章来源:办公资源网
声明:本站所有文章均为网络资源收集于及用户投稿,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。如若本站内容侵犯了原著者的合法权益,请联系站长484405847@qq.com删除,我们将及时处理!