evaluate語句 常用DAX查詢語句

2021-10-13 17:48:30 字數 2709 閱讀 3929

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

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語句 EXCEL常用DAX查詢語句

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

常用mysql語句 常用MySql語句

新建資料表 drop table if exists ga game way create table ga game way id int 11 unsigned not null auto increment comment id primary key id using btree,主鍵 un...

常用sql語句

t sql語句複製表的方法 我在sql server 2000中有現個資料庫datahr及demo,它們的結構是一樣,其它有乙個表名為 gbitem.現在我想將demo資料庫的表名 gbitem的全部內容複製到datahr資料庫的表名為 gbitem中。請問此t sql語句應該怎麼寫?謝謝高人指點!...