Udostępnij za pośrednictwem


Data Sources and Bindings (Analysis Services - Multidimensional Data)

Moduły, wymiary i inne Analysis Services obiekty mogą być powiązane z danych urządzenie źródłowe. urządzenie źródłowe danych może mieć jedną z następujących obiektów:

  • urządzenie źródłowe danych relacyjnych.

  • An Analysis Services pipeline that outputs a zestaw wierszy (or chaptered rowsets).

Sposób wyrażania urządzenie źródłowe danych może być różna w zależności od typu urządzenie źródłowe danych.Na przykład urządzenie źródłowe danych relacyjnych jest wyróżnione w ciąg połączenia.Aby uzyskać więcej informacji na temat źródeł danych zobacz Data Sources (Analysis Services - Multidimensional Data).

Niezależnie od urządzenie źródłowe danych używane widoku urządzenie źródłowe danych (DSV) zawiera metadane dla urządzenie źródłowe danych.W ten sposób powiązania dla moduł lub inne Analysis Services obiekty są wyrażane jako powiązania DSV. Te powiązania mogą zawierać powiązania obiekty logiczne — obiekty, takie jak widoki, kolumn obliczeniowych i relacji, które nie są fizycznie określone w danych urządzenie źródłowe.Za pomocą DSV powiązać obiekty logiczne jest nowa SQL Server 2008. Na przykład w SQL Server 2000, miara OLAP można określić wyrażenie jako urządzenie źródłowe danych. Jednak w SQL Server 2005 i SQL Server 2008, Analysis Services dodaje kolumna obliczeniowa, która hermetyzuje wyrażenie, które ma zostać DSV, a następnie łączy odpowiednich miara OLAP z tej kolumny DSV. Aby uzyskać więcej informacji na temat DSVs zobacz Data Source Views (Analysis Services - Multidimensional Data).

Każdy Analysis Services obiekt jest powiązana z danymi urządzenie źródłowe w swoich własnych sposób. Ponadto powiązania danych dla tych obiektów i definicji urządzenie źródłowe danych mogą być dostarczone równo z definicji obiektu z danymi (na przykład wymiar) lub poza linii jako oddzielny zestaw definicji.

Typy danych Analysis Services

Typy danych, które są używane w powiązaniach muszą być zgodne z typami danych, obsługiwanych przez Analysis Services. Następujące typy danych są zdefiniowane w Analysis Services:

Typ danych usług analiz

Description

BigInt

64-Bitową całkowitą podpisane.Ten typ danych jest mapowany na typ danych wartości Int64 wewnątrz firmy Microsoft .NET Framework i typ danych DBTYPE_I8 wewnątrz DB OLE.

Logicznej

Wartość logiczna.Ten typ danych jest mapowany na typ logiczny wewnątrz .NET Framework i typ danych DBTYPE_BOOL wewnątrz DB OLE.

Waluta

Wartość waluty z zakresu od-263 (lub-922,337,203,685,477.5808) 263-1 (lub +922,337,203,685,477.5807) z dokładnością do dziesięciotysięcznej jednostki waluty.Ten typ danych jest mapowany na typ danych dziesiętny wewnątrz .NET Framework i typ danych DBTYPE_CY wewnątrz DB OLE.

Data

Dane data przechowywane jako liczba zmiennoprzecinkowa podwójnej precyzji.Cały fragment jest liczbą dni od 30 grudnia 1899 roku, podczas ułamkowe części ułamkowej dnia.Ten typ danych jest mapowany na typ danych DateTime wewnątrz .NET Framework i typ danych DBTYPE_DATE wewnątrz DB OLE.

Double

Liczba zmiennoprzecinkowa podwójnej precyzji w ramach zakres z 1.79E + 308 za pośrednictwem 1.79E + 308.Ten typ danych jest mapowany do typu Double danych wewnątrz .NET Framework i typ danych DBTYPE_R8 wewnątrz DB OLE.

Integer

32-Bitową całkowitą podpisane.Ten typ danych jest mapowany na typ danych wartości Int32 wewnątrz .NET Framework i typ danych DBTYPE_I4 wewnątrz DB OLE.

