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

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

Power BI之DAX神功:第4卷第22回 計算數(shù)據(jù)的連續(xù)次數(shù)

2021-12-31 09:49 作者:孫興華zz  | 我要投稿

今天是DAX神功主線劇情最后一集,我先做總結(jié):

關(guān)于DAX原理是不是騙人的,這是相對論證不是絕對論證。

如果只是完成這項工作,我在PowerQuery M函數(shù)中講過,Table.Group第四參數(shù)就搞定了。

對連續(xù)日期分組:https://www.bilibili.com/video/BV1cL4y1i7EH

對連續(xù)內(nèi)容分組:https://www.bilibili.com/video/BV12f4y1K7bD

關(guān)于計算最大連續(xù)次數(shù)根本就沒有網(wǎng)上說的那么簡單,他們用的表都是做好一半了,然而你的表并不是那樣的。在PowerQuery中數(shù)據(jù)清洗很簡單,到了DAX中可就沒有那么容易了。網(wǎng)上你能看到的原始表格基本就是下面兩種:

就好比《DAX神功》第3卷第2回講父子層級時,父子層級的表難到你要手工敲出來嗎?我的方法不一定是最好的,可能慢一些,但是我將這項工作交給計算機來做。

有大神說過:在PowerQuery中處理后再送到DAX中分析,由于往往在用戶選擇以后的計算無法提前預(yù)知,不能做到動態(tài),使用PowerQuery處理后再分析的人就是沒有入門DAX的人。

但是你時刻要明白一個道理,你主業(yè)是做什么的?你是數(shù)據(jù)分析師、BI總監(jiān)那要用專業(yè)的方法來要求你。你是做人力、財務(wù)、老師、醫(yī)生。。。。我個人認(rèn)為你應(yīng)該先做好本職工作,數(shù)據(jù)分析只是你的一項工具,就像做飯一樣,不要本末倒置。如果我是一名高三教師,我教出來的學(xué)生本科率0%,但是我的PowerBI玩的好,我會動態(tài),這就可笑了。每個人的精力是有限的,很多時候,你需要快速完成一項分析,而不是設(shè)計一個項目。

當(dāng)年歐陽峰臨終前對楊過說,如果我真的和洪七公打起來,我打不過他的打狗棒法,我雖然破解了,可是實戰(zhàn)中哪有那么多時間去破解?這句話古天樂可以做證。

一、計算最大連續(xù)日期天數(shù)

Ps: 日期也是數(shù)字,所以日期連續(xù)天數(shù)和數(shù)字連續(xù)次數(shù)方法相同

今天我們就拿Sheet1這張表為例展開分析:(如下圖所示)

表名:Sheet1

你用網(wǎng)上的方法,能不能算出這張表的最大連續(xù)天數(shù)呢?紅色字體連續(xù)4天,紫色字體連續(xù)3天,藍(lán)色字體連續(xù)2天,最大連接天數(shù)4天。肉眼看出來的不算數(shù),讓你用DAX公式做。我于2021年11月14日答網(wǎng)友問的視頻中講了使用PowerQuery M函數(shù)《對連續(xù)日期分組》,Table.Group第4參數(shù)可以將連續(xù)相同的元素分在一組,但是很多人喜歡來DAX中做,安排!

聲明:我的方法不一定是最好的,網(wǎng)上看到很多言論,認(rèn)為誰的代碼慢誰就是坑人誤導(dǎo)人,1999年的電腦比現(xiàn)在的慢,難到當(dāng)年的Intel和AMD都是坑人誤導(dǎo)人?誰不是一步一步成長起來的?

其實解決這個問題一個度量值就搞定了,但是我們要逐步分析,讓你做到舉一反三

【1】建立動態(tài)日期表

因為沒有2021/1/8,這造成了上一個連續(xù)區(qū)間與下一個連續(xù)區(qū)間重合

動態(tài)日期表,我們只需要一個Date列

// 代碼不用解釋,CALENDAR(開始日期,結(jié)束日期) 火力全開中都講過

返回結(jié)果:

【2】左外挖空EXCEPT

