https://zhuanlan.zhihu.com/p/64422599
為什么要進行格式化?
DAX 是一種函數式語言,正如我們已經學習的或者看到的,DAX 代碼中總有一些函數帶有幾個參數,而參數還可以是其他函數所構成,參數的數量以及嵌套的層數決定了 DAX 代碼的復雜度。
使用 PowerBI 進行數據分析時,有三層嵌套的 DAX 代碼很常見,四層及以上的嵌套也經常需要用到,如果將所有的代碼寫在一行上,不做任何格式化的處理,將導致難以理解,即使是自己寫的,回頭再看或者修改也會一頭霧水。
因此,按一定的格式編寫 DAX 代碼十分必要,上一篇文章中(如何快速理解一個復雜的DAX?),我也將格式化作為理解DAX的第一步。
那么什么是規范的 DAX 代碼格式呢?
DAX 格式化規則
其實並沒有官方的統一標准,只是為了可讀性和溝通交流的方便,有一些約定的習慣和規則。代碼的可讀性主要取決於換行和縮進規則,
1.如果函數只有一個參數,則和函數放在同一行
2.如果函數具有2個或更多參數,則將每一個參數
都另起一行
3.如果函數及其參數寫在多行上:
3.1左括號"("與函數在同一行
3.2參數是新行,從該函數對齊位開始縮進4字符
3.3右括號")"與函數開頭對齊
3.4分隔兩個參數的逗號位於前一個參數的同一行
3.5如果必須將表達式拆分為更多行,則運算符
作為新行中的首字符
通過以上規則,很容易就能分辨出 DAX 代碼中每一個函數的參數、起止位置,嵌套的層數等。
(如果編寫的DAX代碼非常簡單,雖然有嵌套,但一行都能輕易寫完,那就不要考慮上述規則了)
除了換行和縮進,在其他編寫細節上也有一定的規則,比如函數名都用大寫字母、等號之后留個空格等,這些對整體的代碼可讀性影響不大,不再介紹。
PowerBI 快捷鍵
在 PowerBI Desktop 中的 DAX 編輯框中,對於換行和縮進都有對應的快捷鍵,並且縮進正是按照以上規則,每次縮進4個字符。
縮進的快捷鍵如下:
向右縮進:Ctrl + ]
向左縮進:Ctrl + [
換行的快捷鍵如下:
換行后縮進:Shift + Enter
換行后不縮進:Alt + Enter
關於 DAX 格式化的一般規則和快捷鍵總結如下圖,
推薦一個快速格式化的工具
如果你對上述規則感到困惑,或者你拿到別人寫的一長串 DAX 代碼不想從頭開始格式化,那么有這個神奇的網站,幫你進行快速格式化:
http://www.daxformatter.com/raw/
上述的 DAX 格式規則也是該網站推薦采用的,用起來十分方便,打開網站后,直接把代碼粘貼到編輯框中,
點擊 FORMAT 按鈕,一鍵格式 DAX 代碼,
在這個網站上你還可以學習到更詳細的DAX格式規則,強烈推薦你上去看看。
以上介紹的只是 DAX 格式的一般規則,並不是強制這樣使用,你也可以編寫個人風格的 DAX,不過無論是什么風格,請保證DAX代碼的可讀性。