計算結果列可讓您將新數據新增至 Power Pivot 數據模型中的數據表。 您不需要將值貼上或匯入到數據行,而是 (定義數據行值的 DAX) 公式建立數據分析表達式。
例如,如果您需要將銷售利潤值新增至 factSales 表格中的每一列。 藉由新增計算結果列,並使用 公式 =[SalesAmount]-[TotalCost]-[ReturnAmount],新值的計算方式是將 TotalCost 和 ReturnAmount 欄中每個數據列中的值減去 SalesAmount 欄中每一列的值。 您可以接著在數據透視表、樞紐分析圖或 Power View 報表中使用 Profit 數據行,就像使用任何其他數據行一樣。
此圖會在 Power Pivot中顯示計算結果列。
附註: 雖然計算結果列和量值是相似的,因為每個欄都仰賴公式,但兩者都是不同的。 量值最常用於數據透視表或樞紐分析圖的 [ 值 ] 區域。 當您想要將計算結果放置在數據透視表的不同區域時,請使用計算結果列,例如數據透視表中的欄或列,或樞紐分析圖中的座標軸。 如需量值的詳細資訊,請參閱 Power Pivot 中的量值。
了解計算結果列
計算結果列中的公式與您在 Excel 中建立的公式非常類似。 不過,您無法為表格中的不同列建立不同的公式。 相反地,DAX 公式會自動套用到整個數據行。
當欄包含公式時,會為每一列計算值。 一旦您輸入公式,就會計算該欄的結果。 然後視需要重新計算欄值,例如重新整理基礎數據時。
您可以根據量值和其他計算結果列來建立計算結果列。 例如,您可以建立一個計算結果列,從文字字串擷取數位,然後在另一個計算結果列中使用該數位。
範例
您可以支援含有您新增至現有資料表之資料的計算結果列。 例如,您可以選擇串連值、執行新增、擷取子集,或比較其他欄位中的值。 若要新增計算結果列, Power Pivot中應該至少要有一個數據表。
請參閱此公式:
=EOMONTH ([StartDate],0])
使用 Contoso 範例數據,此公式會從 [促銷] 數據表的 [開始日期] 數據行擷取月份。 然後,它會計算 [促銷] 數據表中每個數據列的月底值。 第二個參數會指定 StartDate 中該月份之前或之後的月份數;在此情況下,0 代表相同的月份。 例如,如果 [開始日期] 欄中的值是 6/1/2001,計算結果列中的值會是 6/30/2001。
命名計算結果列
根據預設,新的計算結果列會新增至其他欄的右側,系統會自動指派該欄的預設名稱 為 CalculatedColumn1、 CalculatedColumn2 等。 建立欄之後,您可以視需要重新排列及重新命名欄。
對計算結果列的變更有一些限制:
-
每個數據行名稱在數據表中應是唯一的。
-
避免使用已用於相同活頁簿內量值的名稱。 雖然度量和計算結果列的名稱可能相同,但如果名稱並非唯一,您很容易就會收到計算錯誤。 為了避免不小心叫用量值,參照數據行時,一律使用完整欄參照。
-
重新命名計算結果列時,您也必須更新任何依賴現有數據行的公式。 除非您處於手動更新模式,否則會自動更新公式的結果。 不過,這項作業可能需要一些時間。
-
有些字元無法在欄名或 Power Pivot中其他對象的名稱中使用。 如需詳細資訊,請參閱 Power Pivot 的 DAX 語法規格中的「命名需求」。
若要重新命名或編輯現有的計算結果列:
|
變更數據類型
您可以變更計算結果列的數據類型,就像變更其他數據行的數據類型一樣。 您無法進行下列數據類型變更:從文字到十進位、從文字到整數、從文字到貨幣,以及從文字到日期。 您可以將文字變更為布爾值。
計算結果列的效能
計算結果列的公式可能會比用於量值的公式耗用大量資源。 其中一個原因是,計算結果列的結果一律會根據表格中的每一列進行計算,而量值只會計算數據透視表或樞紐分析圖中所使用的單元格。
例如,具有100萬列的數據表一律會有一個含有100萬個結果的計算結果列,以及對應的效能效果。 不過,數據透視表通常會套用列名和欄名來篩選數據。 這表示度量只會計算數據透視表中每個儲存格中的數據子集。
公式有公式中對象參照的相依性,例如評估值的其他欄或表達式。 例如,在評估其他數據行之前,無法評估以另一欄為基礎的計算結果列,或是包含含有欄參照之表達式的計算。 根據預設,會啟用自動重新整理。 因此,請記住,公式相依性可能會影響效能。
若要避免在建立計算結果列時發生效能問題,請遵循下列指導方針:
-
與其建立包含許多複雜相依性的單一公式,請在步驟中建立公式,並將結果儲存至欄,以便驗證結果並評估效能的變更。
-
對數據的修改通常會更新計算結果列。 您可以將重新計算模式設定為手動,以避免此問題。 不過請記住,如果計算結果列中的任何值不正確,則會停用該欄,直到您重新整理並重新計算數據為止。
-
如果您變更或刪除資料表之間的關聯,在這些數據表中使用數據行的公式將會變成無效。
-
如果您建立的公式包含迴圈或自我參照相依性,則會發生錯誤。
工作
如需使用計算結果列的詳細資訊,請參閱 Create 計算結果列]。