DAX是什麼?

是小必,很高興在這裡遇見你,以Excel和Power BI會友。

本期內容主要來聊一下平日裡所說的DAX是什麼?

1

DAX是什麼?

DAX 全稱

Data Analysis eXpressions

,是面向Microsoft Power BI、Microsoft SQL Server Analysis Services (SSAS)和 Microsoft Power Pivot for Excel的程式設計式資料分析語言。它創建於 2010 年,隨 Power Pivot 的第一個版本 PowerPivot for Excel 2010 一起釋出。隨著時間的推移,DAX 已經在Power BI和 Excel 社群中逐漸流行起來。

DAX是一門跨多產品的分析語言,這些產品使用同一個名為Tabular的內部引擎,出於這個原因,我們經常以

表格模型(Tabular Model)

作為這些產品的共同特徵。

DAX是什麼?

DAX中有300多個函式(還在新增中),而這些函式的一些常用的基本函式也同Excel中的語法是一樣的,有些甚至是一模一樣,但是DAX中的函式雖然與Excel中是一樣的,但是在實際的使用過程中仍然有很大的差別,Excel中是沒有語句,迴圈和跳轉的概念,都是一步一步地計算,而在DAX中,一切都是函式表示式,可以使用變數,迭代器等。

DAX是一種

函式式的語言

,在DAX中,每一個表示式都是一個函式的呼叫,而函式的引數可以依次都被其他的函式呼叫,這個同Excel是一樣的的道理(也叫巢狀)。同時,DAX也是一種

查詢語言

,DAX有著豐富的函式可以操作表和返回表。像Filter就是一個返回表的查詢函式。但是也不同SQL等經典查詢語言。

在Excel中使用DAX函式的時候,可以先將Power Pivot加載出來,路徑為:【開發工具】-【COM載入項】-勾選【Microsoft Power Pivot for Excel】即可。如果不知道開發工具選項卡如何加載出來,可以自行百度一下。

2

如何學習DAX ?

雖然Excel函式與DAX函式長得很像,但是他們是完全不同的兩個體系。在學習的時候也不盡相同。給Excel使用者的學習建議:雖然DAX是緣自於Excel Power Pivot,但是在在學習DAX的時候,仍然不同於Excel函式,請不要把Excel的函式公式的學習的思維或者路徑應用到DAX中,這可能會使你走很多的彎路或者遇到很多理解上的障礙。

如果你發現Excel函式與DAX中有一個函式都能達到你的目的,請不要試圖使用Excel的函式邏輯去理解DAX。所以在你學習DAX的時候,你應該首先學習理論,比如計值上下文,這裡麵包含行上下文與篩選上下文,以及行上下文與篩選上下文的轉換,並且理解什麼是迭代,什麼是關係,什麼是資料模型,什麼是資料型別等。當你理解了這些後,你可能離掌握DAX函式來寫一些分析表示式的時候就會更容易一些,更近一些。

對於Power BI使用者來說,DAX是Power BI的原生語言,你可能需要一些時間來學習計值上下文的概念,但是這些都需要時間,不要著急;同時也需要你將學習其他的程式語言的理解暫時地忘記,以便於你可以更好地理解DAX。

關於如何學習DAX語言,這裡借用@佐羅老師的關於修煉DAX的一幅圖:

DAX是什麼?

另外,關於DAX還有很多的學習的資料。

微軟官方的幫助文件:

https://docs。microsoft。com/zh-cn/dax/

論壇網站:

Power BI極客:https://www。powerbigeek。com

書籍:

DAX方面最有名的書籍為

《DAX權威指南》

,是由兩名世界級的大佬義大利編寫的,可麼說,DAX方面,除了微軟,這兩哥們就是世界第2,是除微軟外的權威專家。目前這本書已經到了第2版,中文版是由高飛老師翻譯的。

DAX是什麼?

END

TAG: DAXExcel函式powerbi