Pojedyncze

pojedyncza precyzja zmiennoprzecinkowych liczby w zakresie - 3.40E + 38, za pośrednictwem 3.40E + 38.Ten typ danych jest mapowany na jeden typ wewnątrz .NET Framework i typ danych DBTYPE_R4 wewnątrz DB OLE.

SmallInt

16-Bitową całkowitą podpisane.Ten typ danych jest mapowany na typ danych wartości Int16 wewnątrz .NET Framework i typ danych DBTYPE_I2 wewnątrz DB OLE.

TinyInt

8-Bitowa podpisana liczba całkowita.Ten typ danych jest mapowany na typ danych SByte wewnątrz .NET Framework i typ danych DBTYPE_I1 wewnątrz DB OLE.

UnsignedBigInt

64-Bitową całkowitą bez znaku.Ten typ danych jest mapowany na typ danych UInt64 wewnątrz .NET Framework i typ danych DBTYPE_UI8 wewnątrz DB OLE.

UnsignedInt

32-Bitową całkowitą bez znaku.Ten typ danych jest mapowany na typ danych UInt32 wewnątrz .NET Framework i typ danych DBTYPE_UI4 wewnątrz DB OLE.

UnsignedSmallInt

16-Bitową całkowitą bez znaku.Ten typ danych jest mapowany na typ danych UInt16 wewnątrz .NET Framework i typ danych DBTYPE_UI2 wewnątrz DB OLE.

WChar

Zakończony wartością zerową strumień znaków Unicode.Ten typ danych jest mapowany do typu danych ciąg wewnątrz .NET Framework i typ danych DBTYPE_WSTR wewnątrz DB OLE.

Wszystkie dane odebrane ze urządzenie źródłowe danych jest konwertowana na SSAS Typ określony w wiązanie (zwykle podczas przetwarzania). An error is raised if the conversion cannot be performed (for example, String to Int).Business Intelligence Development Studio usually sets the data type in the binding to the one that best matches the source type in the data source.Na przykład SQL typu Data, Data-Godzina, SmallDateTime, DateTime2, DateTimeOffset są mapowane na SSAS Data i czas jest mapowany na ciąg typ SQL.

Powiązania dla wymiarów

Każdy atrybut wymiaru jest związany z kolumna w plik DSV.Wszystkie atrybuty wymiaru musi pochodzić z jednego urządzenie źródłowe.Jednakże atrybuty mogą być powiązane z kolumnami w innych tabelach.Relacje między tabelami są definiowane w DSV.przypadek, gdy istnieje więcej niż jeden zestaw relacji do tej samej tabela, może być konieczne wprowadzenie nazwaną kwerendę w DSV jako ‘ alias tabela.Wyrażenia i filtry są definiowane w DSV za pomocą nazwanych obliczeń i o nazwie kwerendy.

Powiązania dla MeasureGroups, miary i partycji

Każdy grupa miar ma następujące powiązania domyślne:

  • grupa miar Powiązanego z tabelą w plik DSV (na przykład MeasureGroup.Source).

  • Każdy miara jest powiązany z kolumna w tabela (na przykład Measure.ValueColumn.Source).

  • Każdy grupa miar wymiar zawiera zestaw ziarnistość atrybutów definiujących ziarnistość z grupa miar.Każdy z tych atrybut musi być powiązana z kolumną lub kolumnami w tabela fakt zawierające klucz atrybut.(Aby uzyskać więcej informacji o atrybutach rozdrobnienia, zobacz atrybuty ziarnistość MeasureGroup w dalszej części tego tematu).

Może być selektywnie zastąpiona te domyślne powiązania dla każdej partycji.Każdej partycji można określić inne urządzenie źródłowe danych, nazwa tabela lub kwerendy, lub wyrażenie filtru.Najczęściej strategii partycjonowanie na partycje jest zastąpienie tabela dla każdej partycjonowanie, przy użyciu tego samego urządzenie źródłowe danych.Alternatywy obejmują stosowanie inny filtr dla każdej partycji lub zmienianie urządzenie źródłowe danych.

