最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Power BI之DAX神功:第2卷第17回 基于周的時(shí)間智能

2021-11-12 14:20 作者:孫興華zz  | 我要投稿

《火力全開(kāi)》筆記19.2 WEEKNUM和WEEKDAY函數(shù) 我們只講了從周日或周一開(kāi)始的周,講的比較淺,但是夠用了,國(guó)內(nèi)99%以上的企業(yè)都適用,但是一定有特殊企業(yè),今天我們來(lái)講講各種特殊情況下周的時(shí)間智能。

友情提示:如果你用不到,這集可以跳過(guò)。其實(shí)知道怎么用就可以了,沒(méi)必要研究原理,為了防止別人說(shuō)我不講原理,這里我就展開(kāi)來(lái)講講:

一、WeekNum函數(shù)

作用:當(dāng)前日期在本年中的第幾周

語(yǔ)法:?WeekNum( 日期, 返回類型)? ??//??[<返回類型>]是可選參數(shù)

表名:Sheet1

參數(shù)2和參數(shù)11,我沒(méi)有發(fā)現(xiàn)區(qū)別,如果有小伙伴知道請(qǐng)?jiān)谠u(píng)論區(qū)留言!除參數(shù)21之外,根據(jù)自己企業(yè)規(guī)則選擇使用即可。

【重點(diǎn)】當(dāng)參數(shù)為21時(shí),2022年第1個(gè)星期四出現(xiàn)在2022/1/6,那么2022/1/6那一周從周一到周日被認(rèn)為是2022年第1周(如下圖所示)。這時(shí)就出現(xiàn)一個(gè)問(wèn)題。2022/1/1~2022/1/2應(yīng)該被認(rèn)定為2021年,從2022/1/3日起被認(rèn)定為2022年。解決這個(gè)問(wèn)題我們要慢慢講。

【新建列】年 = year('Sheet1'[日期])

二、利用WEEKDAY函數(shù)計(jì)算修證年

作用:當(dāng)前日期在本周中的第幾天?

語(yǔ)法:WEEKDAY ( 日期, 返回類型?)???//??[<返回類型>]是可選參數(shù)

同WeekNum函數(shù),當(dāng)返回類型為2和11時(shí),我沒(méi)有發(fā)現(xiàn)區(qū)別,如有知道的小伙伴請(qǐng)?jiān)u論區(qū)留言。大家互通有無(wú)。

【新建列】本周第幾天 = WEEKDAY('Sheet1'[日期],2)

// 因WeekNum參數(shù)21是從周一開(kāi)始,所以WeekDay我們也從周一開(kāi)始返回1

我們現(xiàn)在進(jìn)行小學(xué)生的數(shù)學(xué)分析:WeekNum參數(shù)21是從周一開(kāi)始,當(dāng)前第一個(gè)周四所在的那一周是第1周。

所以:第一個(gè)周四最晚會(huì)出現(xiàn)在7號(hào)。(這是數(shù)學(xué)常識(shí))

最多就是1月1日至3日需要調(diào)整到上一年,分別向前平移1~3天即可實(shí)現(xiàn)。

我們畫個(gè)小學(xué)生的數(shù)學(xué)思維圖,公式就出來(lái)了。

【新建列】修證年 = year('Sheet1'[日期]+(4-WEEKDAY('Sheet1'[日期],2)) )

三、計(jì)算日期是當(dāng)年的第幾天

【新建列】正常情況下天數(shù) = int('Sheet1'[日期]-date(year('Sheet1'[日期]),1,1))+1

// 當(dāng)前日期,減去當(dāng)前年1月1日+1就是天數(shù),例如2021/1/1-2021/1/1+1=1

表名:Sheet1

當(dāng)WeekNum參數(shù)21時(shí),天數(shù)就不是這樣算了,如下圖所示,我手工寫出正確天數(shù)

Ps:2004年1月1日是個(gè)星期四,比較特殊的一年。

我們現(xiàn)在進(jìn)行分析,利用邏輯思維找循環(huán)!

(1)我們以2021年1月4日為例,按照參數(shù)21的原則,它應(yīng)該是2021年第1天,那它前面有3天,讓2021/1/4-2021/1/3=1,用這個(gè)邏輯將以上日期都寫出【應(yīng)減日期】

應(yīng)減日期 = 日期 - 天數(shù)

(2)我們深入觀察,發(fā)現(xiàn)了第1個(gè)規(guī)律,每個(gè)應(yīng)減日期都接近1月1日,那我就取每個(gè)日期當(dāng)年的1月1日(做起始日)

平移天數(shù)?=?應(yīng)減日期?-?起始日

(3)我又發(fā)現(xiàn)第2個(gè)規(guī)律,平移天數(shù)與我們的起始日在本周第幾天很接近

起始日在本周第幾天 = WEEKDAY([起始日],2)

(3)我又發(fā)現(xiàn)了第3個(gè)規(guī)律(如上圖所示):當(dāng)【起始日在本周第幾天】大于4時(shí)

平移天數(shù)?=?一周總天數(shù) - 起始日在本周第幾天

當(dāng)【起始日在本周第幾天】小于等于4時(shí),取它自身的負(fù)數(shù)

【新建列】平移天數(shù) = if('Sheet1'[起始日在本周第幾天]>3,7-[起始日在本周第幾天],-[起始日在本周第幾天])

這句話還有另一種寫法:

【新建列】平移天數(shù) = - 'Sheet1'[起始日在本周第幾天] +?( ( 'Sheet1'[起始日在本周第幾天] >4 ) *7)

問(wèn)題解決了:應(yīng)減天數(shù)= 起始日+平移天數(shù)


將上述過(guò)程使用VAR變量,寫成一個(gè)【新建列】函數(shù):

天數(shù) =?

VAR x = 'Sheet1'[修證年]

VAR y = DATE ( x, 1, 1 )

VAR z = WEEKDAY ( y, 2 )

VAR a = - z + ( ( z >4 ) *7)

VAR b = y + a

return

? ? ? ? int('Sheet1'[日期]-b)

友情提示:《The Definitive Guide to DAX》書中還提供了幾個(gè)案例可供參考,前提是你們企業(yè)能用到這種周智能方案。

《孫興華講PowerBI火力全開(kāi)》PowerBI必學(xué)課程

https://www.bilibili.com/video/BV1qa4y1H7wp

《DAX神功》文字版合集:

https://www.bilibili.com/read/readlist/rl442274

《DAX神功》視頻版合集:

https://www.bilibili.com/video/BV1YE411E7p3

PowerBI(DAX函數(shù))、PowerQuery(M函數(shù))、Python辦公自動(dòng)化、Python爬蟲、Python數(shù)據(jù)分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等

https://www.bilibili.com/read/cv10222110??

Power BI之DAX神功:第2卷第17回 基于周的時(shí)間智能的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
岱山县| 洛扎县| 湖北省| 红河县| 宜春市| 永济市| 尉氏县| 定安县| 阳谷县| 耒阳市| 保山市| 石景山区| 青海省| 澄江县| 衡山县| 烟台市| 吉林市| 彝良县| 海阳市| 个旧市| 随州市| 仙居县| 西宁市| 汕头市| 沙洋县| 颍上县| 资兴市| 洪泽县| 高要市| 页游| 澜沧| 大丰市| 汝南县| 大洼县| 永安市| 桓台县| 平和县| 邵武市| 定日县| 南城县| 沂南县|