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

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

Power BI之DAX神功:第3卷第10回 計(jì)算新客戶 方法與原理

2021-12-05 12:06 作者:孫興華zz  | 我要投稿

關(guān)于《The Definitive Guide to DAX》本章節(jié):將銷售額的計(jì)算范圍縮小至首年客戶與之前有一個(gè)計(jì)算從未購買某些產(chǎn)品的客戶數(shù)量,這兩個(gè)案例,我們放到《DAX神功》第3卷末精講ALLSELECTED時(shí)再分析,我不習(xí)慣使用還沒有講過的知識(shí)來講解。

方法一:簡(jiǎn)單粗暴

// 推薦這種方法:新增列會(huì)占用內(nèi)存,請(qǐng)問是內(nèi)存貴,還是植發(fā)貴?你較勁腦汁掉的頭發(fā),想恢復(fù)頭發(fā)的數(shù)量估計(jì):30T內(nèi)存=1次植發(fā)。話出回來真的會(huì)占用內(nèi)存嗎?我看未必,你新建一個(gè)日期表,比我新建一個(gè)列一定省內(nèi)存嗎?不絕對(duì)吧?新建日期表目的只是為了獲取更多維度,如果沒有這個(gè)需求,我覺得沒有必要新建日期表。

課件來自:《跟著孫興華學(xué)習(xí)數(shù)據(jù)分析?第一季?銷售篇》第8集??

文件名:08.計(jì)算新客戶數(shù)量.xlsx

【新建列】

// 《DAX神功》第1卷第14集 講到 VAR 變量名=表[列]? ?指當(dāng)前行的單元格

// 每次都篩選小于當(dāng)前行日期,等于當(dāng)前行姓名的表,判斷表是不是0行,是0行就是首次購買

// 以2020年2月1日 丁智敏為例,小于2020/2/1且姓名是丁智敏的表有一行是2020/1/1?丁智敏所以2020年2月1日?丁智敏就不是首次購買了

【度量值】

現(xiàn)在每個(gè)月份的首次購買人數(shù)就

如果是計(jì)算新客戶消費(fèi)金額:

方法二:將新建列寫在度量值里面,避開日期表

// 使用日期表也沒關(guān)系,可以參考權(quán)威指南就是改一下表名和字段名

【添加列】

我們?yōu)橛唵伪硖砑恿校?span id="s0sssss00s" class="color-green-04">《DAX神功》第1卷第14回 EARLIER函數(shù)

篩選與當(dāng)前行姓名單元格相同的姓名,計(jì)算這個(gè)姓名日期列的最小日期

例如,篩選所有的李平平,取這張表中最小日期

【新建表】使用SUMMARIZE也可以

以上新建列+新建表公式,我們完全可以寫成一個(gè)步驟:【新建表】

如果想計(jì)算每個(gè)月有多少客戶?【度量值】

計(jì)算新客戶數(shù)量:【度量值】

很多人不理解:'tb1'[首次日期] in values('訂單表'[日期]) 是什么意思

新客戶數(shù)量1=countrows(FILTER(tb1,'tb1'[首次日期] in values('訂單表'[日期])))

可以理解為

新客戶數(shù)量1=countrows(tb1篩選后的表)

我們只需要分析tb1篩選后的表

values('訂單表'[日期]) 取訂單表中日期列去重后生成的表,這張表放到矩陣上就會(huì)被行標(biāo)題篩選

FILTER(tb1,'tb1'[首次日期] in?values('訂單表'[日期]))?

// Filter是行上下文,逐行掃描

Ps:上圖只是方便你理解的邏輯圖

我們現(xiàn)在的寫法:

【新建表】tb1=ADDCOLUMNS(VALUES('訂單表'[姓名]),"首次日期",CALCULATE(MIN('訂單表'[日期])))

【度量值】新客戶數(shù)量1=countrows(FILTER(tb1,'tb1'[首次日期] in values('訂單表'[日期])))

如果將上面兩步合并成一個(gè)度量值:

好吧,你現(xiàn)在得到了一個(gè)錯(cuò)誤的結(jié)果,它返回的是每個(gè)月的客戶數(shù),而不是新客戶數(shù)

出現(xiàn)這個(gè)問題的原因:度量值【新客戶數(shù)量1】中的tb1是單獨(dú)生成的表,而度量值【新客戶數(shù)量2】中的tb01是寫在這個(gè)度量值中的變量。

行標(biāo)題只能篩選這個(gè)度量值,不能篩選這個(gè)度量值引用的外部表。但是您將新建表寫在變量中,它就能篩選了。

打個(gè)比方:你與孫興華都喝酒了,只有你在開車,孫興華是坐車的,被交警查到,只抓你。這時(shí)的孫興華就是tb1外部表

但是,如果你和孫興華都喝酒了,你們兩個(gè)人你開一公里,孫興華開一公里,那被查到就都抓了。這時(shí)的孫興華就是tb01變量生成的表

剛才我們通過舉例證明了,我們需要的是行上下文,你篩選就相當(dāng)于將行上下文轉(zhuǎn)換成篩選上下文。就得不到我們下面想要的結(jié)果了,我們需要的是逐行迭代。如下圖所示

如果你喝酒了,不想連帶孫興華,那就不要讓孫興華開車。刪除孫興華篩選。

友情提示:現(xiàn)實(shí)生活中,喝酒不開車!道路千萬條,安全第一條,行車不規(guī)范,親人兩行淚

calculatetable(孫興華,ALL('訂單表'))? //這樣就刪除了孫興華的篩選功能。

所以度量值應(yīng)該寫成:

孫興華講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神功:第3卷第10回 計(jì)算新客戶 方法與原理的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
洛隆县| 介休市| 祁东县| 桦南县| 沁阳市| 栖霞市| 丹阳市| 陵川县| 布尔津县| 旬邑县| 革吉县| 盐津县| 贵港市| 临清市| 巴林左旗| 兰州市| 福泉市| 庆云县| 安乡县| 铁岭市| 银川市| 吉首市| 寿阳县| 凌源市| 宜丰县| 同德县| 抚州市| 保康县| 肥城市| 嘉义市| 乳山市| 武威市| 三门县| 理塘县| 怀柔区| 界首市| 清新县| 屏东县| 淮南市| 郸城县| 康定县|