維度關聯性
維度使用方式會定義 Cube 維度和 Cube 內量值群組之間的關聯性。 Cube 維度是在特定 Cube 中使用之資料庫維度的執行個體。 Cube 可以,而且經常會,具有與量值群組沒有直接關聯的 Cube 維度,但可能會透過其他維度或量值群組,間接地與此量值群組相關。 當您將資料庫維度或量值群組加入 Cube 時,Microsoft SQL Server Analysis Services會藉由檢查維度資料表與 Cube 資料來源檢視中事實資料表之間的關聯性,以及檢查維度中屬性之間的關聯性,嘗試判斷維度使用量。 Analysis Services 會自動設定其可偵測之關聯性的維度使用方式設定。
維度與量值群組之間的關聯性,是由維度和參與關聯性的事實資料表所組成的,而資料粒度屬性則會指定特定量值群組中之維度的資料粒度。
一般維度關聯性
當維度的索引鍵資料行直接聯結到事實資料表時,在 Cube 維度與量值群組之間會存在一般維度關聯性。 此直接關聯性是以基礎關係資料庫中的主鍵外鍵關聯性為基礎,但也可能以資料來源檢視中定義的邏輯關聯性為基礎。 一般維度關聯性代表在傳統星狀結構描述設計中,維度資料表與事實資料表之間的關聯性。 如需一般關聯性的詳細資訊,請參閱 定義一般關聯性和一般關聯性屬性。
參考維度關聯性
當維度的索引鍵資料行透過其他維度資料表中的索引鍵間接聯結到事實資料表時,Cube 維度與量值群組之間就會有參考維度關聯性 (如下圖所示)。
參考維度關聯性代表在雪花式結構描述設計中,維度資料表與事實資料表之間的關聯性。 當您在雪花式結構描述中連接維度資料表時,可以使用多份資料表中的資料行來定義單一維度;或者根據不同的維度資料表來定義個別的維度,然後使用參考維度關聯性設定來定義這些維度之間的連結。 下圖顯示在雪花式架構中名為 InternetSales的一個事實資料表,以及名為 Customer 和 Geography的兩個維度資料表。
您可以使用 Customer 資料表作為維度主資料表,以及隨附為相關資料表的 Geography 資料表來建立維度。 接著,在維度和 InternetSales 量值群組之間定義一般關聯性。
或者,您可以建立與 InternetSales 量值群組相關的兩個維度:以 Customer 資料表為基礎的維度,以及以 Geography 資料表為基礎的維度。 然後您就可以利用 Customer 維度,使用參考維度關聯性將 Geography 維度關聯至 InternetSales 量值群組。 在此情況下,當依 Geography 維度來標示 InternetSales 量值群組之事實的維度時,會依客戶與依地理位置來標示事實的維度。 如果 Cube 包含稱為 Reseller Sales 的第二個量值群組,則因為 Reseller Sales 與 Geography 之間並沒有關聯性,所以您將無法在 Reseller Sales 量值群組中依 Geography 來標示事實的維度。
可鏈結在一起的參考維度數目不限,如下圖所示。
如需參考關聯性的詳細資訊,請參閱 定義參考關聯性和參考關聯性屬性。
事實維度關聯性
事實維度 (一般稱為變質維度) 是從事實資料表內的屬性資料行 (而非從維度資料表內的屬性資料行) 建構而來的標準維度。 有時候會將有用的維度資料儲存在事實資料表中,以減少資料的重複。 例如,下圖顯示 Adventure Works DW 多維度 2012 範例資料庫中 的 FactResellerSales 事實資料表。
。
此資料表所包含的屬性資訊,不但有零售商所發出的訂單產品線,還有關於訂單本身的資訊。 上圖中圓形的屬性會識別 FactResellerSales 資料表中可用來作為維度中屬性的資訊。 在此情況下,還有另外兩項資訊,即轉售商發出的貨運追蹤編號和訂單號碼,是由 CarrierTrackingNumber 和 CustomerPONumber 屬性資料行來表示。 這項資訊很有趣,例如,使用者絕對有興趣查看匯總資訊,例如產品總成本,以單一追蹤號碼寄送的所有訂單。 但沒有維度,也無法組織或彙總這兩個屬性的資料。
理論上,您可以建立與 FactResellerSales 資料表使用相同索引鍵資訊的維度資料表,並將其他兩個屬性資料行 (CarrierTrackingNumber 和 CustomerPONumber) 移到該維度資料表。 不過,這樣做會重複大量資料,並在資料倉儲中增加了不必要的複雜性,而這一切只為了以個別維度來表示兩個屬性。
注意
事實資料表經常會用來支援鑽研動作。 如需動作的詳細資訊,請參閱 Actions (Analysis Services - 多維度資料) 。
注意
在每次更新事實關聯性所參考的量值群組之後,都必須以累加方式更新事實維度。 如果事實維度是 ROLAP 維度,Analysis Services 處理引擎會卸載任何快取,並以累加方式處理量值群組。
如需事實關聯性的詳細資訊,請參閱 定義事實關聯性和事實關聯性屬性。
多對多維度關聯性
在大部分維度中,每一個事實只會聯結到一個維度成員,且單一維度成員可與多個事實相關聯。 在關聯式資料庫詞彙中,這稱為「一對多關聯性」。 然而,將單一事實聯結至多個維度成員,是很有用的。 例如,銀行客戶可以有多個帳戶 (支票、儲蓄、信用卡和投資帳戶),而一個帳戶可以有聯合或多個擁有者。 從這樣的關聯性建構的客戶維度,就會有多個與單一帳戶交易相關的成員。
SQL Server Analysis Services可讓您定義維度與事實資料表之間的多對多關聯性。
注意
若要支援多對多維度關聯性,資料來源檢視必須在所有相關資料表之間建立外部索引鍵關聯性 (如上圖所示)。 否則,當您在 [維度使用方式] 索引標籤的 [維度使用方式] 索引標籤中建立關聯性時,將無法選取正確的中繼量值群組Designer。
如需多對多關聯性的詳細資訊,請參閱 定義多對多關聯性和多對多關聯性屬性。