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

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

PowerBI之DAX神功:答網(wǎng)友問(wèn)05 返回表的迭代函數(shù)你應(yīng)該注意什么?

2021-09-05 11:56 作者:孫興華zz  | 我要投稿

說(shuō)明:

關(guān)于《The Definitive Guide to DAX》中介紹的CONCATENATEX函數(shù)

在《孫興華講PowerBI火力全開(kāi)》筆記25課03和04中做了詳細(xì)講解,并舉有案例


前景回顧:

在《DAX神功》答網(wǎng)友問(wèn)04中

提問(wèn)網(wǎng)友的需求:獲取每個(gè)月份最大銷(xiāo)售金額及產(chǎn)生最大金額的銷(xiāo)售日期?

度量值如下:

銷(xiāo)售金額 = sumx('銷(xiāo)售表',RELATED('商品表'[售價(jià)])*'銷(xiāo)售表'[銷(xiāo)量])

銷(xiāo)售峰值3 = maxx('日期表',[銷(xiāo)售金額])??

發(fā)生日期 =

? ? ? ? var x=maxx('日期表',[銷(xiāo)售金額])

? ? ? ? var tb=FILTER(VALUES('日期表'[日期]),[銷(xiāo)售金額]=x)

return

? ? ? ? IF(COUNTROWS(tb)=1,tb,BLANK())?

Ps: 度量值【發(fā)生日期】寫(xiě)法可不只這一種哦,詳見(jiàn)上節(jié)課。


正片開(kāi)始:

《孫興華講PowerBI火力全開(kāi)》第26課用了16分鐘的時(shí)間講了兩個(gè)函數(shù),分別是:

ADDCOLUMNS與SELECTCOLUMNS

關(guān)于這兩個(gè)函數(shù)的語(yǔ)法及案例,詳見(jiàn)《孫興華講PowerBI火力全開(kāi)》第26課

ADDCOLUMNS是在指定表中增加一列或多列:

SELECTCOLUMNS是在指定表中選擇一列或多列:

還是《DAX神功》答網(wǎng)友問(wèn)04的案例:

我們換一種思路,求銷(xiāo)售鋒值發(fā)生的日期:

第一步:我們計(jì)算銷(xiāo)售金額,再寫(xiě)一個(gè)銷(xiāo)售峰值3度量值備用

【度量值】銷(xiāo)售金額 = sumx('銷(xiāo)售表',RELATED('商品表'[售價(jià)])*'銷(xiāo)售表'[銷(xiāo)量])?

【度量值】銷(xiāo)售峰值3?= maxx('日期表',[銷(xiāo)售金額])??

第二步:我們通過(guò)添加列,將銷(xiāo)售金額新增到日期表中

【新建表】表1 = ADDCOLUMNS(VALUES('日期表'[日期]),"銷(xiāo)售金額",[銷(xiāo)售金額])

這只是示意效果圖

第三步:篩選表1中最大金額的

【新建表】表2 = FILTER('表1','表1'[銷(xiāo)售金額]=maxx('表1',[銷(xiāo)售金額]))

這只是示意效果圖

第四步:我們要取標(biāo)量值,所以選擇表2中的日期列(相當(dāng)于取一個(gè)單元格)

【新建表】表3 = SELECTCOLUMNS('表2',"日期",'表2'[日期])

這只是示意效果圖

第五步:綜合以上公式寫(xiě)成VAR形式的度量值

峰值日期1 =?

? ? var tb1=ADDCOLUMNS(VALUES('日期表'[日期]),"銷(xiāo)售金額",[銷(xiāo)售金額])

? ? var x= [銷(xiāo)售峰值3]

return

SELECTCOLUMNS(

? ? FILTER(tb1,[銷(xiāo)售金額]= x),"日期",'日期表'[日期])

Ps: 雖然返回的是一張表,但是這個(gè)表只有一行一列,可以以標(biāo)量值輸出。

矩陣中的效果