Domyślne urządzenie źródłowe danych musi być zdefiniowana w plik DSV, zapewniając w ten sposób informacje o schemacie, łącznie ze szczegółami dotyczącymi relacji.Wszelkie dodatkowe tabele lub kwerendy, określone poziom partycji nie muszą znajdować się na liście DSV, ale muszą mieć ten sam schemat, zgodnie z definicją domyślną tabela grupa miar, lub co najmniej musi zawierać wszystkie kolumny używane przez środki lub atrybutów ziarnistość.Szczegółowe powiązań dla miara i ziarnistość atrybutu nie można zastąpić poziom partycji i są one przyjmowane jako się do tych samych kolumn zdefiniowanych dla grupa miar.Dlatego jeśli partycja używa urządzenie źródłowe danych, w rzeczywistości ma inny schemat, TableDefinition kwerendy zdefiniowanej dla partycji należy doprowadzić do tego samego schematu Schema używane przez miara grupy.

Atrybuty ziarnistość MeasureGroup

Kiedy ziarnistość grupa miar odpowiada rozdrobnienia, wiadomo, że w bazie danych i istnieje bezpośredni związek z tabela fakt do tabela wymiarów atrybut ziarnistości tylko musi być związany z odpowiednią kolumna klucz obcy lub kolumn znajduje się na tabela fakt.Na przykład należy wziąć pod uwagę następujące tabele fakt i wymiarów:

Sales(RequestedDate, OrderedProductID, ReplacementProductID, Qty)

Product(ProductID, ProductName,Category)

 

Relation: Sales.OrderedProductID -> Product.ProductID

Relation: Sales.ReplacementProductID -> Product.ProductID

 

Jeśli analizować według produktu zamówionego towaru zamówiona na roli wymiaru sprzedaż, atrybut ziarnistości produktu może być powiązany z Sales.OrderedProductID.

Można jednak czas kiedy GranularityAttributes nie istnieje jako kolumny w tabela fakt. Na przykład GranularityAttributes nie istnieje jako kolumny w następujących okolicznościach:

  • ziarnistość OLAP jest gruboziarnisty niż ziarnistość w źródle.

  • Tabeli programu pośrednich interposes między tabela fakt i tabela wymiarówów.

  • Klucz Wymiar nie jest taka sama, jak klucz podstawowy w tabela wymiarów.

W takich przypadkach należy zdefiniować DSV tak, aby GranularityAttributes istnieje na tabela fakt.Na przykład mogą zostać wprowadzone nazwanej kwerendy lub kolumna obliczeniowa.

Na przykład w ten sam przykład tabelach jak wyżej, gdyby ziarnistość według kategorii, następnie widoku sprzedaży można wprowadzić:

SalesWithCategory(RequestedDate, OrderedProductID, ReplacementProductID, Qty, OrderedProductCategory)

SELECT Sales.*, Product.Category AS OrderedProductCategory

FROM Sales INNER JOIN Product

ON Sales.OrderedProductID = Product.ProductID

 

W takim przypadek należy do kategorii GranularityAttribute jest związany z SalesWithCategory.OrderedProductCategory.

Migrowanie z obiektów wspomaganie decyzji Objects

Zezwala na decyzję Support Objects (DSO) 8.0 PartitionMeasures Aby rebound. Dlatego strategii migracji w takich przypadkach jest w celu skonstruowania kwerendy odpowiednie.

Podobnie nie jest możliwe do ponownego powiązania zwiększając atrybutów wymiaru w partycji, mimo że DSO 8.0 umożliwia ponownego tego wiązania również.Strategii migracji w takich przypadkach jest określenie to konieczne, o nazwie kwerendy DSV, dzięki czemu te same tabele i kolumny istnieją w DSV partycji jako tabele i kolumny, które są używane dla danego wymiaru.Tych przypadkach może wymagać przyjęcia proste migracji, w którym klauzula From/łączyć/Filter jest mapowany do jednego o nazwie kwerendy, a nie do uporządkowany zestaw tabel pokrewnych.Jak DSO 8.0 pozwala PartitionDimensions do rebound, nawet wtedy, gdy partycja używa tego samego urządzenie źródłowe danych, migracji mogą również wymagać wiele DSVs dla tego samego urządzenie źródłowe danych.

