很多人剛開始接觸DAX的時(shí)候都有一個(gè)疑惑:為什么搜集了所有精品學(xué)習(xí)資料,看遍了所有函數(shù)的語(yǔ)法,可還是下不了手诱贿?不知道如何使用DAX芍殖。
究其原因,關(guān)鍵是沒有將DAX語(yǔ)言放到實(shí)際的應(yīng)用場(chǎng)景中外厂,無(wú)法做到學(xué)以致用冕象,,就像我們學(xué)習(xí)了多年的英語(yǔ)汁蝶,可依然開不了口渐扮。今天,小姐姐就通過(guò)一些實(shí)際項(xiàng)目需求中總結(jié)下來(lái)比較常見的應(yīng)用場(chǎng)景,每節(jié)動(dòng)手時(shí)間大概在10分鐘左右墓律,幫助大家敏捷學(xué)習(xí)DAX膀估,舉一反三,迅速上手只锻。
學(xué)習(xí)之前先要做好數(shù)據(jù)準(zhǔn)備哦
(我們的教程是以微軟官方示例數(shù)據(jù)庫(kù)AdventureWorksDW2016為基礎(chǔ)玖像,大家可以從文章最后下載)
首先我們從最簡(jiǎn)單的開始吧~
有什么數(shù)據(jù)
我們有一張銷售訂單表,表中有銷售訂單日期齐饮、訂單編號(hào)捐寥、產(chǎn)品、客戶等信息
需求是什么
通過(guò)分析訂單的下單時(shí)間分布祖驱,獲取下單的高峰期或者淡旺季信息
快速分析
要獲取下單時(shí)間分布握恳,我們可以通過(guò)訂單數(shù)量和訂單金額這兩個(gè)指標(biāo)來(lái)體現(xiàn)分析。示例中的銷售訂單是有多個(gè)行明細(xì)的訂單捺僻,所以我們需要對(duì)訂單編號(hào)做去重計(jì)數(shù)處理獲取到訂單數(shù)量乡洼。
在DAX中,去重計(jì)數(shù)可以使用DISTINCTCOUNT(<column>)匕坯,這個(gè)函數(shù)會(huì)返回非重復(fù)的數(shù)目束昵,包括空值。
求和可以使用SUM(<column>)(當(dāng)然葛峻,還可以使用SUMX锹雏,后面我會(huì)細(xì)講他們的區(qū)別)
動(dòng)動(dòng)小手
在空表下面創(chuàng)建度量值(敲黑板:建議度量值統(tǒng)一創(chuàng)建在一個(gè)空表里,方便查詢)
DistinctCount = DISTINCTCOUNT('FactInternetSales'[SalesOrderNumber])
SalesAmount = SUM('FactInternetSales'[SalesAmount])
搞定术奖!這樣我們就可以獲取到我想要的信息了
分析結(jié)論
從上圖我們可以看到上半年是銷售旺季礁遵,尤其年中6月會(huì)達(dá)到一個(gè)高峰值,這樣便于我們有效分配資源采记。
是不是很簡(jiǎn)單呢佣耐?小姐姐會(huì)逐步提高難度,提高大家的學(xué)習(xí)效率唧龄,做到真正學(xué)以致用~
附錄:
數(shù)據(jù)庫(kù)下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=49502