Wprowadzenie do hurtowni danych przygotował: Paweł Kasprowski
Kostka Kostka (cube) to podstawowy element hurtowni Kostka jest wielowymiarowa (od 1 do N wymiarów) Kostka składa się z: faktów wektora wartości mierzonych, miar (measures) wymiarów (dimensions) do każdego faktu przypisać można konkretną wartość w każdym wymiarze Struktura kostki: centralna tablica faktów zawierająca miary i klucze obce do wymiarów tablice wymiarów (0-N tablic dla każdego wymiaru)
Przykładowa kostka przygotował: pawel@kasprowski.pl
Etapy pracy z projektem Stworzenie projektu Zdefiniowanie źródła danych Stworzenie widoku Stworzenie kostek i wymiarów Zbudowanie projektu (build) Wgranie na serwer (deploy)
Struktura projektu Wszystko zapisane jest w plikach XML
Przygotowanie hurtowni Zbudowanie projektu (Build) Instalacja na serwerze (Deploy) Załadowanie danych (Process)
Budowanie projektu Menu: Build/Build... Business Development Studio tworzy zestaw plików XML z opisami wszystkich obiektów Pliki XML używają Analysis Services Scripting Language (ASSL) Pliki umieszczane są w katalogu bin
Przebudowa projektu Kolejne budowanie projektu zajmuje czas Często nie ma potrzeby przebudowywania wszystkiego SSBDS automatycznie tworzy w katalogu obj/development pliki XML z informacją, co się zmieniło od ostatniego budowania Dzięki temu możliwe jest tylko częściowa przebudowa bazy na serwerze (incremental deployment) Jeśli chcemy zacząć od zera: Rebuild All
Deployment Stworzenie bazy danych (hurtowni) dla projektu na serwerze Analysis Services Przygotowanie wszystkich obiektów w bazie Kontrola poprawności Działa inkrementacyjnie (nie tworzy jeszcze raz obiektów, które już są w bazie)
Processing Załadowanie hurtowni danymi ze źródła danych Wszystkie obiekty są wypełniane danymi, agregacje są przeliczane Hurtownia jest gotowa do przeglądania Dostęp do niej możliwy jest także spoza Business Development Studio np z SQL Server Management Studio
Elementy naszej kostki Zbiór miar: Fact Internet Sales Wymiary czasowe OrderDate ShipDate DueDate Wymiar produktowy Dim Product
Zakładki edytora kostki Cube Structure Dimesions Calculations KPIs Actions Partitions Perspectives Translations Browser
Zakładka Cube Structure przygotował: pawel@kasprowski.pl
Przeglądanie danych przygotował: pawel@kasprowski.pl
Wymiary i hierarchie przygotował: pawel@kasprowski.pl
Wymiary Podstawą przetwarzania wymiarów jest określenie elementów dla jakich mają być liczone agregacje Każdy wymiar ma zwykle wiele atrybutów Domyślnie AS wylicza zagregowane wartości miar dla każdego atrybutu osobno używając SELECT DISTINCT dla każdego klienta dla każdego miasta dla każdego wykształcenia dla każdej płci
Hierarchie Atrybuty najczęściej stanowią logiczne hierarchie (np.: kraj-miasto-dzielnica-klient) Atrybuty na wyższych poziomach hierarchii muszą być funkcjonalnie zależne od tych na niższych np. znając dzielnicę znamy miasto W BDS można definiować dowolne hierarchie Przeszukiwanie kostki możliwe jest tylko według hierarchii dlatego dla każdego pojedynczego atrybutu tworzona jest domyślnie jednowymiarowa hierarchia (hierarchia atrybutu)
Źródło wymiarów Jedna tabela star schema Więcej połączonych relacjami tabel snowflake schema Zawsze określony jest atrybut kluczowy (unikalny) primary key z bazy danych logical key stworzony w widoku Klucz łączy element wymiaru z tablicą faktów
Wykorzystanie wymiarów Ten sam wymiar może być wykorzystany wielokrotnie w różnych kostkach w tej samej kostce Przykłady: wymiar Product w kostce InternetSales i StoreSales wymiar Time wykorzystany trzykrotnie w kostce InternetSales (OrderDate, ShipDate, DueDate)
Elementy obiektu dimension Dimension structure Attributes Hierarchies and Levels Data Source View
Parametry hierarchii atrybutów KeyColumns określa, z czego skłąda się klucz atrybutu domyślnie wartość kolumny z bazy przyporządkowanej atrybutowi może być composite składać się z kilku kolumn NameColumn kolumna, której wartość wyświetlana jest jako wartość atrybutu gdy brak wyświetlane jest KeyColumns gdy KeyColumns > 1 musi być okreslona NameColumn ValueColumn dodatkowa wartość atrybutu
Parametry hierarchii atrybutów AttributeHierarchyDisplayFolder określa, czy hierarchia dostępna z zewnątrz AttributeHierarchyEnables określa, czy hierarchia tworzona IsAggregatable określa, czy widoczny jest element (All)
Tworzenie własnej hierarchii Dla wymiaru Product Hierarchia Linia-Kolor-Nazwa Użycie w browserze upraszcza obsługę
Nowy wymiar Customer oparty na tabelach DimCustomer i DimGeography Dodanie tabel do widoku
Modyfikacja widoku przygotował: pawel@kasprowski.pl
Stworzenie wymiaru przygotował: pawel@kasprowski.pl
Stworzenie własnej hierarchii Stworzenie własnej hierarchii Modyfikacje nazw pól Użycie hierarchii w browserze
Użycie własnej hierarchii przygotował: pawel@kasprowski.pl
Dodanie własnego pola Stworzenie Named calculation w database view Użycie tego atrybutu w wymiarze Customer Przykład: pole FullName z połączenia trzech pól w bazie
Named Calculation przygotował: pawel@kasprowski.pl
Zastosowanie atrybutu przygotował: pawel@kasprowski.pl
Grupowanie atrybutów Parametr AttributeHierarchyDisplayFolder Ułatwia wyszukiwanie artybutów w Browserze
Konfiguracja relacji Bezpośrednie relacje pomiędzy atrybutami Province -> Country City -> Province Zdefiniowanie bezpośrednich relacji: przyspiesza tworzenie agregacji pozwala zamieniać sposób sortowania w oparciu o kolumny podrzędne
Przykład Hierarchia klientów miasta posortowane według prowincji Zmiany w hierarchii City KeyColumns = Province, City NameColumn = City Można dodać NamedCalculation [Province] + [City]
Ćwiczenie Modyfikacja wymiaru Time Stworzyć hierarchię: Year/Quarter/Month Stworzyć NamedCalculation QuarterDesc zawierające dane w formacie: Q1/2001 Prawidłowo sortować kwartały Prawidłowo sortować miesiące w kwartałach