OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX



Podobne dokumenty
Kostki OLAP i język MDX

OnLine Analytical Processing (OLAP) Zapytania SQL

Proces ETL MS SQL Server Integration Services (SSIS)

Integracja i Eksploracja Danych

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Wprowadzenie do hurtowni danych

5. Uruchomienie SQL Server Business Intelligence Development Studio Menu Start -> SQL Server Business Intelligence Development Studio

Usługi analityczne budowa kostki analitycznej Część pierwsza.

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

wymiaru DimCustomer czyli wymiaru klienta zamawiającego produkty przez Internet,

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

SQL Server Configuration Manager centrum dowodzenia

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

SAS Institute Technical Support

3. Budowa prostych raportów opartych o bazę danych

Symfonia Produkcja. Kreator raportów. Wersja 2013

Krzysztof Kluza proste ćwiczenia z baz danych

Bazy danych Karta pracy 1

Modelowanie obiektowe - Ćw. 1.

ACCESS ćwiczenia (zestaw 1)

Sekretariat Optivum. Jak przygotować listę uczniów zawierającą tylko wybrane dane, np. adresy ucznia i jego opiekunów? Projektowanie listy

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

STWORZENIE BIBLIOTEKI SŁUŻĄCEJ DO WCZYTYWANIA

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą danych do obsługi przesyłania wiadomości

Leszek Stasiak Zastosowanie technologii LINQ w

BACKUP BAZ DANYCH MS SQL

Map Reduce Proste zliczanie słów i zapytania SQL

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Zapytania do baz danych

16) Wprowadzenie do raportowania Rave

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

5.3. Tabele. Tworzenie tabeli. Tworzenie tabeli z widoku projektu. Rozdział III Tworzenie i modyfikacja tabel

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Problemy techniczne SQL Server

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

SQL (ang. Structured Query Language)

Część I Istota analizy biznesowej a Analysis Services

QUERY język zapytań do tworzenia raportów w AS/400

System imed24 Instrukcja Moduł Analizy i raporty

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

SysML rozpoczynanie projektu SysML001

5.4. Tworzymy formularze

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Ćwiczenie zapytań języka bazy danych PostgreSQL

Problemy techniczne SQL Server

Program Import dokumentów XLS dla Subiekta GT.

TI - Bazy TECHNOLOGIE INFORMACYJNE

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Baza danych sql. 1. Wprowadzenie

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Autor: Joanna Karwowska

Laboratorium Bazy danych SQL 2

Baza danych Uczniowie.mdb

Polecenie 3.1: Uruchom SQL Server Management Studio, zaloguj się do serwera.

Zapytania i wstawianie etykiet z bazy danych do rysunku

Program Import Kontrahentów XLS dla Subiekta GT.

Wprowadzenie do baz danych

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

2. Podstawy narzędzia Application Builder, budowa strony, kreatory aplikacji

Projektowanie baz danych za pomocą narzędzi CASE

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Język SQL. Rozdział 2. Proste zapytania

Wykład 6. SQL praca z tabelami 3

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Tworzenie bazy danych na przykładzie Access

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Ćwiczenia 2 IBM DB2 Data Studio

Makropolecenia w PowerPoint Spis treści

Uruchamianie bazy PostgreSQL

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

2. Tworzenie tabeli przestawnej. W pierwszym oknie dialogowym kreatora określamy źródło danych, które mamy zamiar analizować.

Bazy danych. dr inż. Arkadiusz Mirakowski

5.5. Wybieranie informacji z bazy

Instrukcja laboratoryjna

I. Program II. Opis głównych funkcji programu... 19

7. Formularze master-detail

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne.

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

BACKUP BAZ DANYCH FIREBIRD

Podstawy technologii WWW

Rozwiązanie. Uruchom program Access 2007.