W DSO 8.0 odpowiednich powiązaniach można wyrazić na dwa różne sposoby, w zależności od tego, czy są zatrudnieni zoptymalizowane schematów, przez wiązanie albo klucz podstawowy w tabela wymiarów lub klucz obcy na tabela fakt.Dwie różne formy w ASSL, nie są rozróżniane.

Ten sam podejście do wiązanie ma zastosowanie nawet w przypadku partycji przy użyciu urządzenie źródłowe danych, która nie zawiera tabel wymiarów, ponieważ wiązanie składa się do kolumna klucz obcy w tabeli fakt, a nie do kolumna klucz podstawowy w tabela wymiarów.

Powiązania dla modeli wyszukiwania

Model wyszukiwania jest relacyjna lub OLAP.Powiązania danych dla relacyjnej model wyszukiwania różnią się znacznie od powiązań dla OLAP model wyszukiwania.

Powiązania dla relacyjnej model wyszukiwania

Relacyjnej model wyszukiwania zależy od relacji zdefiniowanych w DSV rozwiązać wszelkie niejednoznaczności, odnośnie których kolumn są powiązane z których źródeł danych.W relacyjnej model wyszukiwania, powiązania danych przestrzegać tych reguł:

  • Każda kolumna nie jest zagnieżdżona tabela jest związana z pewną kolumną, przypadek tabeli lub Tabela powiązana relacją z tabelą liter (na skutek relacji wiele do jednego lub jeden-do-jednego).DSV określa relacje między tabelami.

  • Każda kolumna zagnieżdżona tabela jest powiązana urządzenie źródłowe tabeli.kolumna, należących do kolumna tabela zagnieżdżone następnie są powiązane z kolumn w tabela źródłowej lub tabela, związane z tabela źródłowej.(Ponownie, wiązanie następuje relacji wiele do jednego lub jeden-do-jednego). Powiązania model wyszukiwania nie zostanie określona ścieżka dołączania do tabela zagnieżdżonej. Zamiast tego relacji zdefiniowanych w DSV udostępnia te informacje.

Powiązania dla model wyszukiwania OLAP

Modele wyszukiwania OLAP nie jest równoważny plik DSV.W związku z tym powiązania danych musi zawierać wszystkie uściślania między kolumnami i źródeł danych.Na przykład model wyszukiwania może być oparty na module sprzedaży i kolumny mogą być oparte na ilość, kwota i nazwa produktu.Można także model wyszukiwania mogą być oparte na produkt, a kolumny mogą być oparte na Nazwa produktu, produkt kolor i zagnieżdżona tabela z ilość sprzedaży

W modelu typu OLAP górnictwo powiązania danych należy wykonać te reguły:

  • Każda kolumna nie jest zagnieżdżona tabela jest powiązana miara na module, do atrybut w wymiarze tego moduł (Określanie CubeDimension Aby disambiguate w przypadek ról wymiaru), lub atrybut w wymiarze.

  • Każda kolumna zagnieżdżona tabela jest powiązana CubeDimension. Oznacza to definiuje sposób przejdź z wymiaru moduł powiązanych lub (przypadek mniej popularne zagnieżdżonych tabel) z moduł do jednego z jego wymiary.

Powiązania wyjściowego wiersza

Powiązania wyjściowego wiersza można znaleźć powiązań, które znajdują się w polecenie i nie są zachowywane.Powiązania wyjściowego wiersza stosuje się tylko wtedy, gdy wykonuje tym poleceniem.Natomiast wewnętrznych powiązań są zawarte w definicji obiektu ASSL i utrzymują z definicją obiektu metadane serwera.

