5個 Power BI 命名原則:遵循 Naming Convention 提高報表可維護性

命名原則是什麼?

命名原則是指在軟體程式開發中使用統一的命名標準,以便讓程式的結構更加清晰、易於閱讀和維護。通過遵循一套良好的原則,可以確保所有元素都有明確的名稱,從而降低出錯的風險。

在 Power BI 中,命名標準可以包括但不限於:資料表資料行虛擬資料行量值以及其他變數的命名。

【🆓 免費資源】從零開始,理解 Power BI 與 DAX 函數底層邏輯 🚀
如果你想:
  • 擺脫用 Excel 製作重複性報表的無限輪迴
  • 克服用 Excel 只能存一百萬列資料之限制
  • 徹底理解 Power BI 與 DAX 函數底層邏輯
  • 了解學習 Power BI 在就業市場的競爭力
歡迎點擊下方按鈕,報名免費課程。
我們還會送你一套《DAX 函數從零到壹學習藍圖》!萃取數十個常用函數,幫助你學習有方向!
免費 Power BI & DAX 課程 立即報名免費課程,領取藍圖!
—— Stark:雖然是免費課程,但內容絕對不馬虎,推薦你找時間好好看完!

為什麼需要命名原則?

你或許會問:「在 Power BI 中並沒有強制的命名規則,我真的需要花時間好好地幫資料表、資料行、量值...等命名嗎?未免也太花時間了吧!」。

這時,你可以設想一個情境,如果公司的報表是多人協作開發,在沒有明確的命名標準下,可能就會寫出相同功能但命名不同的量值。例如:[Sales Amount][Sales_Amount] 都是計算銷售總額的量值,但因為沒有明確的規則,造成重複建立同樣功能的量值,以至於難以維護。

所以說,命名原則在報表設計中非常重要,因為它可以幫助我們更快地理解報表的結構和內容。一套統一的命名標準可以減少混亂和錯誤,並且讓報表更容易維護。此外,如果你正在與其他人合作開發報表,一套統一的命名標準可以讓您的團隊更有效地協作

以下所介紹的 5 個原則,並非是絕對的準則,但都是我在實際專案中曾經碰過的坑,佐以參照網路上的資料所淬煉而出的內容。如果你有更好的方法,歡迎在底下留言告訴我。

另外,由於個人習慣使用英文找資料與建報表,因此你會看到下面的例子都是以英文為例。不過換成中文概念一樣可以沿用,無傷大雅。

資料表的命名規則

資料表是報表中的重要元素,它們包含了許多資料行和數據。

而資料表的命名規則基本上格式為 {資料表類型}_{資料表名稱}。以下將就這兩方面作剖析。

註:無論是以下何者,命名上我都是以英文大寫表示。

資料表類型

一般來說,資料表的類型可以分為「維度資料表」與「事實資料表」,英文分別為「Dimension Table」與「Fact Table」。根據這兩種資料表的差異可詳見微軟的官方文檔:了解星型結構描述及其對 Power BI 的重要性

因此,在命名上我習慣將維度資料表以前綴 DIM_ 表示;而事實資料表以前綴 FACT_ 表示。

資料表名稱

資料表名稱應該具有描述性,並且應該能夠清晰地表達資料表所包含的內容。

例如,如果資料表中包含有關銷售的數據,同時又是事實資料表,則可以將其命名為 FACT_SALES。如果是日期維度資料表,則可以命名為 DIM_DATE

若是超過一個單字的字元,則以下劃線串接不同單字表示,例如:DIM_PRODUCT_CATEGORY

這種命名方式的優點為:

  1. 一目了然知道資料表類型
  2. 在 Power BI 右側介面中排列井然有序
命名原則

實體資料行的命名規則

資料行通常是報表中的最小單位,它們包含有各種類型的數據。

資料行的命名應該具有描述性,並且應該能夠清晰地表達資料行所包含的數據。資料行的命名與資料表相同,以大寫英文字母表示,超過一個單字則以下劃線串接不同單字。例如:PRODUCT_DESCRIPTION

命名原則

虛擬資料行的命名規則

虛擬資料行是報表中的一個非常重要的元素,它們是通過計算、轉換或合併現有的資料行而創建的。

虛擬資料行不會出現在實體的資料表中,而是作為 DAX 計算過程中的變數

虛擬資料行的命名同樣需要具有描述性並能清晰地表達虛擬資料行的內容。與實體資料行不同的是,虛擬資料表命名是在前綴加上 @ 符號,並且變數名稱以「大駝峰式命名法」(又稱:巴斯卡命名法)為依據。

例如:下列 DAX 函式為計算超過 100,000 的銷售額,在過程中有額外使用變數 SalesByProduct 來計算每一產品的銷售額。該變數利用 ADDCOLUMNS 函數產生一虛擬資料表,包含一稱為 @ProdSalesAmt 的虛擬資料行。

由於原始的實體資料表中,並未包含此欄位,這欄位是「因為計算需求而額外產生的」,所以我們可以使用 @ 符號以區別它與實體資料表的差別。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FilteredSalesAmount =
VAR  AmountLimit =  100000
VAR  SalesByProduct =
     ADDCOLUMNS  (
        ‘Product’,
         “@ProdSalesAmt”, [Sales Amount]
     )
VAR  BestProducts =
     FILTER  (
         SalesByProduct,
        [@ProdSalesAmt] >=  AmountLimit
     )
VAR  SalesAmountOfBest =
     SUMX  (
         BestProducts,
        [@ProdSalesAmt]
     )
RETURN
     SalesAmountOfBest

資料來源:SQLBI – Naming temporary columns in DAX

量值的命名規則

量值是 Power BI 報表中最重要也最常使用的元素,它們是用來計算某些事物的數字或指標,例如銷售額、利潤等。

同樣地,量值的命名應該具有描述性,並且應該能夠清晰地表達量值所代表的內容。基本上,我們可以使用「大駝峰式命名法」(又稱:巴斯卡命名法)來命名。

例如,如果量值是用來度量銷售額的,可以將其命名為 SalesAmount

一般變數的命名規則

在撰寫量值或是計算資料行中,我們常遇到需要額外變數的狀況。針對這些變數,我們可以使用「大駝峰式命名法」(又稱:巴斯卡命名法)。

延伸上面的 FilteredSalesAmount 量值案例,可以發現所有的變數(以 VAR 開頭)均為大駱駝峰式命名,如 AmountLimitSalesByProduct...等。

結語

綜上所述,良好的命名規則對於 Power BI 報表的設計和維護是不可或缺的。適當命名可以幫助其他人更快地理解自己的報表,也有助於更好地管理和維護報表,進而提高報表的可靠性和可持續性,能夠讓整個報表開發過程更加高效

當然,以上的命名規則並非一定得如此,如果你有習慣的原則且已經使用地非常流暢,歡迎在底下跟我分享你的方式!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *