共用方式為


在多維度模型中建立量值和量值群組

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

量值 是數值數據的匯總,例如 sum、count、minimum、maximum、average 或您建立的自定義 MDX 表達式。 量值群組 是一或多個量值的容器。 所有量值都存在於量值群組中,即使只有一個量值也一樣。 Cube 必須至少有一個量值和量值群組。

本主題包含下列各節:

建立量值的方法

量值可以是 Cube 的靜態專案,在設計時間建立,每當存取 Cube 時,一律會出現。 但是,您也可以使用 MDX,根據 Cube 中的其他量值,將量值定義為 匯出成員。 匯出成員的範圍可以設定為會話或使用者。

若要建立量值或量值群組,請使用下列其中一種方法:

方法 描述
Cube 精靈 在 SQL Server Data Tools 中執行 Cube 精靈以建立 Cube。

在 [方案總管] 中,以滑鼠右鍵按兩下 [Cube],然後選擇 [[新增 Cube]。 如果您需要這些步驟的協助,請參閱 多維度模型化(Adventure Works 教學課程)

當您根據現有數據倉儲的數據表建立 Cube 時,量值和量值群組的定義會具體化為 Cube 建立程式的一部分。 在精靈中,您將選擇要使用哪些事實和事實數據表作為 Cube 中量值和量值群組對象的基礎。
[新增量值] 對話框 假設 Cube 已存在於 SQL Server Data Tools 中,請按兩下 [方案總管] 中的 Cube 名稱,以在 Cube 設計師中開啟它。 在 [量值] 窗格中,以滑鼠右鍵按兩下頂端節點,以指定源數據表、數據行和匯總類型,以建立新的量值群組或新的量值。 使用此方法需要您從預先建置函式的固定清單中選擇匯總方法。 如需更常用匯總的討論,請參閱使用聚合函數
匯出成員 導出成員會將彈性和分析功能新增至 SQL Server Analysis Services 中的 Cube,因為您可以控制建立它們的時間和方式。 有時候您只需要暫時的量值、在用戶會話期間,或在Management Studio 中做為調查的一部分。

在 SQL Server Data Tools 中,開啟 [計算] 索引標籤以建立新的導出成員。

在 MDX 運算式上建立量值時,請選擇此方法。 如需詳細資訊,請參閱下列主題:在 MDX中建置量值、計算多維度模型中的計算MDX 腳本基本概念
MDX 或 XMLA 在 SQL Server Management Studio 中,您可以執行 MDX 或 XMLA 來改變資料庫以包含新的匯出量值。 在解決方案部署至伺服器之後,此方法適用於資料的特定測試。 請參閱 檔案和文稿 Analysis Services 資料庫

量值的元件

量值是具有屬性的物件。 除了其名稱之外,量值還必須有匯總類型和源數據行或用來載入量值的表達式。 您可以藉由設定其屬性來修改量值定義。

屬性 描述
來源 大部分量值來自外部數據倉儲中事實數據表中的數值數據行,例如 AdventureWorks 數據倉儲中 Internet Sales 和 Reseller Sales 數據表中的 Sales Amount 數據行,但您也可以完全根據您所定義的計算來建立新的量值。

維度數據表中的屬性數據行可用來定義量值,但這類量值在匯總行為方面通常是半加總或非加總。 如需有關半加總行為的詳細資訊,請參閱 定義半加總行為
匯總 根據預設,量值會沿著每個維度加總。 不過,AggregateFunction 屬性可讓您修改此行為。 如需清單,請參閱 使用聚合函數
屬性 如需其他屬性描述,請參閱 設定量值屬性

將事實和事實數據表的量值和量值群組模型化

執行精靈之前,有助於瞭解量值定義背後的模型原則。

量值和量值群組是代表外部數據倉儲中事實和事實數據表的多維度物件。 在大部分情況下,量值和量值群組會以數據源檢視中的對象為基礎,而後者則會從基礎數據倉儲建立。

下圖代表 FactSalesQuota 事實數據表及其相關聯的兩個維度數據表,DimTimeDimEmployee。 在 Adventure Works 範例 Cube 中,這些數據表會作為 Sales Quotas 量值群組的基礎,以及 Time 和 Employee 維度。

FactSalesQuota 數據表,其中兩個維度數據表

事實數據表包含兩種基本類型的數據行:屬性數據行和量值數據行。

  • 屬性數據行可用來建立維度數據表的外鍵關聯性,讓量值數據行中的可量化數據可由維度數據表中包含的數據組織。 屬性數據行也可用來定義事實數據表及其量值群組的數據粒度。

  • 量值數據行會定義量值群組所包含的量值。

當您執行 Cube 精靈時,會篩選掉外鍵。在要選擇的其餘資料列清單中,您會看到量值數據行,加上未識別為外鍵的屬性數據行。 在 FactSalesQuota 範例中,除了 SalesAmountQuota之外,精靈還會提供 CalendarYearCalendarQuarter。 只有 SalesAmountQuota 量值數據行會導致多維度模型的可運作量值。 其他以日期為基礎的數據行存在來限定每個配額數量。 您應該從 Cube 精靈的量值清單中排除其他數據行,CalendarYearCalendarQuarter(或從設計工具稍後的量值群組中移除它們)。

要從此討論中取走的觀點,不是精靈所提供的所有數據行都作為量值很有用。 依賴您對數據的理解,以及決定要使用哪些數據行做為量值時使用的方式。 請記住,您可以在數據源檢視中的數據表上按下滑鼠右鍵來探索數據,以協助您識別要作為量值的數據行。 如需詳細資訊,請參閱 探索數據源檢視中的數據 (Analysis Services)

注意

並非所有量值都直接衍生自儲存在事實數據表數據行中的值。 例如,Adventure Works 範例 Cube Sales Quota 量值群組中定義的 Sales Person Count 量值,實際上是根據 EmployeeKey 數據行中 FactSalesQuota 事實數據表的唯一值計數(或相異計數)。

量值群組的數據粒度

量值群組具有相關聯的粒度,該數據粒度是指事實數據表所支援的詳細數據層級。 粒度是透過與維度的外鍵關聯性來設定。

例如,FactSalesQuota 事實數據表與 DimEmployee 數據表有外鍵關聯性,FactSalesQuota 數據表中的每個記錄都與單一員工相關,因此從 Employee 維度檢視的量值群組數據粒度會位於個別員工層級。

量值群組的數據粒度永遠無法設定比檢視量值群組的最低層級更精細,但數據粒度可以使用其他屬性進行粗略設定。 例如,FactSalesQuota 事實數據表會使用三個數據行:TimeKeyCalendarYearCalendarQuarter,以建立與 DimTime 數據表 關聯性的粒度。 因此,從 [時間] 維度檢視的量值群組數據粒度是依行事歷季,而不是依天檢視,這是時間維度的最低層級。

您可以使用 Cube 設計師的 [維度使用方式] 索引標籤,指定量值群組與特定維度相關的粒度。 如需維度關聯性的詳細資訊,請參閱 維度關聯性

另請參閱

多維度模型中的 Cube
量值和量值群組