在樞紐分析表或樞紐分析圖中建立量值
量值是一種您為了測量相對於與分析相關的其他因素 (例如時間、地理位置、組織或產品特性) 之結果所建立的計算。 建立量值的方式有許多種,不過主要取決於您計畫使用量值的方式,而且並非所有方法都同樣有效。 具體而言,如果您要建立在報表應用程式中當做資料模型使用的活頁簿,請務必單獨建立明確量值,如下列各節所述。
建立用於資料模型的量值
您在 PowerPivot 活頁簿中建立的量值可用於 Power View 和其他報表應用程式中建置的報表,並與您在報表中建立的其他量值或計算共存。 若要讓量值在報表中顯示成預先定義的計算,您必須在 PowerPivot 活頁簿中,將量值建立成明確量值。 明確量值就是您手動建立的量值。 它有別於您將欄位加入至樞紐分析表之 [值] 區域時由 Excel 自動產生的隱含量值。
建立用於 Excel 的量值
當您建立用於 Excel 的量值時,必須先將樞紐分析表或樞紐分析圖加入至 PowerPivot 活頁簿。 然後,您可以使用下列任何一種方法來建立量值:
將欄位從 [PowerPivot 欄位清單] 拖曳至 [值] 區域中,藉以建立隱含量值。 如果您拖曳數值欄位,就會使用 SUM 彙總來計算隱含量值。 如果您拖曳文字欄位,就會使用 COUNT 彙總來計算量值。 您可以編輯隱含量值,將計算變更為不同的彙總,例如 MIN、MAX 或 DISTINCTCOUNT。
[!附註]
隱含量值很容易建立,但是其限制比明確量值要多。 隱含量值無法重新命名、移動或用於活頁簿的其他樞紐分析表或圖表中。 此外,因為隱含量值是以現有的欄位為基礎,所以刪除該欄位也會刪除相關的隱含量值。 最後,隱含量值只能使用彙總內建的資料格式。它們不支援提供給明確量值使用的各種資料格式。
使用 PowerPivot 功能區上的 [新增量值] 按鈕,手動建立明確量值。
在 [PowerPivot] 視窗的 [計算區域] 中,將量值名稱和公式輸入資料格的公式區域中,藉以手動建立明確量值。
加入量值之後,即會針對樞紐分析表 [值] 區域內的每個資料格評估公式。 由於結果是依據資料列與資料行標頭的每種組合而建立,每個資料格中量值的結果可能各有不同。
範例:建立使用簡單彙總的明確量值
此範例包含取自 AdventureWorks 資料庫的自行車相關資料。 如需可由何處取得範例活頁簿的詳細資訊,請參閱<取得 PowerPivot 的範例資料>。 如需公式的詳細資訊,請參閱<建置計算公式>。
此範例會示範兩種建立明確量值的方式。 首先,您會在 [PowerPivot] 視窗的 [計算區域] 中建立量值,而這個區域會顯示模型中定義的所有量值。 其次,您會將樞紐分析表或樞紐分析圖加入至 PowerPivot 活頁簿,然後使用 [量值設定] 對話方塊來加入量值。 量值的公式會使用 PowerPivot 活頁簿中的資料行和資料表來定義總和、平均值或其他計算。
按一下 [PowerPivot] 視窗中的 [主資料夾] 索引標籤,然後按一下 [檢視] 群組中的 [計算區域]。
在 FactResellerSales 資料表中,按一下 [計算區域] 內任何位置的資料格。
在活頁簿頂端的公式列中,使用 <measurename>:<formula> 格式來輸入公式:
Projected Sales:=SUM('FactResellerSales'[SalesAmount])*1.06
按一下 [確定] 接受公式。
按一下 [PowerPivot] 視窗中的 [主資料夾] 索引標籤,然後按一下 [報表] 群組中的 [樞紐分析表]。
在 [建立樞紐分析表] 對話方塊中,確認已選取 [新工作表],然後按一下 [確定]。
PowerPivot 會在新的 Excel 工作表中建立一個空白的樞紐分析表,並於活頁簿右側顯示 PowerPivot 欄位清單。
展開 [FactResellerSales] 資料表以檢視您剛才建立的量值。 如果建立量值之前,活頁簿已經具有樞紐分析表,您就必須按一下位於 [PowerPivot 欄位清單] 頂端的 [重新整理] 按鈕以重新整理欄位。
在 Excel 視窗的 [PowerPivot] 索引標籤上,按一下 [量值] 群組中的 [新增量值]。
在 [量值設定] 對話方塊中,按一下 [資料表名稱] 的向下箭號,然後從下拉式清單中選取 [FactResellerSales]。
資料表的選擇會決定將要儲存量值定義的位置。 量值並不需要與該量值所參考的資料表一起儲存。
針對 [量值名稱 (所有樞紐分析表)],輸入 Total Quantity。
量值的名稱在活頁簿內必須是唯一的,而且您不能使用活頁簿內用於命名任何資料行的相同名稱。
在 [公式] 文字方塊中,將游標放置在等號 (=) 後面,然後輸入下列公式:
SUM(FactResellerSales[OrderQuantity])
按一下 [確定]。
您所建立的這兩個量值會與來源資料表一起儲存,但是可供任何樞紐分析表或樞紐分析圖使用。 這些量值會出現在 PowerPivot 欄位清單中,可供活頁簿的所有使用者使用。
範例:建立使用自訂彙總的明確量值
在這個範例中,您所要建立的自訂彙總將使用其中一個新的 DAX 彙總函式 SUMX,另外還有 ALL 函數,後者會傳回某個資料行的所有值而忽略該資料行的內容。 此範例使用來自 DAX 範例活頁簿的下列資料行:
DateTime[CalendarYear]
ProductCategory[ProductCategoryName]
ResellerSales_USD[SalesAmount_USD]
範例中使用的樞紐分析表具有資料列標籤 CalendarYear 和資料行標籤 ProductCategoryName,同時量值公式會用到 SalesAmount_USD。 此範例將回答這個問題:每一產品類別目錄於 2005-2008 年每年的銷售量各佔總數量的百分之幾? 例如,您可以藉此得知 2007 年的自行車銷售量佔總數量的百分比。 為了回答這個問題,我們要使用下列量值公式:
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
公式的建構方式如下所示:
分子 SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) 是樞紐分析表中目前資料格的 ResellerSales_USD[SalesAmount_USD] 值總和。 因為附帶了 CalendarYear 和 ProductCategoryName 的內容,表示每一年各產品類別目錄的這個值都不盡相同。 例如,2003 年自行車總銷售量不會等於 2008 年配件總銷售量。
對於分母,您首先要指定 ResellerSales_USD 資料表,然後使用 ALL 函數來移除該資料表上的所有內容篩選。 這可確保年份與產品類別目錄的每種組合具有相同的值,因為分母一律為 2005-2008 年的總銷售量。
接著,您要使用 SUMX 函數加總 ResellerSales_USD[SalesAmount_USD] 資料行中的值。 換句話說,您要取得所有轉售商銷售量之 ResellerSales_USD[SalesAmount_USD] 的總和。
[!附註]
在 Windows Vista 和 Windows 7 中,PowerPivot 視窗中的功能在功能區中都有提供,本主題會對此加以說明。 在 Windows XP 中,功能都是從一組功能表使用的。 如果您是使用 Windows XP,而且想要了解功能表命令與功能區命令的對應關係,請參閱<Windows XP 中的 PowerPivot UI>。
若要建立使用自訂彙總的量值
按一下 [PowerPivot] 視窗中的 [主資料夾] 索引標籤,然後按一下 [報表] 群組中的 [樞紐分析表]。
在 [建立樞紐分析表] 對話方塊中,確認已選取 [新工作表],然後按一下 [確定]。
PowerPivot 會在新的 Excel 工作表中建立一個空白的樞紐分析表,並於活頁簿右側顯示 PowerPivot 欄位清單。
在 Excel 視窗中,使用 [PowerPivot 欄位清單] 將資料行加入至樞紐分析表:
找出 [DateTime] 資料表,並將 [CalendarYear] 資料行拖曳到樞紐分析表的 [資料列標籤] 區域。
找出 [ProductCategory] 資料表,並將 [ProductCategoryName] 資料行拖曳到樞紐分析表的 [資料列標籤] 區域。
在 Excel 視窗的 [PowerPivot] 索引標籤上,按一下 [量值] 群組中的 [新增量值]。
在 [量值設定] 對話方塊中,按一下 [資料表名稱] 的向下箭號,然後從下拉式清單中選取 [ResellerSales_USD]。
資料表的選擇會決定將要儲存量值定義的位置。 量值並不需要與該量值所參考的資料表一起儲存。
針對 [量值名稱 (所有樞紐分析表)],輸入 AllResSalesRatio。
此名稱是當做量值的識別碼使用,因此,它在活頁簿內必須是唯一的,而且無法變更。
針對 [自訂名稱 (這個樞紐分析表)],輸入 All Reseller Sales Ratio。
基於顯示用途,此名稱僅用於目前的樞紐分析表中。 例如,您可以在其他樞紐分析表中重複使用量值 AllResSalesRatio,但賦予其另一個名稱,或使用不同的語言。
在 [公式] 文字方塊中,將游標放置在等號 (=) 後面。
輸入 SUMX,然後輸入括號。
=SUMX(
當您輸入時,[公式] 文字方塊下方的工具提示會指出 SUMX 函數需要兩個引數:第一個引數是資料表或傳回資料表的運算式,而第二個引數是提供可以加總之數字的運算式。
輸入 Res,然後從清單中選取 [ResellerSales_USD],再按下 TAB 鍵。
資料行名稱就會插入公式中,如下所示:
=SUMX(ResellerSales_USD
輸入逗號。
工具提示會更新以顯示下一個需要的引數是運算式。 運算式可以是值、資料行的參照或兩者的特定組合。 例如,您可以建立加總兩個其他資料行的運算式。 在此範例中,您將提供包含每個轉售商銷售量之資料行的名稱。
針對包含您要加入之資料行的資料表,輸入其名稱的前幾個字母。 在此範例中,輸入 Res,然後從清單中選取 [ResellerSales_USD[SalesAmount_USD]] 資料行。
按下 TAB 鍵可以將資料行名稱插入公式中,然後加上右括號,如下所示:
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])
輸入正斜線,然後輸入或複製並貼上下列程式碼,到 [量值設定] 對話方塊中。
SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
請注意 ALL 函數以巢狀方式置於 SUMX 函數內。 如今整個公式的內文如下所示:
=SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
按一下 [檢查公式]。
系統會檢查此公式是否有語法或參考錯誤。 解決可能已經發現的所有錯誤,例如,遺漏括號或逗號。
按一下 [確定]。
此時量值會將日曆年度與產品類別目錄之每種組合的值填入樞紐分析表。
格式化資料表:
選取樞紐分析表中的資料,包括 [總計] 資料列。
在 [主資料夾] 索引標籤的 [數值] 群組中,按一下百分比按鈕 ([%]),再按兩次增加小數位數按鈕 ([<- .0 .00])。
完成後的資料表應顯示如下。 現在您就可以看出產品與年份各種組合的總銷售量所佔百分比。 例如,2007 年自行車銷售量為 2005-2008 年全數總銷售量的 31.71%。
All Reseller Sales |
資料行標籤 |
|
|
|
|
資料列標籤 |
Accessories |
Bikes |
Clothing |
Components |
總計 |
2005 |
0.02% |
9.10% |
0.04% |
0.75% |
9.91% |
2006 |
0.11% |
24.71% |
0.60% |
4.48% |
29.90% |
2007 |
0.36% |
31.71% |
1.07% |
6.79% |
39.93% |
2008 |
0.20% |
16.95% |
0.48% |
2.63% |
20.26% |
總計 |
0.70% |
82.47% |
2.18% |
14.65% |
100.00% |