Transkrypt:

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX 24 kwietnia 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne roadzje zadań, ale za każdym razem będą odpowiednio oznaczone: Zadania do wykonania na zajęciach oznaczone są symbolem nie są one punktowane, ale należy je wykonać w czasie zajęć. Punktowane zadania do wykonania na zajęciach oznaczone są symbolem należy je wykonać na zajęciach i zaprezentować prowadzącemu. Zadania do wykonania w domu oznaczone są symbolem - są one punktowane, należy je dostarczyć w sposób podany przez prowadzącego i w wyznaczonym terminie (zwykle do dwóch dni przed kolejnymi zajęciami). Po zakończeniu zajęć proszę o udzielenie odpowiedzi na kilka pytań zebranych w ankietę dostępną pod adresem http://goo.gl/gqo1uc 1

Stworzenie kostki OLAP dla bazy danych MSD Projekt kostki OLAP tworzymy za pomocą narzędzia Microsft SQL Server Data Tools, które jest częścią MS SQL Server i MS Visual Studio. Poniżej przedstawione są kroki tworzenia kostek OLAP na przykładzie bazy danych Million Song Dataset (MSD). Krok 1: Stworzenie nowego projektu Analysis Services Z okna New Project należy wybrać Analysis Services Multidimensional and Data Mining Project. Struktura nowego projektu jest następująca: Krok 2: Źródło danych Aby zdefiniować nowe źródło danych dla naszej kostki musimy wybrać polecenie New Data Source z menu kontekstowego pozycji Data Sources (w Solution Explorer): 2

Wybieramy połączenie z naszą bazą danych zawierającą dane MSD (jeżeli takie połączenie nie zostało zdefiniowane na wcześniejszych zajęciach, to należy to teraz uczynić klikając New): Następnie określamy sposób uwierzytelniania: 3

Ostatni krok kreatora definiowania źródła danych wyświetla podsumowanie informacji o połączeniu. Aby zakończyć klikamy Finish: Krok 3: Perspektywa źródła danych W kolejnym kroku definiujemy perspektywę źródła danych, czyli z jakich danych będziemy korzystać. W tym celu musimy wybrać polecenie New Data Source View z menu kontekstowego pozycji Data Source Views: 4

Wybieramy źródło danych: Wskazujemy tabele i perspektywy ze źródła danych: 5

Rezultatem powinien być następujący widok schematu naszej bazy danych: Krok 4: Kostka danych Aby zdefiniować nową kostkę danych należy wybrać polecenie New Cube z menu kontekstowego pozycji Cubes: 6

Wybieramy sposób tworzenia kostki tak, aby wykorzystano istniejące tabele w naszej bazie MSD: W kolejnym kroku wśród tabel ze źródła danych wskazujemy tabelę faktów: 7

Dalej definiujemy miary: Następnie musimy wybrać tabele wymiarów: 8

Po zakończeniu pracy kreatora kostki powinniśmy zobaczyć następujący widok: Krok 5: Definicja wymiarów i hierarchie W tym kroku musimy uzupełnić definicje wymiarów (Dates, Songs, Users) o wykorzystywane atrybuty oraz ich hierarchie. Aby edytować dany wymiar klikamy na niego dwukrotnie w widoku Solution Explorer lub wybieramy Open z jego menu kontekstowego: 9

Strukturę wymiaru definiujemy w widoku Dimension Structure. Aby uzupełnić definicję wymiaru o atrybuty musimy je przeciągnąć z tabeli w obszarze Data Source View do drzewka w obszarze Attributes. Aby zdefiniować hierarchię musimy przeciągnąć pozycję ID wymiaru oraz poszczególne atrybuty z obszaru Attributes do obszaru Hierarchies. Należy pamiętać o odpowiedniej kolejności atrybutów w tabelece w obszarze Hierarchies! Przykładowo dla wymiaru czasu najpierw ustawiamy rok, później miesiąc i dzień. Możemy też nadać nazwę naszej hierarchii, np. Date dla wymiaru Dates. 10

Zależności pomiędzy atrybutami można edytować w widoku Attribute Relationships: W analogiczny sposób jak zaprezentowano powyżej dla wymiaru Dates definiujemy atrybuty i hierarchie dla pozostałych wymiarów. Dla piosenek nie będą nam potrzebne tzw. text id. 11

Krok 6: Tworzenie kostki i umieszczenie jej w bazie danych Aby uruchomić proces tworzenia kostki należy wybrać polecenie Process z menu kontekstowego naszej solucji: Po chwili ukaże sie okno Process Database. Klikamy w nim przycisk Run w celu uruchomienia procesu generowania kostki danych: 12

