Power BI之DAX神功:第3卷第22回 理解數(shù)據(jù)沿襲
這是一個(gè)網(wǎng)友問(wèn)題的問(wèn)題,網(wǎng)友沒(méi)有看懂《權(quán)威指南》要在這節(jié)課中表達(dá)的意思。
聲明:這是教學(xué)案例,書(shū)中只是讓你理解數(shù)據(jù)沿襲。需要我們舉一反三應(yīng)用到自己工作中去,而不是照搬。這些知識(shí)在我們之前的課程中都講過(guò)了,而且不只一次的提到,現(xiàn)在我?guī)е蠹乙黄鸹貞洝?/p>
一、DAX神功獨(dú)特講法
《DAX神功》答網(wǎng)友問(wèn)05 返回表的迭代函數(shù)你應(yīng)該注意什么?我們證明了一個(gè)重要內(nèi)容:
ADDCOLUMNS相當(dāng)于整容,例如你長(zhǎng)了兩只眼睛,整容可以讓你變成3只,但你還是你。
SELECTCOLUMNS相當(dāng)于克隆再整容,克隆你再整容成3只眼,長(zhǎng)的一樣,但是那不是你。
二、別拿克隆當(dāng)本體
下面兩張表,通過(guò)商品編碼連線(xiàn),創(chuàng)建一對(duì)多關(guān)系

【1】在商品表類(lèi)型列不重復(fù)值生成的表中,篩選"蔬菜"。現(xiàn)在還是商品表,只是篩選了
返回結(jié)果:

【2】當(dāng)我用AddColumns給這張表增加列時(shí),是給這張表做整容,表還是這張表,那我們修改這個(gè)公式:現(xiàn)在還是商品表
返回結(jié)果:

【3】但是當(dāng)我使用SelectColumns選擇列時(shí),相當(dāng)于把這張表克隆一份,對(duì)克隆表進(jìn)行整容。表發(fā)生了變化。現(xiàn)在還是克隆表
返回結(jié)果:

【4】現(xiàn)在我給這個(gè)表添加列,還有數(shù)據(jù)沿襲嗎?沒(méi)了!為什么?
咱們舉個(gè)例子:你有一份名單,在名單上用特殊的筆,這種筆大家小時(shí)候都玩過(guò),寫(xiě)上字看不出來(lái),需要在紫外燈下照射才能看清,標(biāo)記了誰(shuí)是在我方的潛伏人員。有一天,我潛入內(nèi)部,使用相機(jī)拍下了這份名單,照片上有標(biāo)記嗎? 沒(méi)有吧? 咱們《DAX神功》第2卷第21回講數(shù)據(jù)沿襲時(shí)提到,做標(biāo)記就是數(shù)據(jù)沿襲。為了證明這件事,你只需要在上一步的新建表中添加列:
返回結(jié)果:

蔬菜的銷(xiāo)售應(yīng)該是21-9=12,它現(xiàn)在返回的是所有商品銷(xiāo)量總和,顯示沒(méi)有保留數(shù)據(jù)沿襲。
三、沒(méi)有數(shù)據(jù)沿襲我們就創(chuàng)建它
《火力全開(kāi)》第24課、《DAX神功》第2卷第21回 我們都講到了TREATAS函數(shù)

SelectColumns是將表克隆后選擇列或創(chuàng)建列,讓克隆表在商品表的類(lèi)型列上做標(biāo)記不就好了嗎?
例如:{"張三","李四"}? 是一張由表構(gòu)造函數(shù)生成的表,跟其它表沒(méi)關(guān)系,使用TREATAS將他們扯上關(guān)系。
SelectColumns也是生成一張表,這張是克隆之后的表,我們需要將這張表與商品表類(lèi)型列扯上關(guān)系。
返回結(jié)果:

《孫興華講PowerBI火力全開(kāi)》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爬蟲(chóng)、Python數(shù)據(jù)分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等
https://www.bilibili.com/read/cv10222110