国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

Power BI之DAX神功:第2卷第8回 RankX在行上下文中的應(yīng)用

2021-09-22 13:48 作者:孫興華zz  | 我要投稿

當(dāng)你理解了前面幾節(jié)課的知識(shí)后,這節(jié)課的知識(shí)并不難。新建列對(duì)于新入門的小伙伴可以經(jīng)常使用,因?yàn)橹庇^,對(duì)你邏輯影響較小。但是老手使用的頻率就低了。

一、【入門】新建列中的RankX

表名:Sheet1

【度量值】總銷售 = SUM ( 'Sheet1'[銷售])

【新建列】新列=[總銷售]

因?yàn)槎攘恐堤焐哂泻Y選功能的特性,我們沒辦法聚合銷售,就沒有辦法按姓名排名,所以我們要使用ALL(列),指定列取消篩選功能

【新建列】新列 = CALCULATE([總銷售],ALL('Sheet1'[銷售]))

我們需要相同姓名的人銷售聚合!才能對(duì)每個(gè)人進(jìn)行銷售排名,所以要用ALL('Sheet1'[銷售])

這句話,要記住,否則你7秒后就忘記了!RankX用在新建列時(shí),這個(gè)概念很重要。

【新建列】排名 = rankx(all(Sheet1[姓名]),CALCULATE([總銷售],ALL('Sheet1'[銷售])))

默認(rèn)降序,國際排名。

工作原理:

二、【進(jìn)階】新建列中的分層級(jí)RankX

1.簡單版:

表名:Sheet2

【度量值】總銷售2 = sum(Sheet2[銷售])

【新建列】排名 = RankX(all(Sheet2[名稱]),CALCULATE([總銷售2],ALL('Sheet2'[銷售])))

你會(huì)發(fā)現(xiàn),寫法與【入門】是一樣的,你理解它的工作原理后,秒懂:

2.復(fù)雜版

表名:Sheet3

【度量值】總銷售 = SUM ( 'Sheet3'[銷售] )

【新建列】排名 = Rankx(ALL(Sheet3[名稱]), CALCULATE([總銷售],ALL('Sheet3'[銷售])))

這個(gè)原理就不用講了,同理【進(jìn)階】簡單版,無論有多少個(gè)列,都是分組的概念

如果我們讓產(chǎn)地就是個(gè)擺設(shè),只顯示但不影響排名

【新建列】排名 = Rankx(ALL(Sheet3[名稱],Sheet3[產(chǎn)地]), CALCULATE([總銷售],ALL('Sheet3'[銷售])))

《DAX神功》答網(wǎng)友問06 我們同答了度量值中使用RankX時(shí)處理這個(gè)問題的方法,同理可以應(yīng)用到新建列上。也可以使用REMOVEFILTERS

三、答網(wǎng)友問:

問1:為什么我們看到有些人用ALLEXCEPT,而你使用ALL呢?

答1:《DAX神功》第1卷第8回我們講過

ALL(列)? 指定表指定列取消內(nèi)部與外部篩選功能

ALLEXCEPT('表',列)? ?指定表指定列以外的列取消內(nèi)部與外部篩選功能

如上圖所示,我們的公式可以寫成:

【度量值】排名 = RANKX (ALL ( 'Sheet3'[名稱],Sheet3[產(chǎn)地] ),CALCULATE ( [總銷售], ALLEXCEPT('Sheet3','Sheet3'[分類],'Sheet3'[名稱])))

我會(huì)根據(jù)具體情況使用這兩個(gè)函數(shù)。

問2:我在網(wǎng)上看到一個(gè)案例,人家使用了第3參數(shù),請(qǐng)問這是什么原理?如下圖:

答2:因?yàn)槲铱床欢@個(gè)案例的排名需求,如果你們誰能看懂需求,評(píng)論區(qū)留言。

能給我講清楚排名需求,我就能講清楚公式原理。換個(gè)方式,如果你問我,8+6=2是什么原理?我不能說,你將+號(hào)看成-號(hào)了,也許你有特殊的業(yè)務(wù)需求。