Jeżeli proces zakończy się sukcesem, otrzymamy komunikat podobny do poniższego: Nasza kostka OLAP powinna znaleźć się w bazie danych MS SQL Server. Krok 7: Zapytania MDX do zdefiniowanej kostki Na naszych zajęciach będziemy tworzyć zapytania w jęzku MDX do zdefiniowanej kostki w narzędziu SQL Server Management Studio. Stworzymy nowe, puste zapytanie MDX. W tym celu wybieramy menu File, dalej New i Analysis Services MDX Query. Ukaże nam się okno Connect to Server, z domyślnie wybranym typem serwera Analysis Services (pole Server type). Klikamy Connect: Aby operować na stworzonej kostce danych musimy ją wybrać z pola combo Available Databases znajdującym się na pasku narzędzi: 13

Po wybraniu kostki przy edytorze zapytań zobaczymy szczegółowe infomacje o hierarchii w widoku Metadata. W edytorze możemy już pisać swoje zapytania. Aby wykonać wszystkie lub tylko zaznaczone klikamy przycisk Execute lub klawisz F5. 14

Przegląd języka MDX w MS SQL Server Poniżej zaprezentowano składnię prostego zapytania w języku MDX z użyciem klauzul WITH, SELECT, FROM i WHERE: [WITH <s p e c y f i k a c j a f o r m u l y > [, <s p e c y f i k a c j a f o r m u l y >.. ] ] SELECT [< s p e c y f i k a c j a o s i > [, <s p e c y f i k a c j a o s i >... ] ] FROM [< s p e c y f i k a c j a k o s t k i >] [WHERE [< s p e c y f i k a c j a p l a s t r a >] ] Na dzisiejszych zajęciach będziemy między innymi wykorzystywali następujące operatory, funkcje i właściwości języka zapytań MDX: Operator & W języku MDX możemy odwołać się do elementu wymiaru przez jego nazwę lub klucz. Operator ampersand (&) jest używany do odróżniania klucza elementu od nazwy. Przykład: (a) odwołanie się do elementu przez klucz: [Time].[2nd half].&[q4], (b) odwołanie się przez nazwę elementu: [Time].[2nd half].[4th quarter]. W skrócie: symbol (&) oznacza wyszczególnienie konkretnego elementu członkowskiego. Operator zakresu : Pozwala wykorzystać naturalny porządek elementów do utworzenia zbioru zawierającego się w podanym zakresie. Funkcja ALL Zawiera wszystkie elementy potomne dla danego wymiaru. Domyślnie, każdy wymiar nieprzyporządkowany do żadnej osi reprezentowany jest w klauzuli WHERE przez człon ALL. Funkcja MEMBERS Pozwala w łatwy sposób otrzymać wszystkie elementy należące do danego poziomu, hierarchii czy też wymiaru. Funkcja CHILDREN Zwraca dzieci, czyli elementy leżące w hierarchii poniżej wybranego elementu. Funkcja CROSSJOIN Funkcja CROSSJOIN(zbiór1,zbiór2) zwraca iloczyn kartezjański zbiorów zbiór1 i zbiór2. zbiór2 nie może zawierać żadnych wymiarów wykorzystywanych w zbiorze zbiór1. Operator * Jest odpowiednikiem funkcji CROSSJOIN: CROSSJOIN(zbiór1,zbiór2) zbiór1 * zbiór2. Funkcja ORDER Funkcja ORDER(zbiór,wyrażenie[,ASC DESC]) porządkuje elementy zbioru zgodnie z regułami określonymi przez wyrażenie. Wartość ostatniego parametru jako ASC porządkuje elementy rosnąco, a DESC malejąco. 15