當(dāng)然,這個(gè)公式只是在理想狀態(tài)下的,如果使用Filter篩選tb1時(shí),當(dāng)最大銷(xiāo)售金額日期不只一個(gè)(假設(shè)1月份最大銷(xiāo)售金額有3天都是并列第一),那就會(huì)報(bào)錯(cuò)了。詳見(jiàn)《DAX神功》第1卷第10回

第六步:我們通過(guò)《DAX神功》答網(wǎng)友問(wèn)04,將度量值公式寫(xiě)成:

峰值日期1 =?

? ? var tb1=ADDCOLUMNS(VALUES('日期表'[日期]),"銷(xiāo)售金額",[銷(xiāo)售金額])

? ? var x=?[銷(xiāo)售峰值3]

? ? var tb2=SELECTCOLUMNS(

? ? ? ? FILTER(tb1,[銷(xiāo)售金額]= x),"日期",'日期表'[日期])

return

? ? if(COUNTROWS(tb2)=1,tb2,BLANK())


還可以寫(xiě)成:(Ps:其實(shí)本人就習(xí)慣這種寫(xiě)法,原理在上節(jié)課已做了詳細(xì)說(shuō)明)

峰值日期1 =?

? ? var tb1=ADDCOLUMNS(VALUES('日期表'[日期]),"銷(xiāo)售金額",[銷(xiāo)售金額])

? ? var tb2=SELECTCOLUMNS(

? ? ? ? FILTER(tb1,[銷(xiāo)售金額]= MAXX(tb1,[銷(xiāo)售金額])),"日期",'日期表'[日期])

return

? ? if(COUNTROWS(tb2)=1,tb2,BLANK())

網(wǎng)友疑問(wèn):

為什么公式寫(xiě)成下面這樣,就報(bào)錯(cuò)了呢?

鋒值日期2 =?

? ? var tb1=SELECTCOLUMNS('日期表',"日期",'日期表'[日期],"銷(xiāo)售金額",[銷(xiāo)售金額])

? ? var tb2=SELECTCOLUMNS(

? ? ? ? FILTER(tb1,[銷(xiāo)售金額]= MAXX(tb1,[銷(xiāo)售金額])),"日期",'日期表'[日期])

return

? ? if(COUNTROWS(tb2)=1,tb2,BLANK())

網(wǎng)友不理解的地方:

【新建表】表4=SELECTCOLUMNS('日期表',"日期",'日期表'[日期],"銷(xiāo)售金額",[銷(xiāo)售金額])

與使用ADDCOLUMNS時(shí)的結(jié)果一樣呀?我就換了一個(gè)函數(shù),就報(bào)錯(cuò)了?

這里大家要特別注意:雖然二者在顯示結(jié)果上一樣,但是本質(zhì)變了。

ADDCOLUMNS相當(dāng)于整容,例如你長(zhǎng)了兩只眼睛,整容可以讓你變成3只,但你還是你。

SELECTCOLUMNS相當(dāng)于克隆再整容,克隆你再整容成3只眼,長(zhǎng)的一樣,但是那不是你。

總結(jié):出錯(cuò)原因就是你的tb1已經(jīng)不是日期表了,但是它不影響篩選最大銷(xiāo)售金額??墒钱?dāng)你使用Selectcolumns選擇列時(shí),你無(wú)法選擇日期表中的某個(gè)列,因?yàn)槟菑坱b1是克隆表。

《孫興華講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


PowerBI之DAX神功:答網(wǎng)友問(wèn)05 返回表的迭代函數(shù)你應(yīng)該注意什么?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永和县| 出国| 罗城| 曲松县| 瓦房店市| 图木舒克市| 宜黄县| 定南县| 盈江县| 巍山| 白水县| 谷城县| 丰台区| 双柏县| 桃江县| 重庆市| 自贡市| 岫岩| 巴林左旗| 应城市| 珠海市| 双流县| 墨脱县| 兰西县| 高密市| 黄山市| 乌拉特中旗| 望城县| 香河县| 台南县| 镇远县| 邓州市| 泰来县| 静乐县| 南川市| 抚宁县| 梧州市| 磐石市| 隆回县| 东方市| 罗城|