你舉的這個(gè)案例,我個(gè)人能想到以下幾種排名情況:

情況一:按品牌排名

【新建列】分配銷售 = CALCULATE([總銷售],all('FACT'[銷售],'FACT'[城市]))

Ps: 這是讓看清楚步驟,我們需要按品牌進(jìn)行銷售聚合,才能排名

【新建列】品牌排名 = rankx(all('FACT'[品牌]),CALCULATE([總銷售],all('FACT'[銷售],'FACT'[城市])))

Ps: 也可以使用ALLEXCEPT

【新建列】品牌排名 = rankx(all('FACT'[品牌]),CALCULATE([總銷售],ALLEXCEPT('FACT','FACT'[品牌])))

情況二:按城市排名(跟情況一很相似)

【新建列】分配銷售 = CALCULATE([總銷售],all('FACT'[銷售],'FACT'[品牌]))

【新建列】品牌排名 = rankx(all('FACT'[城市]),CALCULATE([總銷售],all('FACT'[銷售],'FACT'[品牌])))

情況三:按品牌和城市排名(品牌和城市相同的算一組,例如:華為~深圳)

【新建列】分配銷售=CALCULATE([總銷售],all('FACT'[銷售]))

【新建列】排名 = rankx(all('FACT'[品牌],'FACT'[城市]),CALCULATE([總銷售],all('FACT'[銷售])))

情況四:按品牌分組,對(duì)每組下的城市按銷售排名

Ps: 本文章,二、【進(jìn)階】新建列中的RankX? 1.簡單版

【新建列】排名 = RankX(all('FACT'[城市]),CALCULATE([總銷售],ALL('FACT'[銷售])))

情況五:按城市分組,對(duì)每組下的品牌按銷售排名

Ps: 本文章,二、【進(jìn)階】新建列中的RankX? 1.簡單版

【新建列】排名 = RankX(all('FACT'[品牌]),CALCULATE([總銷售],ALL('FACT'[銷售])))

情況六:只看銷售,從大到小排名

最簡單的方法:

【新建列】排名 = rankx(all('FACT'[品牌],'FACT'[城市],'FACT'[銷售]),[總銷售])

復(fù)雜的方法:

因?yàn)?#34;FACT"這張表是多端表,如果只有這一張表,且你需要對(duì)每條記錄按銷售排序

需要先到PowerQuery中增加索引列,再進(jìn)行排名。

【新建列】排名 = rankx(all('FACT'[索引],'FACT'[品牌],'FACT'[城市]),CALCULATE([總銷售],all('FACT'[銷售])))

當(dāng)然,在《DAX神功》答網(wǎng)友問06時(shí)我們也說過:用REMOVEFILTERS也可以

【新建列】排名 = rankx(all('FACT'[索引]),CALCULATE([總銷售],all('FACT'[銷售]),REMOVEFILTERS('FACT'[品牌],'FACT'[城市])))

DAX非常靈活,靈活到你頭暈眼花,當(dāng)你在網(wǎng)上見到各種方法時(shí),不要輕易的說人家思路不對(duì),坐井觀天,井口的大小就是天的大小。

下節(jié)課,是RankX部分的最后一節(jié)課,小伙伴不要錯(cuò)過哦!

《孫興華講PowerBI火力全開》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卷第8回 RankX在行上下文中的應(yīng)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
邵阳县| 南召县| 甘肃省| 乡城县| 宾川县| 达日县| 青龙| 金沙县| 宿州市| 泗阳县| 林口县| 缙云县| 利津县| 东港市| 绥江县| 宜章县| 金山区| 夹江县| 舟曲县| 湛江市| 获嘉县| 综艺| 巫溪县| 平湖市| 桓仁| 卓资县| 遵义县| 如皋市| 华宁县| 抚远县| 江川县| 仲巴县| 崇明县| 兴宁市| 体育| 来凤县| 星座| 旬阳县| 琼结县| 桐梓县| 康马县|