身為數據建模者,您的 DAX 表示式會參考模型欄和量值。 數據行和量值一律與模型數據表相關聯,但這些關聯不同,因此我們對如何在表達式中參考它們有不同的建議。
欄位
數據行是數據表層級物件,而且數據行名稱在數據表內必須是唯一的。 因此,可能會在您的模型中多次使用相同資料行名稱,前提是這些資料行名稱屬於不同資料表。 還有一個規則:數據行名稱不能與存在於相同數據表中的量值名稱或階層名稱相同。
一般而言,DAX 不會強制使用完整限定的欄位參考。 完整參考表示資料表名稱位在資料行名稱之前。
以下是只使用資料行名稱參考的計算資料行定義範例。 Sales 和 Cost 資料行都屬於名為 Orders 的數據表。
Profit = [Sales] - [Cost]
相同的定義可以重新編寫為完整限定的欄位引用。
Profit = Orders[Sales] - Orders[Cost]
不過,有時候,當 Power BI 偵測到不明確性時,您必須使用完全限定的欄參考。 輸入公式時,紅色波浪線和錯誤訊息會提醒您。 此外,某些 DAX 函式,例如 LOOKUPVALUEDAX 函式,需要使用完全限定的欄位。
建議您一律完整限定欄位中的參考。 建議一節中會提供這些原因。
措施
量值是模型層級物件。 因此,量值名稱在模型中必須是唯一的。 不過,在 [ 欄位] 窗格中,報表作者會看到與單一模型數據表相關聯的每個量值。 此關聯是基於外觀原因所設定,您可以藉由設定量值的 Home Table 屬性加以設定。 如需詳細資訊,請參閱 Power BI Desktop 中的量值(組織量值)。
您可以在表示式中使用完整量值。 DAX intellisense 甚至會提供建議。 不過,這不是必要的,也不是建議的做法。 如果您變更量值的主數據表,任何使用完整量值參考的表達式都會中斷。 然後,您需要編輯每個出錯的公式,以移除(或更新)量值參考。
建議您永遠不要限定量值參考。 建議一節中會提供這些原因。
建議
我們的建議簡單易記:
- 一律使用完整的欄位參考
- 永遠不要使用完整量度參考
原因如下:
- 公式輸入:將會接受運算式,因為不會有任何需要解決的模糊引用。 此外,您將符合需要完整合格欄位引用的 DAX 函數之需求。
- 強固性:即使變更量值主數據表屬性,表達式仍可繼續運作。
- 可讀性:表達式將會快速且易於理解—您可以根據它是否完整限定,快速判斷其為欄或量值。
相關內容
- 學習路徑:在 Power BI Desktop 中使用 DAX
- 有任何問題嗎? 試著向 Power BI 社群提問
- 有任何建議嗎? 貢獻想法來改善 Power BI