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

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

PowerBI之DAX神功:第2卷第2回 理解度量值中迭代函數(shù)的行數(shù)

2021-09-01 09:30 作者:孫興華zz  | 我要投稿

前景回顧:

上節(jié)課?《PowerBI之DAX神功:答網(wǎng)友問03.VAR變量與惰性計算》

以第一行為例:

毛利額= Calculate(sumx('Sheet1',21),all(Sheet1))

因為Sheet1這張表有3行,所以21*3=63

sumx需要迭代的行數(shù),取決于第1參數(shù)表


我們間接的理解了,迭代函數(shù)行數(shù)新建列上面的應(yīng)用。

新建列是行上下文,是逐行計算(迭代)。

度量值是篩選上下文

這節(jié)課我們主要講一下,度量值中迭代函數(shù)的行數(shù)

回憶《DAX神功》第1卷第19回 上下文轉(zhuǎn)換你還不知道的秘密

有一張表,表名叫'多端'

sum('多端'[銷量])? ?// 對多端這張表,銷量這列求和,sum是聚合函數(shù),它只是對這一列的數(shù)字進(jìn)行聚合,結(jié)果是60,公式推導(dǎo)如下:

度量值1=sumx('多端',60)

將【度量值1】放到矩陣中:

解釋:多端有6行,每行是60,所以總計6*60=360

當(dāng)矩陣的行標(biāo)題,使用年和商品時:


你會發(fā)現(xiàn)總計顯示360

關(guān)于這個問題,我在《DAX神功》第1卷第19回 上下文轉(zhuǎn)換你還不知道的秘密? 中跟大家介紹過,度量值有著將行上下文轉(zhuǎn)換成篩選上下文的功能,但是只能轉(zhuǎn)最外層的sumx。sumx內(nèi)層的行上下文它無法轉(zhuǎn)換。

sumx是媽媽,你娶了一個未婚先孕的媽媽,女人可以變成你的妻子,里面套著的sum是孩子與你沒有血緣關(guān)系。

如果我們不使用所有字段,而是只用年或商品字段時:

孩子不是你的,DNA無法改變,但是戶口本上可以隨你的姓

度量值1將sumx(媽媽)行上下文轉(zhuǎn)化為你的妻子

Calculate將sum(孩子)行上下文轉(zhuǎn)化為你的孩子

現(xiàn)在女人和孩子都是你的了,想什么篩選就怎么篩選。

正片開始:

還是這張表格:

度量值1 = sumx('多端',sum('多端'[銷量]))

等價公式

度量值2 = sumx('多端',sumx('多端','多端'[銷量]))

你學(xué)習(xí)度量值1時,你可能蒙圈了,因為它不直觀,而度量值2更易理解迭代函數(shù)的行數(shù)

如果我們想將度量值2的內(nèi)部與外部都轉(zhuǎn)換為篩選上下文:

度量值2= sumx('多端', calculate(sumx('多端', '多端'[銷量])))

單張表我們理解了,那多張表怎么處理呢?

度量值3 = sumx('一端',sumx('多端','一端'[售價]*'多端'[銷量]))

《DAX神功第1卷第18回》我講過,DAX所有函數(shù)計值順序都是從內(nèi)向外,包括Calculate和CalculateTable,并且用事實證明了。

第1步:我們先分析內(nèi)部的sumx計算情況

第2步:我們再分析外部的sumx計算情況

所以我們將這個度量值放到矩陣中:

我們只是用兩個表的商品字段舉例就可以了:

現(xiàn)在,想對內(nèi)層的實現(xiàn)篩選功能,在內(nèi)層的sumx外面套上Calculate

度量值3 = sumx('一端',CALCULATE(sumx('多端','一端'[售價]*'多端'[銷量])))

它報錯的意思是:在這里你不能省略關(guān)系函數(shù),因為原來是行上下文嵌套行上下文,你是否寫關(guān)系函數(shù)都可以,由于外層已經(jīng)引用了一端表,內(nèi)層可以直接寫:?'一端'[售價]

所以以下兩個度量值都是正確的

度量值3 = sumx('一端',sumx('多端','一端'[售價]*'多端'[銷量]))

度量值3 = sumx('一端',sumx('多端',RELATED('一端'[售價])*'多端'[銷量]))

當(dāng)你對內(nèi)層嵌套了Calculate,內(nèi)層是篩選上下文,外層是行上下文,由于上下文不同,所以這里的:?'一端'[售價]? 要使用關(guān)系函數(shù),這一點你忘記了也沒關(guān)系,系統(tǒng)會提示你

度量值3 = sumx('一端',CALCULATE(sumx('多端',RELATED('一端'[售價])*'多端'[銷量])))

還有另一種寫法:

度量值4 = sumx('一端',sumx(RELATEDTABLE('多端'),'一端'[售價]*'多端'[銷量]))

原理:

RELATED('一端'[售價])? ? ?// 多端從一端獲取

RELATEDTABLE('多端')? ?// 一端篩選多端表

而度量值4,使用了關(guān)系函數(shù)實現(xiàn)對內(nèi)層的篩選。

我們繞了一大圈,現(xiàn)在回到了《The Definitive Guide to DAX》中關(guān)于這節(jié)課的第一個案例。目的是告訴大家,學(xué)習(xí)英語,不止是“借鑒國外文獻(xiàn)”,更重要的是通過自己大腦分析,路不止一條,可能我走的路充滿荊棘,困難重重,但是我得到了你花錢買不到的鍛煉。

黃金哥哥不僅長得帥,能力還很強(qiá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辦公自動化、Python爬蟲、Python數(shù)據(jù)分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等

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


PowerBI之DAX神功:第2卷第2回 理解度量值中迭代函數(shù)的行數(shù)的評論 (共 條)

分享到微博請遵守國家法律
遂宁市| 连山| 巩义市| 余姚市| 横山县| 岳阳县| 汉阴县| 仁布县| 枣阳市| 黄浦区| 偃师市| 二连浩特市| 哈密市| 行唐县| 资阳市| 镇江市| 西乌珠穆沁旗| 贡觉县| 泗阳县| 宜丰县| 乌什县| 五寨县| 巴塘县| 达日县| 星子县| 衡水市| 开封县| 乌兰浩特市| 襄城县| 闽清县| 临洮县| 城市| 平山县| 韶山市| 定边县| 大姚县| 元氏县| 锡林浩特市| 中阳县| 中西区| 丹江口市|