Power BI之DAX神功番外篇:第13回 計(jì)算兩個(gè)指標(biāo)的時(shí)間差
一、網(wǎng)友提問(wèn)



二、解答問(wèn)題
我給您解決一個(gè)篩選2021和2022年的思路,您自行完成年月篩選,因?yàn)槔斫庵R(shí)需要自己思考。
打個(gè)比方,我學(xué)DAX,是從結(jié)果倒推原理,我的方法不一定最好,但是我自己動(dòng)腦子了,總比從國(guó)外網(wǎng)站上看大神文章后,以記憶的方式,談什么內(nèi)層、外層、隱形、顯形、篩選覆蓋...大神們講的沒(méi)錯(cuò),但是為什么是這樣的,原理中的原理是什么?
我講《PowerBI火力全開(kāi)》不講原理就是讓大家利用結(jié)果倒推原理,真正學(xué)以致用,但是我看到很多人說(shuō)我不講原理,我為了成全大家講了《DAX神功》,所謂原理=內(nèi)層、外層、隱形、顯形、篩選覆蓋...這些名詞的由來(lái)。如果只記憶名詞我們就失去了自己去腦思考的過(guò)程,還談何學(xué)會(huì)呢?
【1】先解決住院天數(shù),開(kāi)始思考
根據(jù)網(wǎng)友提問(wèn),當(dāng)網(wǎng)友篩選2021年時(shí),病人1號(hào)和2號(hào)是出院日期-入院日期,3號(hào)是2021/12/31-入院日期。當(dāng)篩選2022年時(shí),因?yàn)椴∪?號(hào)和2號(hào)在2021年就出院了,所以只有3號(hào),他的計(jì)算方法是出院日期-2022/1/1

我們將思路畫(huà)出來(lái)

當(dāng)然,這里有個(gè)業(yè)務(wù)問(wèn)題,以篩選2022年為例,3號(hào)病人1月29日出院,那么1月29日算不算一天,因?yàn)槲覜](méi)住過(guò)院不懂這個(gè),所以說(shuō)業(yè)務(wù)問(wèn)題我不解決,如果需要計(jì)算當(dāng)天,您只需要在我后面講的公式中+1即可
【2】眼見(jiàn)為實(shí),度量值為虛
現(xiàn)在我們需要一個(gè)度量值但是我不建議直接寫(xiě)度量值,度量值是虛擬存在,你能看到每一步的結(jié)果嗎?
我的方法是這樣的,用新建表看每一步結(jié)果,然后放到度量值中
<1> 對(duì)入院日期和出院日期進(jìn)行篩選
返回結(jié)果:

返回結(jié)果:

<2> 給篩選結(jié)果添加列計(jì)算天數(shù)
公式tb2解讀:
添加列,用出院日期-入院日期,并將數(shù)據(jù)類(lèi)型轉(zhuǎn)成整型。
出院日期的計(jì)算方法:如果出院日期大于2021年12月31日就返回2021年12月31日,否則返回出院日期。
入院日期的計(jì)算方法:如果入院日期大于等于2021年1月1日就返回入院日期,否則返回2021年1月1日。
返回結(jié)果:

同理:
返回結(jié)果:

<3>把年份寫(xiě)活,利用表構(gòu)造函數(shù)我們新建一張表
返回表格:如果你想對(duì)字段重命名,詳見(jiàn)《DAX神功》第1卷第3回

新建切片器,將Value字段放到切片器中

<4> 利用selectedvalue表示篩選結(jié)果,用sumx計(jì)算天數(shù)
返回結(jié)果:


以上我們計(jì)算的是實(shí)際住院天數(shù),對(duì)于出院患者實(shí)際住院天數(shù)和年月篩選,只要你理解了上面的思路,一定可以做出來(lái),加油!
友情提示:別照抄代碼,也不建議照搬思路,DAX只是一個(gè)工具,思路源于你對(duì)業(yè)務(wù)知識(shí)的理解。因?yàn)閷?shí)際分析中,需求是不斷變化的,代碼也會(huì)隨之不斷變化,所以你做分析,必須要自己學(xué)會(huì)。

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