在本文中,我們將瞭解在 Power Pivot 中為 計算結果欄 和 量 值建立計算公式的基本概念。 如果您是 DAX 的新使用者,請務必查看「 快速入門:30 分鐘學習 DAX 基本概念」。
公式基本概念
Power Pivot 提供資料分析運算式 (DAX) ,可在 Power Pivot 資料表和 Excel 樞紐分析表中建立自訂計算。 DAX 包含 Excel 公式中使用的部分函數,以及專為處理關聯式資料及執行動態彙總所設計的其他函數。
以下是一些可用於計算欄的基本公式:
| 公式 | 描述 |
|---|---|
| =TODAY() | 在欄的每一列插入今天的日期。 |
| =3 | 在欄的每一列插入值 3。 |
| =[欄 1] + [欄 2] | 將 [欄 1] 和 [欄 2] 相同列中的值相加,並將結果放在計算欄的同一列中。 |
您可以為計算結果欄建立 Power Pivot 公式,就像在 Microsoft Excel 中建立公式一樣。
建立公式時請使用下列步驟:
- 每個公式都必須以等號開頭。
- 您可以輸入或選取函數名稱,或輸入運算式。
- 開始輸入您想要的函數或名稱的前幾個字母,[自動完成] 會顯示可用函數、資料表和欄位的清單。 按 TAB 以將 [自動完成] 清單中的項目新增至公式。
- 按一下 [Fx ] 按鈕以顯示可用函數的清單。 若要從下拉式清單中選取函數,請使用方向鍵反白顯示該項目,然後按一下 [確定 ] 將函數加入公式。
- 從列出可能的資料表和資料行的下拉式清單中選取引數,或輸入值或其他函數,為函數提供引數。
- 檢查語法錯誤:確定所有括弧都已關閉,且正確參照欄、表格和值。
- 按下 ENTER 接受公式。
注意
在計算結果欄中,一旦您接受公式,就會填入值。 在量值中,按 ENTER 會儲存量值定義。
建立簡單公式
| 使用簡單的公式建立計算結果欄 SalesDateSubcategoryProductSalesQuantity1/5/2009配件手提盒254995681/5/2009配件迷你電池充電器1099.56441/5/2009DigitalSlim Digital6512441/6/2009配件遠攝轉換鏡頭1662.5181/6/2009配件三腳架938.34181/6/2009配件USB線1230.2526
|
|---|
使用自動完成的提示
- 您可以在巢狀函數的現有公式中間使用公式自動完成。 緊接在插入點之前的文字是用來顯示下拉式清單中的值,插入點後的所有文字都保持不變。
- Power Pivot 不會新增函數的右括弧,或自動比對括弧。 您必須確定每個函數在語法上都正確無誤,否則您將無法儲存或使用該公式。 Power Pivot 會反白顯示括弧,方便您檢查括弧是否正確關閉。
使用資料表和資料行
Power Pivot 表格看起來類似 Excel 表格,差異在於處理資料和公式的方式:
- Power Pivot 中的公式僅適用於表格和欄,不適用於個別儲存格、範圍參照或陣列。
- 公式可以使用關聯性從相關資料表取得值。 擷取到的值一律與目前的列值相關。
- 您無法將 Power Pivot 公式貼到 Excel 工作表中,反之亦然。
- 您不能像在 Excel 工作表中那樣有不規則或「參差不齊」的資料。 表格中的每一列都必須包含相同的欄數。 不過,某些欄位中的值可能空白。 Excel 運算列表和 Power Pivot 運算列表不可交換,但您可以從 Power Pivot 連結至 Excel 表格並將 Excel 資料貼到 Power Pivot。 如需詳細資訊,請參閱使用連結資料表將工作表資料新增到資料模型和在 Power Pivot 中將資料複製並貼上資料列至資料模型。
參照公式和運算式中的資料表和資料行
您可以使用任何資料表和資料行的名稱來參照其名稱。 例如,下列公式說明如何使用完整名稱來參照兩個資料表中的欄:
=SUM ('New Sales'[Amount]) + SUM ('Past Sales'[Amount])
評估公式時,Power Pivot 會先檢查一般語法,然後針對目前內容中可能的資料行和資料表,檢查您提供的資料行和資料表名稱。 如果名稱不明確,或者找不到欄或表格,您的公式會顯示錯誤, (#ERROR 字串,而不是) 發生錯誤的儲存格中的資料值。 如需資料表、資料行和其他物件的命名需求的詳細資訊,請參閱《 Power Pivot 的 DAX 語法規格中的命名需求》。
注意
內容是 Power Pivot 資料模型的重要功能,可讓您建立動態公式。 內容是由資料模型中的資料表、資料表之間的關聯,以及已套用的任何篩選所決定。 如需詳細資訊,請參閱 DAX 公式中的內容。
資料表關聯
資料表可以與其他資料表相關。 藉由建立關聯性,您可以在另一個資料表中查詢資料,並使用相關值來執行複雜的計算。 例如,您可以使用計算結果欄來查詢與目前轉銷商相關的所有運送記錄,然後加總每個記錄的運送成本。 其效果就像參數化查詢一樣:您可以針對目前資料表中的每一列計算不同的總和。
許多 DAX 函數要求資料表之間或多個資料表之間存在關聯,才能找到您已參照的欄並傳回有意義的結果。 其他函數將嘗試識別關係;但是,為了獲得最佳結果,您應該始終盡可能建立關係。
當您使用樞紐分析表時,請務必連接樞紐分析表中使用的所有資料表,這樣才能正確計算摘要資料。 如需詳細資訊,請參閱處理 樞紐分析表中的關聯。
疑難排解公式錯誤
如果您在定義計算結果欄時發生錯誤,則公式可能包含語法錯誤或語意錯誤。
語法錯誤是最容易解決的。 它們通常涉及缺少的括號或逗號。 如需個別函數語法的說明,請參閱 DAX 函數參考。
當語法正確,但引用的值或欄在公式內容中沒有意義時,就會發生另一種類型的錯誤。 這類語意錯誤可能是由下列任一問題所造成:
- 公式參照不存在的資料行、表格或函數。
- 公式看似正確,但是在 Power Pivot 擷取資料時發現類型不相符,並引發錯誤。
- 公式將不正確的參數數目或類型傳遞給函數。
- 公式引用的不同欄有錯誤,因此其值無效。
- 公式參照的是尚未處理的欄。 如果您將活頁簿變更為手動模式、進行變更,但從未重新整理資料或更新計算,就可能發生這種情況。
在前四個案例中,DAX 會標記包含無效公式的整欄。 在最後一種情況下,DAX 會將資料行呈現灰色,表示資料行處於未處理狀態。