evaluate語句 EXCEL常用DAX查詢語句

2021-10-13 17:48:30 字數 2764 閱讀 3172

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

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查詢語句如下:(注意語句前要加上 evaluate )

(1)字段選取。假設我們只需要獲取【銷售表】的「產品」和「數量」兩個欄位的資料。

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

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

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

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

summarize('銷售表',[產品],"總數量",sum('銷售表'[數量]))

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

summarize(filter('銷售表',[產品]="祝洪忠" ),[產品],"總數量",sum('銷售表'[數量]))

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

summarize('銷售表',[產品],"總次數",countrows('銷售表'))

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

summarize(filter('銷售表',[產品]="看見星光" ),[產品],"總次數",countrows('銷售表'))

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

summarize(topn(3,'銷售表',calculate(sum('銷售表'[總價]))),[產品],[總價]) order by [總價] desc

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

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

未完,待補,下次再聊。

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

evaluate語句 常用DAX查詢語句

看了標題,可能很多人會心生疑問,比如 dax語言是什麼?答 說來話長,簡而言之,dax,即資料分析表示式語言,是powerpivot和sql server分析服務 式的語言,具有強悍而高效的資料處理和挖掘能力 等會,powerpivot又是什麼?答 準確的說,我們這裡聊的是powerpivot fo...

robot中使用evaluate轉化資料格式

如果你使用robot卻沒有用過evaluate,那你將永遠禁錮在框架中。json物件格式入參可以使用字典格式直接傳入,但最近有乙個介面測試的入參是乙個json陣列,在傳參時總是提示請求引數不合法,使用create dictionary構造資料時又會給陣列加上引號,這樣肯定不能正常傳參 所以可以將入參...

excel生成insert語句

在需要生成sql的資料 後面輸入如下語句 concatenate insert into bts business2.b bts hive plan target date,plan id,version id,target name,target value values a2,b2,c2,d2,...