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

歡迎光臨散文網(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)遵守國家法律
夹江县| 民权县| 顺义区| 青岛市| 晋城| 满洲里市| 武川县| 维西| 昭通市| 布拖县| 正安县| 北碚区| 积石山| 阳朔县| 济源市| 睢宁县| 德昌县| 舞阳县| 扶余县| 高阳县| 喜德县| 阜康市| 鲁山县| 襄垣县| 七台河市| 南康市| 太康县| 五河县| 顺昌县| 德州市| 贺兰县| 南陵县| 宜丰县| 永安市| 辽宁省| 岚皋县| 湖州市| 霍州市| 诸城市| 巨鹿县| 安乡县|