ASSL umożliwia powiązania wyjściowego linii należy określić jeden Process polecenie, jeśli nie jest zadanie partia, lub na Batch polecenie. Jeśli określono wiązanie wyjściowego linii na Batch polecenia, wszystkie wiązanie określone w Batch polecenie Utwórz nowy kontekst wiązanie wszystkie Process Uruchom polecenia programu wsadowego. Ten nowy kontekst wiązanie zawiera obiekty, które są przetwarzane pośrednio z powodu Process polecenie.

Podano powiązania wyjściowego z wiersza polecenia, zastępują one powiązania wbudowany w utrwalonym DDL dla określonych obiektów.Przetworzone obiekty te mogą obejmować obiekt bezpośrednio o nazwie w Process polecenie lub może zawierać inne obiekty, których przetwarzanie jest automatycznie inicjowane jako część przetwarzania.

Powiązania wyjściowego z wiersza są określone przez dołączenie opcjonalny Bindings Obiekt kolekcja przy użyciu polecenia przetwarzania. Opcjonalny Bindings Kolekcja zawiera następujące elementy.

Właściwość

Relacja

Typ

Description

Binding

0-n

Binding

Zapewnia to zbiór nowych powiązań.

DataSource

0-1

DataSource

Zastępuje DataSource z serwera, czy zostały użyte.

DataSourceView

0-1

DataSourceView

Zastępuje DataSourceView z

serwer, czy zostały użyte.

Wszystkie elementy, które odnoszą się do powiązania wyjściowego z wiersza są opcjonalne.Żadne elementy nie określono ASSL używa specyfikacji zawartych w utrwalonym obiektu DDL.Specyfikacja DataSource lub DataSourceView w Process polecenie jest opcjonalne. Jeśli DataSource lub DataSourceView są określone, że nie tworzyć wystąpień i nie są zachowywane po Process polecenie zostało zakończone.

Definicja typ wiązanie wyjście z wiersza

Limit czasu na z linii Bindings Kolekcja, ASSL umożliwia zbiór powiązań dla wielu obiektów, każdy Binding. Każdy Binding ma rozszerzone odwołania do obiektu, który jest podobny do odwołanie do obiektu, ale go może odnosić się do niewielkich obiektów również (na przykład atrybuty wymiaru i atrybutów grupy miara). Ten obiekt ma postać płaski typowe dla Object element Process z wyjątkiem poleceń, które <Obiekt></ Obiekt> tagów, które są niedostępne.

Każdy obiekt, dla których określono wiązanie jest identyfikowany przez element XML formularza <obiekt>Identyfikator (na przykład, DimensionID). Po zidentyfikowaniu obiektu w specjalnie możliwie z formularzem <obiekt>Identyfikator, następnie zidentyfikować element, dla których określono jest wiązanie, która jest zwykle Source. Typowe przypadek zwrócić uwagę, jest, w którym Source przypadek właściwość na DataItem, który jest w przypadek kolumna powiązania w atrybucie. W takim przypadek nie zostanie określony DataItem Tag; zamiast tego wystarczy określić Source Właściwość, tak jakby był bezpośrednio na kolumnie powiązać.

KeyColumns są identyfikowane przez ich kolejność wewnątrz KeyColumns Kolekcja. Nie ma nie jest możliwe do określenia, na przykład tylko pierwszym i trzecim klucz kolumn atrybut, ponieważ nie ma możliwości oznacza, że drugiej kolumna klucz ma być pominięte.Wszystkie kolumny klucz musi być obecny w wiązaniu Limit wierszy dla atrybut wymiaru.

Translations, chociaż mają Brak IDENTYFIKATORA semantycznie są identyfikowane przez ich języku.Dlatego też Translations wewnątrz Binding konieczne jest uwzględnienie ich identyfikator języka.

Jednym z elementów dodatkowych dozwolone w obrębie Binding nie istnieje, bezpośrednio w DDL jest ParentColumnID, który jest używany do zagnieżdżone tabele do wyszukiwanie danych. W takim przypadek konieczne jest określenie kolumna nadrzędnej w tabela zagnieżdżonej, dla których ustalone wiązanie.