EXCEL常用DAX查詢語句

作者:EH看見星光 轉自:Excel之家ExcelHome

看了標題,可能很多人會心生疑問,比如……

DAX語言是什麼?

答:……說來話長,簡而言之,DAX,即數據分析表達式語言,是PowerPivot和SQL Server分析服務表格式的語言,具有強悍而高效的數據處理和挖掘能力……

等會,PowerPivot又是什麼?

答:準確的說,我們這裡聊的是PowerPivot for Excel,所以,我們這裡說PowerPivot是Excel的一個加載項,它可以實施一個快速而強大的內存數據庫,可以集成來自不同數據源的數據,通過在數據之間建立關係來構建數據模型,而且它取消 Excel 中的行和列限制,可以處理千萬條數據不費吹灰之力……

聽不懂…………真聽不懂……

打個響指,不懂就不懂吧,概念的東西心裡過一下有個大概也就行了。

言歸正傳,我們今天聊DAX語言在Excel列表中的查詢應用,外甥打燈籠——照舅,還是用栗子來說事。

假設我們現在有兩份工作簿,一份名為【數據源】,一份名為【我的分析】;

其中【數據源】工作簿的【銷售表】中存放了如下圖所示的數據,我們需要在【我的分析】工作簿中對其進行計算處理。

EXCEL常用DAX查詢語句

我們知道Excel函數在處理跨工作簿數據時有很大的侷限性,當被引用數據所在的工作簿關閉時,除了部分引用類函數,很難從中取值,更不用說進一步的數據處理與分析了,所以這個問題並不適合採用函數處理。

你可以使用SQL,或者VBA,再或者DAX。前兩者的方法我們多少分享過,DAX近乎絕跡,今就分享下DAX的常用數據查詢語句。

第1步,獲取外部數據。

首先,打開【我的分析】工作簿,單擊【數據】選項卡下的【現有連接】,再彈出的對話框中選擇【瀏覽更多】,如下圖所示:

EXCEL常用DAX查詢語句

尋找到目標工作簿(數據源),選取目標表格後(銷售表),單擊【確定】按鈕,在彈出的【導入數據】對話框中,勾選【將此數據添加到數據模型】。

【數據的放置位置】設置為現有工作表的A1單元格。單擊【確定】按鈕,銷售表的數據將會完全讀入到當前工作表中,並以“列表”的形式存在。

EXCEL常用DAX查詢語句

右鍵單擊數據列表的任意單元格,在彈出的右鍵快捷菜單中,依次單擊【表格】→【編輯DAX】

EXCEL常用DAX查詢語句

在彈出的【編輯DAX】對話框中,命令類型選擇【DAX】,即可根據實際數據分析需求,編輯DAX語言。

EXCEL常用DAX查詢語句

常用DAX查詢語句如下:(注意語句前要加上 EVALUATE )

(1) 字段選取。假設我們只需要獲取【銷售表】的“產品”和“數量”兩個字段的數據。

SUMMARIZE('銷售表',[產品],[數量])

EXCEL常用DAX查詢語句

(2) 條件查詢。假設我們只需產品名為“大花”的銷售記錄。

FILTER('銷售表',[產品]="大花")

EXCEL常用DAX查詢語句

(3) 彙總求和。假設我們需要獲取每件商品的銷售總數量。

SUMMARIZE('銷售表',[產品],"總數量",SUM('銷售表'[數量]))

EXCEL常用DAX查詢語句

(4) 條件求和。假設我們只需要獲取“祝洪忠”的銷售總數量。

SUMMARIZE(FILTER('銷售表',[產品]="祝洪忠" ),[產品],"總數量",SUM('銷售表'[數量]))

EXCEL常用DAX查詢語句

(5) 彙總計數。假設我們需要獲取每件商品的銷售總次數。

SUMMARIZE('銷售表',[產品],"總次數",COUNTROWS('銷售表'))

EXCEL常用DAX查詢語句

(6) 條件計數。假設我們只需要獲取“看見星光”的銷售總次數。

SUMMARIZE(FILTER('銷售表',[產品]="看見星光" ),[產品],"總次數",COUNTROWS('銷售表'))

EXCEL常用DAX查詢語句

(7) 名次查詢。假設我們只需要獲取銷售總額前三名的數據,並按降序排列。

SUMMARIZE(TOPN(3,'銷售表',CALCULATE(SUM('銷售表'[總價]))),[產品],[總價]) ORDER BY [總價] DESC

EXCEL常用DAX查詢語句

(8) 去重查詢。假設我們只需要提取去重複的產品名稱。

SUMMARIZE('銷售表',[產品])

EXCEL常用DAX查詢語句


未完,待補,下次再聊。

拱手再見,祝安康,祝涼爽。



分享到:


相關文章: