維度 - 簡介

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

SQL Server SQL Server Analysis Services 維度的所有Microsoft都是以數據源檢視中數據表或檢視的數據行為基礎的屬性群組。 維度與 Cube 無關,可用於多個 Cube、可在單一 Cube 中使用多次,而且可以在 SQL Server Analysis Services 實例之間連結。 與 Cube 無關的維度稱為資料庫維度,而 Cube 內資料庫維度的實例稱為 Cube 維度。

以星型架構設計為基礎的維度

維度的結構主要是由基礎維度數據表或數據表的結構所驅動。 最簡單的結構稱為星型架構,其中每個維度都是以以主鍵 - 外鍵關聯性直接連結至事實數據表的單一維度數據表為基礎。

下圖說明 AdventureWorksDW2012 範例資料庫的子區段,其中 FactResellerSales 事實數據表與兩個維度數據表有關,DimResellerDimPromotionFactResellerSales 事實數據表中的 ResellerKey 數據行會定義 DimReseller 維度數據表中 ResellerKey 主鍵數據行的外鍵關聯性。 同樣地,FactResellerSales 事實數據表中的 PromotionKey 數據行會定義與 DimPromotion 維度數據表中 PromotionKey 主鍵數據行的外鍵關聯性。

事實維度關聯性的邏輯架構

以雪花式架構設計為基礎的維度

經常需要更複雜的結構,因為需要來自多個數據表的資訊才能定義維度。 在此結構中,稱為雪花式架構,每個維度都是以多個數據表中數據行的屬性為基礎,並依主鍵 -外鍵關聯性來連結至事實數據表。 例如,下圖說明完整描述 AdventureWorksDW 範例專案中 Product 維度所需的數據表:

AdventureWorksAS 產品維度的數據表

若要完整描述產品,產品類別和子類別必須包含在 Product 維度中。 不過,該資訊不會直接位於 DimProduct 維度的主數據表中。 從 DimProduct到 dimProductSubcategory的外鍵關聯性,其接著會與 DimProductCategory 數據表產生外鍵關聯性,因此可以在 Product 維度中包含產品類別和子類別的資訊。

Snowflake 架構與參考關聯性

有時候,您可以選擇使用雪花式架構從多個數據表定義維度中的屬性,或定義兩個不同的維度,以及定義兩者之間的參考維度關聯性。 下圖說明這類案例。

範例參考維度的邏輯架構,

在上圖中,FactResellerSales 事實數據表與 DimGeography 維度數據表沒有外鍵關聯性。 不過,FactResellerSales 事實數據表確實與 DimReseller 維度數據表有外鍵關聯性,而 DimReseller 維度數據表則與 DimGeography 維度數據表具有外鍵關聯性。 若要定義包含每個轉銷商地理位置資訊的 Reseller 維度,您必須從 dimGeography 和 dimReseller 維度數據表 擷取這些屬性。 不過,在 SQL Server Analysis Services 中,您可以藉由建立兩個不同的維度,並藉由定義兩個維度之間的參考維度關聯性,在量值群組中鏈接它們,以達到相同的結果。 如需參考維度關聯性的詳細資訊,請參閱 維度關聯性

在此案例中使用參考維度關聯性的其中一個優點是,您可以建立單一地理維度,然後根據地理位置維度建立多個 Cube 維度,而不需要任何額外的儲存空間。 例如,您可以將其中一個地理 Cube 維度連結至轉銷商維度,另一個地理位置 Cube 維度連結到客戶維度。 相關主題:維度關聯性定義參考關聯性和參考關聯性屬性

處理維度

建立維度之後,您必須先處理維度,才能檢視維度中的屬性和階層成員。 變更維度的結構或更新其基礎表中的資訊之後,您必須先重新處理維度,才能檢視變更。 當您在結構變更之後處理維度時,您也必須處理包含維度的任何 Cube,否則 Cube 將無法檢視。

安全

維度的所有次級物件,包括階層、層級和成員,都會使用 SQL Server Analysis Services 中的角色來保護。 維度安全性可以套用至資料庫中使用維度的所有 Cube,或只套用至特定 Cube。 如需維度安全性的詳細資訊,請參閱 授與維度的許可權 (Analysis Services)

另請參閱

維度記憶體
維度翻譯
Write-Enabled 維度