Interfejs wymiaru
Ostrzeżenie
Ta funkcja zostanie usunięta z następnej wersji programu Microsoft SQL Server. Nie należy stosować tej funkcji w nowych projektach oraz jak najszybciej należy zmodyfikować aplikacje, w których obecnie jest używana ta funkcja.
W konsoli Decision Support Objects (DSO) wymiary są reprezentowane przez obiekty, które zawierają kolekcje inne obiekty, które z kolei reprezentują poziomy wymiarów.Wymiar czasu zawiera często poziomy rok, kwartał, miesiąc i dzień.Poziomy kostki są definiowane przez kolumny tabela wymiarów, który jest przechowywany w magazyn danych bazy danych.Podczas przetwarzania obiektu wymiaru Analysis server konstrukcje wymiaru i jego poziomy i wypełnia je członkom z tabela wymiarów.Aby uzyskać więcej informacji na temat DSO, zobacz Wprowadzenie obiekty obsługi decyzji.
Wdrożenie wszystkich obiektów wymiar DSO Dimension interfejs i manipulowanie tymi obiektami za pośrednictwem interfejs.ClassType właściwość obiektu wymiar określa typ wymiar.ClassType Wartość wymiar bazy danych jest clsDatabaseDimension.ClassType Wartości wymiarów moduł, partycji i agregacja (obsługiwane przez CubeDimension, PartitionDimension, DbDimension, i AggregationDimension obiektów) są clsCubeDimension, clsPartitionDimension, i clsAggregationDimension, odpowiednio.Command Interfejs zawiera kolekcje, metody i właściwości do manipulowania tych obiektów.Wymiary, które znajdują się w Dimensions kolekcja MDStore obiekt reprezentujący bazę danych, moduł, partycja lub agregacja.
Aby użyć wymiarów, należy utworzyć je w Dimensions kolekcja obiektu bazy danych.Następnie przypisać niektóre lub wszystkie wymiary do moduł.Wymiary przypisane do moduł automatycznie stosuje się do jego partycje i agregacji i jawnie skojarzyć je z modułów wirtualnych, które korzystają z moduł.
W tym temacie omówiono różne typy odmian, używa się wymiarów i zawiera informacje dotyczące pracy z nimi w DSO.
Typy wymiarów DSO
W poniższej tabela opisano każdy typ wymiar i kontekst, w którym jest używany.
Typ wymiaru |
Opis |
|---|---|
wymiar bazy danych |
Wymiary są zawarte w bazie danych |
Wymiar modułu |
Wymiary są zawarte wmoduł |
Wymiar partycji |
Wymiary są używane w partycji |
Agregacja wymiar |
Wymiary są zawarte w agregacja |
Wymiary bazy danych Zdefiniuj strukturę wymiar i źródło danych, gdzie istnieją tabele wymiar.
Dowolne wymiary bazy danych mogą być używane, moduł, można dokonać łączyć między tabeli wymiar i tabela fakt moduł.Wymiary modułu ma taką samą nazwę jak ich odpowiednie wymiary bazy danych.Po dodaniu do istniejącego wymiar bazy danych Dimensions kolekcja moduł, DSO definiuje i automatycznie tworzy wszystkie obiekty poziom moduł dla wymiar moduł.Wymiar moduł dziedziczy właściwości odpowiedniego wymiaru bazy danych; Niektóre z tych właściwości mogą być dostosowywane w moduł.Na przykład można określić, jak wymiar moduł jest używany w projekcie skupiska przez ustawienie AggregationUsage właściwość wymiaru.
Wymiary partycji dotyczą wymiary moduł jego obiektu nadrzędnego w taki sam sposób, że wymiary moduł odnosi się do wymiarów bazy danych.Każdy wymiar partycji ma odpowiedni wymiar moduł i ma taką samą liczbę poziomów w wymiarze moduł.
Wymiary agregacja są wymiary używane w agregacja.Są różne od ich odpowiednie wymiary partycji, zazwyczaj mają mniej poziomów.Wynika to wymiary agregacja reprezentować poziom ziarnistość danych w tym agregacja.
Na przykład poniższa ilustracja reprezentuje agregowania dwóch grup danych.Pierwszy zawiera podsumowanie sprzedaży według roku dla magazynu miast i marki produktu.Agregacja wymiar czasu w tym przypadek ma tylko jeden poziom: Rok.Wymiary magazynu i produktu mają wszystkie właściwe poziomy.Drugi agregacja podsumowuje sprzedaż według kwartałów i regionu dla produktów według kategorii.Agregacja wymiar czasu ma dwa poziomy: Rok i kwartał.Wymiary magazynu i produktów z drugiej strony, zawierają tylko pierwszy poziom każdego wymiar: Region i kategorii.
Wymiary DSO może być udostępniony lub prywatnych.wymiar udostępniony jest używany w wielu modułs, ale wymiaru prywatnego może być używany tylko w jednym moduł.Aby uzyskać więcej informacji o wymiarach udostępnionego i prywatne Zobacz udostępnione i prywatnych wymiarów.
Prywatnych wymiarów służy specjalne konwencja nazewnictwa do identyfikowania modułów, do których one należą.We wszystkich innych aspektach prywatnych wymiarów są identyczne z wymiarów współużytkowanych.Nazwa wymiar prywatnego jest skonstruowany przy użyciu nazwy moduł, po którym następuje nazwa wymiar znaku daszka (^).Aby utworzyć wymiar prywatnego w DSO, nazwa wymiar zgodnie z niniejszą Konwencją.Tę konwencja nazewnictwa umożliwia prywatnych wymiar w różnych modułach mają tę samą nazwę i prefiks nazwy moduł gwarantuje unikatowości w obrębie wymiar kolekcja bazy danych.Na przykład, NorthWestSales ^ magazynów reprezentuje wymiar prywatnego magazynów utworzony do użytku w NorthWestSales moduł.
Czytając programowania można ustalić czy wymiar jest udostępniony lub prywatnych jego IsShared właściwość.DSO określa wartość tej właściwość, sprawdzając nazwę wymiar.Wszystkie moduły, partycje i agregacji wymiar dziedziczą jego IsShared właściwość.
Wymiary nadrzędny podrzędny
Wymiary nadrzędny podrzędność zawierają hierarchie self-joining.Ponieważ poziom hierarchii jest zmienna, zamiast sztywno zestaw, są bardziej elastyczne niż zwykłe wymiary Wymiary nadrzędny podrzędność.Aby uzyskać więcej informacji o wymiarach nadrzędny podrzędność zobacz temat Dimensions nadrzędny-podrzędność.
W DSO Wymiar nadrzędny podrzędność ma maksymalnie dwa poziomy: poziom (wszystkie), który jest opcjonalny, a drugiego poziomu, który działa jako szablon do tworzenia innych poziomów.
Utworzyć wymiar nadrzędny podrzędność, ustawiając SubClassType Właściwość sbclsParentChild.Podczas definiowania Wymiar nadrzędny podrzędność system używa do tworzenia wymiaru poziom hierarchii głębokości zmiennej źródło danych tabela.
Wymiary wirtualnych
Wirtualny wymiary są oparte na kolumny lub właściwości element członkowski wymiarów regularnych istniejących i ich może dostarczać dodatkowych informacji w kostkach, korzystających z tych wymiarów regularnych.Więcej informacji o wirtualnej wymiarów zobacz temat Dimensions wirtualnych.
Tworzenie wirtualnego wymiar za pomocą DSO, tworzenie wymiarem regularnym i zestaw jego IsVirtual Właściwość True.Następnie ustaw DependsOnDimension Właściwości do odwoływania się do podstawowych źródło wymiar.Wreszcie, tworzenie poziomów dla wymiar wirtualnego i konfigurowanie MemberKeyColumn Właściwości każdego poziomu wirtualny, wskaż poziom źródło lub właściwość element członkowski w wymiar źródłowego.
Chociaż możliwe utworzenie udostępnionego wymiaru wirtualnych, oparty na wymiaru prywatnego, wymiar ten wirtualny działa wyłącznie w moduł zawierający wymiaru prywatnego.
Ostrzeżenie
W programie Microsoft ® SQL Server ™ 7.0 OLAP Services wirtualnego wymiarów były ograniczone do poziomu (wszystkie) i sekundy, w których poziom SubClassType została zestaw do sbclsVirtual.Wymiar sam miał SubClassType z sbclsRegular.Niniejsza Konwencja jest nadal obsługiwane dla zgodności, ale nowej metoda ustawienie wymiarprzez IsVirtual powinno się stosować właściwość na wartość True, ponieważ jest bardziej elastyczne i efektywne.
Przykłady
A.Dodawanie Wymiar nadrzędny podrzędny do bazy danych
Dodanie Wymiar nadrzędny podrzędność do bazy danych można znaleźć w poniższym przykładzie:
Dim dsoServer As New DSO.Server
Dim dsoDB As DSO.MDStore
Dim dsoDim As DSO.Dimension
Dim dsoLevel As DSO.Level
' Connect to local Analysis server
dsoServer.Connect "LocalHost"
' Open FoodMart 2000 database
Set dsoDB = dsoServer.MDStores("FoodMart 2000")
' Add a new dimension and set the data source
Set dsoDim = dsoDB.Dimensions.AddNew("ParentChild Dimension", _
sbclsParentChild)
Set dsoDim.DataSource = dsoDB.DataSources("FoodMart")
' Add a new level to the new dimension.
Set dsoLevel = dsoDim.Levels.AddNew("Template Level", _
sbclsParentChild)
' Set the member key, parent key, and member name
' columns for the new level.
With dsoLevel
.MemberKeyColumn = """Account"".""account_id"""
.ParentKeyColumn = """Account"".""account_parent"""
.MemberNameColumn = """Account"".""account_description"""
End With
' Update the dimension.
dsoDim.Update
B.Tworzenie bazy danych z dwoma wymiarami
W tym przykładzie przedstawiono sposób tworzenia bazy danych z dwóch wymiarów, DbDimA i DbDimB i trzy moduły, CubeX, CubeY i CubeZ.DbDimA jest udostępniony, ale prywatnej CubeZ jest DbDimB.DbDimA można skojarzyć z dowolną lub wszystkie moduły, ale DbDimB może być skojarzona tylko z CubeZ.
Dim dsoServer As New DSO.Server
Dim dsoDS As DSO.DataSource
Dim dsoCubeX As DSO.MDStore
Dim dsoCubeY As DSO.MDStore
Dim dsoCubeZ As DSO.MDStore
Dim dsoDbDimA As DSO.Dimension
Dim dsoDbDimB As DSO.Dimension
Dim strDSName As String, strDSConnect As String
' Set data source name and connection string
' to be used later.
strDSName = "FoodMart"
strDSConnect = "Provider=MSDASQL.1;User ID=sa;" & _
"Data Source=FoodMart;Connect Timeout=15"
' Connect to local Analysis server.
dsoServer.Connect "LocalHost"
' Create a new database.
Set dsoDB = dsoServer.MDStores.AddNew("TestDB")
' Create a new data source.
Set dsoDS = dsoDB.DataSources.AddNew(strDSName)
' Set the data source name and connection string
' properties for the data source.
With dsoDS
.Name = strDSName
.ConnectionString = strDSConnect
.Update
End With
' Create three new cubes.
Set dsoCubeX = dsoDB.MDStores.AddNew("CubeX")
Set dsoCubeY = dsoDB.MDStores.AddNew("CubeY")
Set dsoCubeZ = dsoDB.MDStores.AddNew("CubeZ")
' Create a shared dimension.
Set dsoDbDimA = dsoDB.Dimensions.AddNew("DbDimA") 'Shared
' Associate the shared dimension with CubeX and CubeY.
dsoCubeX.Dimensions.AddNew "DbDimA"
dsoCubeY.Dimensions.AddNew "DbDimA"
' Create a private dimension. The use of the
' caret (^) character separates the cube name
' and the private dimension name.
Set dsoDbDimB = dsoDB.Dimensions.AddNew("CubeZ^DbDimB")
' Associate the private dimension with CubeZ.
dsoCubeZ.Dimensions.AddNew ("CubeZ^DbDimB")