Funkcja FILTER Funkcja FILTER(zbiór,warunek) zwraca krotki należące do zbioru elementów zbiór, spełniające kryteria selekcji określone przez warunek. Klauzula WITH MEMBER Umożliwia definiowanie nowych elementów w oparciu o wcześniej powstałe struktury wielowymiarowe kostki. Użycie: WITH MEMBER <rodzic członu>.<nazwa członu> AS wyrażenie Rozwiązanie Można szybko przejść ze studentami przez przykłady z pliku intro.mdx. Źródła: http://technet.microsoft.com http://www.staff.amu.edu.pl/ aniap/bazy%20ii/jezyk%20mdx.htm ftp://ftp.kamsoft.pl/pub/archiwum/ks-pbc/dokumenty%20og%c3%b3lne/podstawy%20mdx.pdf http://journals.bg.agh.edu.pl/automatyka/2010-01/auto05.pdf 16

1 Zapytania MDX max 15p. Treść Sformułuj poniższe zapytania w języku MDX. Przy treści każdego zapytania znajduje się zrzut ekranowy spodziewanego wyniku oraz liczba punktów do uzyskania. 0. Przykład: Wyświetl liczbę odsłuchań piosenek zespołu Queen w poszczególnych miesiącach lat 2001, 2002 i 2003. SELECT { [ Dates ]. [ Date ]. [ Year ]. & [ 2 0 0 1 ] : [ Dates ]. [ Date ]. [ Year ]. & [ 2 0 0 3 ] } ON COLUMNS, { [ Dates ]. [ Month ]. Members} ON ROWS FROM MSD WHERE [ Songs ]. [ A r t i s t ]. & [ Queen ] 1. Porównaj ze sobą liczbę odsłuchanych utworów zespołów Queen i Aerosmith, w latach 2001-2003. (1p.) 2. Wykonaj powyższe zapytanie dla lat 2001-2010 wykorzystując operator zakresu :. (1p.) 17

3. Ponownie wykonaj powyższe zapytanie, ale wykorzystując funkcję MEMBERS. (1p.) 4. Porównaj liczbę odsłuchań zespołów Queen i Aerosmith w miesiącach 2001 roku wykorzystując funkcję CHILDREN. (1p.) 5. Wykonaj podobne zapytanie do zapytania 4 dla miesięcy bez uwzględnienia lat. (1p.) 18

6. Wyświetl odsłuchania utworów zespołów Queen i Aerosmith w latach 2001-2010. Nazwa zespołu i tytuł piosenki powinny pojawić się w wierszach raportu. Wykorzystaj funkcję CROSSJOIN lub operator *. (2p.) 7. Wyświetl odsłuchania utworów zespołu Queen w latach 2001-2010 posortowane po liczbie odsłuchań w roku 2001. Wykorzystaj funkcję ORDER. (2p.) 19

8. Wykonaj podobne zapytanie do zapytania 7 ale odfiltruj utwory grane więcej niż 21 razy w roku 2001. Wykorzystaj funkcję FILTER. (2p.) 9. Porównaj ze sobą liczbę odsłuchanych utworów zespołów Queen i Aerosmith, kolejno w latach 2008 i 2007. Wyświetl dodatkowy wiersz zawierający różnice odsłuchań pomiędzy 2008 a 2007 rokiem. Wykorzystaj klauzulę WITH MEMBER. (2p.) 10. Podobnie jak w zapytaniu 9 porównaj odsłuchania utworów zespołów Queen i Aerosmith w latach 2008 i 2007. Wyświetl dodatkowy wiersz zawierający różnice odsłuchań oraz dodatkową kolumnę zawierającą sumy odsłuchań obu zespołów dla poszczególnych lat. Wykorzystaj klauzule WITH MEMBER. (2p.) 20

Zadania wykonujemy samodzielnie na zajęciach w dowolnej kolejności. Zadania, których student nie wykona na zajęciach powinien dokończyć w domu i przesłać prowadzącemu w pliku w formacie IMIE NAZWISKO NRINDEKSU.mdx, tak aby prowadzący mógł łatwo otworzyć i wykonać zapytania. W pliku proszę zamieścić komentarze z imieniem, nazwiskiem, numerem indeksu oraz numerami poszczególnych zapytań (komentarze poprzedza się podwójnym myślnikiem --). Za zadania wykonane w domu przysługuje maksymalnie połowa punktów możliwych do zdobycia podczas wykonywania danych zadań na zajęciach. Rozwiązanie Odpowiedzi znajdują się w pliku mdx queries.mdx. 21