Excel多表查询Excel多表查询太麻烦了
先來說幾個概念,比如……
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('銷售表',[產品])
未完,待補,下次再聊。哈哈,別緊臟。
拱手再見,祝安康。
圖文制作:看見星光
專業的職場技能充電站
總結
以上是生活随笔為你收集整理的Excel多表查询Excel多表查询太麻烦了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现实版人生重开模拟器人生重开模拟器完全
- 下一篇: 赶紧试试Excel的自动更正如何自动更正