上圖左表是Sheet1,右表是我新建的日期表,我想從日期表中將Sheet1表中有的日期摳出去,應(yīng)該用EXCEPT函數(shù)。詳見《DAX神功》第3卷第8回

返回結(jié)果:

【3】將左外挖空的結(jié)果與Sheet1表合并到一起

但是,因為左外挖空的結(jié)果只有一列,UNION合并要求是列數(shù)相同,所以我們要給左外挖空添加一個空列,就可以合并了。

返回結(jié)果:

返回結(jié)果:

【4】利用RankX函數(shù)給上表加索引

返回結(jié)果:

【5】給上表添加一個判斷列,銷量不為空就返回1,否則返回Blank()

那空的就是咱們補進(jìn)來占位的日期

返回結(jié)果:

【6】最重要的一步分析(這一步我們用簡單的數(shù)據(jù)測試)

這一段你要非常認(rèn)真的去測試,除非你對計算過程了如指掌。

表名:表1

我們想計算數(shù)值列的最大連續(xù)次數(shù),那肯定是:2

這里還是利用我們M函數(shù)Table.Group第4參數(shù)的邏輯,想辦法實現(xiàn)下表的樣子:

然后再統(tǒng)計ABCDE誰的行數(shù)最多,是多少行!

這張圖是想像出來的

我們回憶《DAX神功》第2卷第2回的知識來處理今天的問題

A:每行都返回:1+1+1=3

B:每行都返回:1+1+1+1+1+1=6 (因為有6行,每行返回1*6)

每行都鎖定小于等于當(dāng)前行的索引所產(chǎn)生的表,用產(chǎn)生的這張表的總行數(shù) 減去 這張表的數(shù)值之和,計算順序見下圖:

返回結(jié)果:

接下來我們對判斷列聚合計數(shù):

《DAX神功》第4卷第21回講的使用summarize分組聚合

先用Summarize分組,

返回結(jié)果:

用這張表的當(dāng)前行的值,在表1中計算對應(yīng)的行數(shù)。

// 這里要注意,Addcolumns派生列沒有篩選功能,但是這里我們每行對應(yīng)一張表,是通過FILTER('表1',[分組值]=x)篩選出來,使用COUNTROWS計數(shù)的,不存在篩選的問題。

返回結(jié)果:

然后我們?nèi)ビ嬎恪敬螖?shù)】列最大值-1就可以了。

切記一定用最簡單的數(shù)據(jù)測試?。?!用最簡單的數(shù)據(jù)測試?。?!用最簡單的數(shù)據(jù)測試!?。?span id="s0sssss00s" class="color-default">我特別不理解,你在學(xué)習(xí)中為什么要使用幾十行以上的數(shù)據(jù)呢?又不是研究優(yōu)化,你用那么多行的數(shù)據(jù)怎么能做到一眼看出正確答案呢?

【7】直接寫我們計算最大連續(xù)日期的度量值

剛才第5步,我們已經(jīng)算到tb5了,第6步我們通過簡單案例搞定了后面的內(nèi)容,現(xiàn)在直接寫出度量值吧。

友情提示:if([索引]<=x,1-[判斷])? 也可以寫成 ([索引]<=x)*(1-[判斷]),因為if(True,執(zhí)行內(nèi)容,BLANK()),True就是1,只要滿足([索引]<=x)條件就返回1;如果不滿足條件,就是否則0乘以任何數(shù)等于0就是BLANK()。這個簡寫我們在Python和VBA中都給大家介紹過。

返回結(jié)果:

二、非數(shù)值/日期類型的連續(xù)次數(shù)計算

表名:Sheet2

【1】利用PowerQuery增加索引列

很遺憾的告訴大家,我就是大神口中那個沒入門DAX的人;這張表讓我加索引,我用DAX搞不定,因為我沒入門呀:)現(xiàn)在時間是:公元2021年12月31日,不知道以后的DAX中會不會有增加索引的函數(shù)。

相同的值返回相同的序號這個我們都會!但是如上圖所示,原表就一列,就是將原表變成右邊的表,用DAX我不會。如果哪位大神知道歡迎指教。大神們經(jīng)常是有所保留,像這種簡單的問題,他們從來不幫助我,總是私信我說哪里哪里你說的不對,我說對的是什么?

大神說:內(nèi)層、外層、隱形、顯形、循環(huán)依賴、沿襲..........一句自己的理解都不說,完全背書式的給我堆名詞??

我說:停停停。。。你這是《DAX權(quán)威指南》上面的原話,重復(fù)它干什么嘛?

我們通過上圖回到PowerQuery或者在導(dǎo)入時點擊編輯進(jìn)入PowerQuery

【添加列】~【索引列】~【從1】

【主頁】~【關(guān)閉并應(yīng)用】~【關(guān)閉并應(yīng)用】??就回來了!

【2】給Sheet2新建列,讓他顯示下一個姓名

《DAX神功》第1卷第14回 中的原例,知道為什么要在DAX神功在這一回,重點重復(fù)《火力全開》中的這個案例嗎?因為《DAX神功》主線劇情最終回(第4卷第22回)要用到。

返回結(jié)果:

【3】如果【姓名】=【下一個姓名】就返回1

意思就是下一行還是這個名子就是連續(xù)唄

【4】求分組值

公式我們在上一個案例上詳細(xì)展開講解了,不再重復(fù)

返回結(jié)果:

【5】分組聚合

上一個案例詳細(xì)講過了,這里不再重復(fù)

返回結(jié)果:去計算【次數(shù)】列最大值就可以了。

【6】我們將上面的步驟寫成度量值

返回結(jié)果:

友情提示:如果你是復(fù)制我的代碼,發(fā)現(xiàn)下面的問題,不要驚慌,鼠標(biāo)點一下公式任何位置都可以,再回車一下就好了。

《DAX神功》主線劇情到此結(jié)束,全4卷+答網(wǎng)友問共106集

我們盡快安排《DAX神功》DLC部分同時會堅持創(chuàng)作《DAX神功番外篇》

四、寫在最后感謝一直在幫助我的部分講師和粉絲

感謝哈羅雷球白夕尚*等諸位前輩,如果不是各位的鼎力幫助和動力支持,《DAX神功》可能永遠(yuǎn)不會問世,必境這耗費了我5個月的時間,人這一生能有多少5個月?《DAX神功》是我給各位的新年禮物,在2021最后之際,孫興華祝各位前輩生意興隆通四海,財源茂盛達(dá)三江,四海八荒任你行,我們?nèi)雷雠笥眩?/p>

尊敬的各位粉絲,在這個世界上,除了我的父母和我大哥以外,你們是我最親的人,因為有了你們我有了活下去的勇氣,每次看到你們點贊、留言、彈幕,我都很欣慰,在我生命接近尾聲的時候遇到了你們,或許是命中注定,我要盡可能做更多有意義的事情,幫助更多的人。感謝所有支持我的朋友們,希望你們所有人永遠(yuǎn)平安、幸福;祝我們偉大的祖國繁榮昌盛。

????????????????????????????????????????????????????????????????????????????? ??????????????????????????孫興華

???????????????????????????????????????????????????????????????????????????????????????????????? 2021年12月31日?

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

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

《DAX神功》文字版合集:

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

《DAX神功》視頻版合集:

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

《DAX神功番外篇》文字版合集:

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

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

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

Power BI之DAX神功:第4卷第22回 計算數(shù)據(jù)的連續(xù)次數(shù)的評論 (共 條)

分享到微博請遵守國家法律
五指山市| 富宁县| 江达县| 右玉县| 夏邑县| 长沙市| 明星| 禄劝| 社会| 城固县| 河西区| 泊头市| 平乡县| 台中县| 张家川| 伊宁县| 绥德县| 纳雍县| 龙门县| 平度市| 迁安市| 东乡族自治县| 道孚县| 陆河县| 望江县| 宁阳县| 赤峰市| 禄丰县| 石城县| 龙游县| 淮南市| 逊克县| 吕梁市| 赤壁市| 徐水县| 汝城县| 永昌县| 亳州市| 曲阳县| 宁阳县| 龙海市|