Share via


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

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

「量值」 (measure) 是數值資料值的彙總,包括總和、計數、最小值、最大值、平均值或您建立的自訂 MDX 運算式。 「量值群組」 (measure group) 是包含一個或多個量值的容器。 所有量值都存在量值群組中,即使只有一個量值。 Cube 必須具有至少一個量值與量值群組。

這個主題包括下列各節:

建立量值的方法

量值可以是 Cube 的靜態項目,於設計階段建立,而且無論何時存取 Cube,都會一直存在。 您也可以使用多維度運算式 (MDX),將量值定義為 「導出成員」 (calculated member),以根據 Cube 中的其他量值,提供量值的導出值。 導出成員可以限定在工作階段或使用者。

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

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

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

當您以現有之資料倉儲的資料表為基礎建立 Cube 時,量值和量值群組會在建立 Cube 時具體化。 您會在精靈中選擇事實及事實資料表,以用為 Cube 中之量值及量值群組物件的基礎。
[新增量值] 對話方塊 假設 Cube 已存在於 SQL Server Data Tools 中,請按兩下 方案總管 中的 Cube 名稱,以在 Cube Designer中開啟該 Cube 名稱。 在 [量值] 窗格中,於最上層節點上按一下滑鼠右鍵,以建立新的量值群組,或指定來源資料表、資料行及彙總類型,以建立新的量值。 使用這種方法必須從預先建置的函數固定清單中選擇彙總方法。 如需更常用之彙總方法的討論,請參閱< Use Aggregate Functions >。
「導出成員」 匯出成員可將彈性和分析功能新增至 SQL Server Analysis Services 中的 Cube,因為您可以控制建立它們的時機和方式。 有時候您可能只是暫時需要量值,在使用者工作階段或調查期間的 Management Studio 階段中使用。

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

當基礎為 MDX 運算式中的量值時,請選擇此方法。 如需詳細資訊,請參閱下列主題: 在 MDX 中建置量值計算多維度模型中的計算MDX 腳本基本概念 (Analysis Services)
MDX 或 XMLA 在 SQL Server Management Studio 中,您可以執行 MDX 或 XMLA 來更改資料庫,以加入新的導出量值。 這種方法可在解決方案部署到伺服器之後,於特定的資料測試時使用。 請參閱 Document and Script an Analysis Services Database

量值的元件

量值是具有屬性的物件。 除了名稱,量值還必須具備彙總類型和來源資料行,或是用於載入包含資料之量值的運算式。 您可以藉由設定屬性來修改量值定義。

屬性 Description
source 大部分量值來自於外部資料倉儲中之事實資料表中的數值資料行,例如 AdventureWorks 資料倉儲中「網際網路銷售」和「轉售商銷售」資料表中的「銷售量」資料行;但您也可以完全依據您所定義的計算來建立新的量值。

維度資料表中的屬性資料行也可以用來定義量值,但從其彙總行為上來看,這類量值通常為局部加總或不加總。 如需局部加總行為的詳細資訊,請參閱 Define Semiadditive Behavior(定義局部加總行為)。
聚集 依預設,會沿著每個維度來加總量值。 然而, AggregateFunction 屬性可讓您修改這個行為。 如需清單,請參閱< Use Aggregate Functions >。
屬性 如需其他屬性說明,請參閱< Configure Measure Properties >。

模型化代表事實和事實資料表的量值與量值群組

執行精靈之前,請務必先了解量值定義背後的模型化原則。

量值和量值群組是代表外部資料倉儲中之事實和事實資料表的多維度物件。 在大多數情況下,量值和量值群組會以資料來源檢視中的物件為基礎,而這些物件會依序從基礎資料倉儲建立。

下圖代表 FactSalesQuota 事實資料表和相關的兩個維度資料表 ( DimTimeDimEmployee)。 在 Adventure Works 範例 Cube 中,這些資料表會作為「銷售配額」量值群組與「時間」及「員工」維度的根據。

FactSalesQuota 資料表具有兩個維度資料表

事實資料表包含兩個基本類型的資料行:屬性資料行和量值資料行。

  • 屬性資料行是用來建立外部索引鍵與維度資料表的關聯性,因此,量值資料行中的可量化資料,可由維度資料表包含的資料加以組織。 屬性資料行也可用來定義事實資料表及其量值群組的資料粒度。

  • 量值資料行定義量值群組包含的量值。

當您執行 Cube 精靈時,會篩選掉外鍵。在要選擇的其餘資料行清單中,您會看到量值資料行,以及未識別為外鍵的屬性資料行。 在FactSalesQuota範例中,精靈除了SalesAmountQuota之外,還會提供CalendarYearCalendarQuarter。 只有 SalesAmountQuota 量值資料行會產生可供您多維度模型使用的量值。 其他日期資料行的用途,只在限定每個配額量。 您應從 [Cube 精靈] 的量值清單中,排除其他資料行 CalendarYearCalendarQuarter(或稍後透過設計工具從從量值群組中移除)。

這個討論所要強調的重點是,並非精靈所提供的所有資料行都可用為量值。 這取決於您決定要用為量值的資料行時,對於資料的了解及其之後的用法。 請注意,您可以在資料來源檢視中的資料表上按一下滑鼠右鍵來探索資料,以協助您了解哪些資料行可以用為量值。 如需詳細資訊,請參閱 探索資料來源檢視中的資料 (Analysis Services)

注意

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

量值群組的資料粒度

量值群組的資料粒度與事實資料表所支援的詳細資料層級相關聯。 資料粒度必須透過維度的外部索引鍵關聯性進行設定。

例如 FactSalesQuota 事實資料表具有 DimEmployee 資料表的外部索引鍵關聯性,而 FactSalesQuota 資料表中的每筆記錄都會關聯到一位員工;如此情況下,當從「員工」維度檢視此量值群組的資料粒度時,所見內容皆為個別員工的層級。

量值群組的資料粒度絕不可設定為小於用來檢視量值群組之維度的最低層級,但可使用其他屬性將資料粒度設定為更粗一點。 例如, FactSalesQuota 事實資料表使用 TimeKeyCalendarYearCalendarQuarter這三個資料行來建立與 DimTime 資料表之關聯性的資料粒度。 因此,從 [時間] 維度檢視之量值群組的資料粒度是依據日曆季,而不是依據 [時間] 維度的最低層級:日。

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

另請參閱

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