先來說幾個概念,比如……
DAX語言是什麼?
答:……說來話長,簡而言之,DAX,即數據分析表達式語言,是PowerPivot和SQL Server分析服務表格式的語言,具有強悍而高效的數據處理和挖掘能力……
等會,PowerPivot又是什麼?
答:準确的說,我們這裡聊的是PowerPivot for Excel,所以,我們這裡說PowerPivot是Excel的一個加載項,它可以實施一個快速而強大的内存數據庫,可以集成來自不同數據源的數據,通過在數據之間建立關系來構建數據模型,而且它取消 Excel 中的行和列限制,可以處理千萬條數據不費吹灰之力……
聽不懂…………真聽不懂……
打個響指,不懂就不懂吧,概念的東西心裡過一下有個大概也就行了。
言歸正傳,我們今天聊DAX語言在Excel列表中的查詢應用,外甥打燈籠——照舅,還是用栗子來說事。
假設我們現在有兩份工作簿,一份名為【數據源】,一份名為【我的分析】;
其中【數據源】工作簿的【銷售表】中存放了如下圖所示的數據,我們需要在【我的分析】工作簿中對其進行計算處理。
我們知道Excel函數在處理跨工作簿數據時有很大的局限性,當被引用數據所在的工作簿關閉時,除了部分引用類函數,很難從中取值,更不用說進一步的數據處理與分析了,所以這個問題并不适合采用函數處理。
你可以使用SQL,或者VBA,再或者DAX。前兩者的方法我們多少分享過,DAX近乎絕迹,今就分享下DAX的常用數據查詢語句。
第1步,獲取外部數據。
首先,打開【我的分析】工作簿,單擊【數據】選項卡下的【現有連接】,再彈出的對話框中選擇【浏覽更多】,如下圖所示:
尋找到目标工作簿(數據源),選取目标表格後(銷售表),單擊【确定】按鈕,在彈出的【導入數據】對話框中,勾選【将此數據添加到數據模型】。
【數據的放置位置】設置為現有工作表的A1單元格。單擊【确定】按鈕,銷售表的數據将會完全讀入到當前工作表中,并以“列表”的形式存在。
第2步,編輯DAX語言
右鍵單擊數據列表的任意單元格,在彈出的右鍵快捷菜單中,依次單擊【表格】→【編輯DAX】
在彈出的【編輯DAX】對話框中,命令類型選擇【DAX】,即可根據實際數據分析需求,編輯DAX語言。
常用DAX查詢語句如下:
(1) 字段選取。假設我們隻需要獲取【銷售表】的“産品”和“數量”兩個字段的數據。
EVALUATE
SUMMARIZE('銷售表',[産品],[數量])
(2) 條件查詢。假設我們隻需産品名為“大花”的銷售記錄。
EVALUATE
FILTER('銷售表',[産品]="大花")
(3) 彙總求和。假設我們需要獲取每件商品的銷售總數量。
EVALUATE
SUMMARIZE('銷售表',[産品],"總數量",SUM('銷售表'[數量]))
(4) 條件求和。假設我們隻需要獲取“祝洪忠”的銷售總數量。
EVALUATE
SUMMARIZE(FILTER('銷售表',[産品]="祝洪忠" ),[産品],"總數量",SUM('銷售表'[數量]))
(5) 彙總計數。假設我們需要獲取每件商品的銷售總次數。
EVALUATE
SUMMARIZE('銷售表',[産品],"總次數",COUNTROWS('銷售表'))
(6) 條件計數。假設我們隻需要獲取“看見星光”的銷售總次數。
EVALUATE
SUMMARIZE(FILTER('銷售表',[産品]="看見星光" ),[産品],"總次數",COUNTROWS('銷售表'))
(7) 名次查詢。假設我們隻需要獲取銷售總額前三名的數據,并按降序排列。
EVALUATE
SUMMARIZE(TOPN(3,'銷售表',CALCULATE(SUM('銷售表'[總價]))),[産品],[總價]) ORDER BY [總價] DESC
(8) 去重查詢。假設我們隻需要提取去重複的産品名稱。
EVALUATE
SUMMARIZE('銷售表',[産品])
未完,待補,下次再聊。哈哈,别緊髒。
拱手再見,祝安康。
圖文制作:看見星光
專業的職場技能充電站
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!