Analityczny język zapytań MDX: podstawy

Wielkość: px
Rozpocząć pokaz od strony:

Download "Analityczny język zapytań MDX: podstawy"

Transkrypt

1 ITA-102 Hurtownie Danych Moduł 7 Wersja 1.0 Spis treści Analityczny język zapytań MDX: podstawy Analityczny język zapytań MDX: podstawy... 1 Informacje o module... 2 Przygotowanie teoretyczne... 4 Podstawy teoretyczne... 4 Porady praktyczne... 5 Uwagi dla studenta... 5 Dodatkowe źródła informacji... 6 Laboratorium podstawowe... 7 Laboratorium rozszerzone Zadanie 1 (czas wykonania 10 min) Zadanie 2 (czas wykonania 10 min) Zadanie 3 (czas wykonania 12 min) Zadanie 4 (czas wykonania 12 min) Zadanie 5 (czas wykonania 15 min)... 16

2 Informacje o module Opis modułu W module poznasz zaawansowane zapytania MDX operujące na wielowymiarowych kostkach danych. Projektowane zapytania są analityczne i przekrojowe, korzystają z wielu funkcji języka MDX: Cousin, Distinct, Except, DrillDownLevel, NonEmpty, Order, TopCount, BottomCount, Filter. W module znajdziesz informacje o operacjach na zbiorach wielowymiarowych i zastosowanie funkcji CrossJoin, NonEmptyCrossJoin, a także operatora iloczynu kartezjańskiego (*). Przedstawione są także metody tworzenia nowych agregatów i elementów kalkulowanych na podstawie istniejącej struktury. W ostatniej części modułu jest pokazana metoda wydobywania atrybutów dla poziomów za pomocą funkcji Properties i CurrentMember. Cel modułu Celem modułu jest nauczenie projektowania skomplikowanych, przekrojowych raportów i analiz korzystając z języka MDX, a także definiowania nowych agregatów i elementów na podstawie istniejących. Uzyskane kompetencje Po zrealizowaniu modułu będziesz: znał zaawansowane funkcje języka MDX potrafił wykorzystać język MDX do budowania skomplikowanych, przekrojowych raportów analitycznych używać funkcji CrossJoin i NonEmptyCrossJoin do uzyskania wielu hierarchii na jednej osi wynikowej potrafił definiować nowe agregaty i elementy na podstawie istniejących wydobywał informacje o właściwościach dla poziomów Wymagania wstępne Przed przystąpieniem do pracy z tym modułem powinieneś: znać składnię języka MDX potrafić utworzyć kolekcję elementów poprzez wyliczenie umieć zastosować podstawowe funkcje języka MDX: Children, Members, FirstChild, LastChild, DefaultMember potrafić zastosować frazę WHERE zarówno jako wymiar przecięcia, jak i do definicji agregacji w krotkach wynikowych Strona 2/16

3 Mapa zależności modułu Zgodnie z mapą zależności przedstawioną na Rys. 1, przed przystąpieniem do realizacji tego modułu należy zapoznać się z materiałem zawartym w modułach 4, 5, 6. Rys. 1 Mapa zależności modułu Strona 3/16

4 Przygotowanie teoretyczne Podstawy teoretyczne Zapytanie MDX posiada następującą składnię (w uproszczonej wersji): [WITH <specyfikacja formuly> [,<specyfikacja formuly> ]] [<specyfikacja osi> [,<specyfikacja osi> ]] FROM [<specyfikacja kostki>] [WHERE [<specyfikacja warunków]] Na każdej osi jest lista punków w przestrzeni wielowymiarowej <specyfikacja osi>:: <zbiór punktów> ON <nazwa osi> Nazwa osi dopuszcza następujące wartości: <nazwa osi>:: COLUMNS ROWS PAGES SECTIONS CHAPTERS AXIS (index) Zapytanie którego wynikiem jest przestrzeń dwuwymiarowa: { <KOLEKCJA> } ON COLUMNS, { <KOLEKCJA> } ON ROWS FROM [<KOSTKA DANYCH>] WHERE (<WARUNEK>) Jedna z kolekcji powinna zawierać agregaty. W kolejnych zapytaniach składnia zapytania znacznie się rozbuduje, pojawią się nowe funkcje i słowa kluczowe. Zapytanie MDX jest bardzo podobne do zapytania SQL. Bardziej rozbudowane zapytanie może wyglądać tak: { [Measures].[Agregat 1], [Measures].[Agregat 2] } ON COLUMNS, { [Wymiar].[Hierarchia].[Poziom].&[Element 1], [Wymiar].[Hierarchia].[Poziom].&[Element 2], [Wymiar].[Hierarchia].[Poziom].&[Element 3] } ON ROWS FROM [KOSTKA DANYCH] WHERE (WARUNEK) Kolekcję można również wyrazić poprzez: { [Wymiar].[Poziom].&[Element 1], [Wymiar].[Poziom].&[Element 2] } We frazie WHERE mogą także być umieszczone agregaty, w tym przypadku na osiach należy umieścić kolekcje elementów z różnych hierarchii: { KOLEKCJA } ON COLUMNS, { KOLEKCJA } ON ROWS FROM [KOSTKA DANYCH] WHERE ([Measures].[Agregat 1]) W powyższym przypadku kolekcje powinny zawierać zbiory elementów w ramach wymiarów. Inny przykład kolekcji z użyciem funkcji: { [Wymiar].[Poziom].Funkcja } { [Wymiar].[Hierarchia].Funkcja } { [Wymiar].[Poziom].&[Element].Funkcja } Niektóre funkcje istnieją tylko w postaci parametrycznej, gdzie parametrem jest wymiar, poziom, hierarchia lub element: { Funkcja([Wymiar]) } Strona 4/16

5 { Funkcja([Wymiar].[Poziom]) } { Funkcja([Wymiar].[Hierarchia].[Poziom]) } { Funkcja([Wymiar].[Hierarchia]) } { Funkcja([Wymiar].[Poziom].&[Kod elementu]) } { Funkcja([Wymiar].[Poziom].[Nazwa elementu]) } Funkcje można zagnieżdżać, typ wyjściowy funkcji wewnętrznej musi się zgadzać z typem wejściowym funkcji zewnętrznej. Niektóre funkcje posiadają wiele parametrów. { Funkcja2( Funkcja1( KOLEKCJA ELEMENT ) ) } Składnia funkcji Children: { [Wymiar].Children } { [Poziom w wymiarze].children } { [Hierarchia].Children } { [Element].Children } Składnia funkcji Members: { [Wymiar].Members } { [Poziom w wymiarze].members } { [Poziom w hierarchii].members } { [Hierarchia].Members } Składnia funkcji FirstChild: [Hierarchia].FirstChild [Poziom].FirstChild [Element w hierarchii].firstchild Składnia funkcji LastChild: [Hierarchia].LastChild [Poziom].LastChild [Element w hierarchii].lastchild Składnia funkcji DefaultMember: [Hierarchia].DefaultMember [Poziom].DefaultMember Porady praktyczne Uwagi ogólne Każde zapytanie MDX znajdujące się w instrukcji spróbuj wykonać i przeanalizować, co dokładnie otrzymujemy jako wynik. O ile to możliwe, spróbuj korzystać z pomocy online dotyczącej języka MDX (link znajduje się w dodatkowych źródłach informacji). Mity na temat MDX: wszyscy znają SQL, ale nikt nie zna MDX, MDX jest językiem trudnym i skomplikowanym, nie można napisać prostych zapytań w MDX. Fakty na temat MDX: podstawowe zapytania są podobne do zapytań SQL, tworzenie raportów jest dużo prostsze w MDX niż w SQL, nie trzeba tworzyć skomplikowanych złączeń wielu tabel, operowanie na zbiorach jest tak samo proste jak operowanie na relacjach. Uwagi dla studenta Jesteś przygotowany do realizacji laboratorium jeśli: znasz składnię języka MDX, rozumiesz różnice pomiędzy wymiarem, hierarchią, poziomem, atrybutem, agregatem i elementem, Strona 5/16

6 potrafisz napisać proste zapytanie MDX korzystając z takich funkcji jak: Children, Members, Cousin, FirstChild, LastChild, DefaultMember. Przed wykonywaniem każdego punktu dokładnie przeczytaj cały punkt, to spowoduje znaczne zmniejszenie liczby pomyłek podczas laboratorium i pozwoli na dokładniejsze poznanie materiału. Pamiętaj o zapoznaniu się z uwagami i poradami zawartymi w tym module. Upewnij się, że rozumiesz omawiane w nich zagadnienia. Jeśli masz trudności ze zrozumieniem tematu zawartego w uwagach, przeczytaj ponownie informacje z tego rozdziału i zajrzyj do notatek z wykładów. Dodatkowe źródła informacji 1. George Spofford: "MDX Solutions: With Microsoft SQL Server Analysis Services" 2. Mark Whitehorn, Robert Zare, Mosha Pasumansky: "Fast Track to MDX" 3. Strona internetowa: 4. Strona internetowa: Strona 6/16

7 Laboratorium podstawowe Na wstępnie zaprezentujemy połączenie do kostki danych. Kolejno omówimy podstawowe funkcje przypominając ich składnię. Następnie przejdziemy do omawiania zaawansowanych funkcji języka. Na końcu ćwiczenia są zadania do samodzielnego wykonania. Zadanie 1. Połączenie do bazy 2. Funkcja Cousin 3. Funkcja Distinct Tok postępowania Uruchom SQL Server Management Studio. W oknie Object Explorer kliknij Connect i z rozwijanego menu wybierz Analysis Services. Wpisz nazwę serwera (localhost) i kliknij na przycisk Connect. Rozwiń dostępne bazy danych. Kliknij prawym przyciskiem myszy na bazie Adventure Works DW i z kontekstowego menu wybierz New Query -> MDX. Po wybraniu nowego zapytania MDX pojawiło się okienko, dla którego z lewej strony jest do dyspozycji skrócona wersję danych o kostkach i wymiarach. Można użyć funkcji Cousin aby wyznaczyć element w hierarchii na tym samym poziomie i miejscu (kolejności), ale dla innego rodzica. Cousin( [Element], [Element na wyższym poziomie] ) Obydwa argumenty funkcji Cousin muszą być w tej samej hierarchii, natomiast nie muszą się różnić tylko jednym poziomem. W poniższym przykładzie [Canada] jest pierwszym państwem w [North America], dlatego zostanie wyznaczone pierwsze państwo w [Europe]. {[Measures].[Sales Amount]} ON COLUMNS, {Cousin([Sales Territory].[Sales Territory]..[Sales Territory Country].&[Canada], [Sales Territory].[Sales Territory].[Sales Territory Group].&[Europe])} ON ROWS Przykład dla Cousin z wykorzystaniem wymiaru daty: {[Measures].[Sales Amount]} ON COLUMNS, {Cousin([Delivery Date].[Calendar].[Calendar Quarter].&[2001]&[3], Wykonaj powyższe zapytania. Distinct( KOLEKCJA ) [Delivery Date].[Calendar].[Calendar Year].&[2003])} ON ROWS Funkcja Distinct pozwala na eliminację powtórzonych elementów w zbiorze. Wszystkie elementy kolekcji powinny być na tym samym poziomie lub z tej samej hierarchii. W poniższym przykładzie element [Bike Racks] nie zostanie wypisany dwa razy, tylko jeden raz. {[Measures].[Sales Amount]} ON COLUMNS, Strona 7/16

8 4. Funkcja Except 5. Zadanie 6. Funkcja DrillDownLevel {Distinct({[Product].[Product Model Categories].[Category].[Accessories].Children, [Product].[Product Model Categories].[Subcategory].[Bike Racks]})} ON ROWS Wykonaj powyższe zapytania. Aby wykonać różnicę dwóch zbiorów, należy użyć funkcji Except: Except( KOLEKCJA, KOLEKCJA ) Z kolekcji podanej jako pierwszy parametr usuwane są wszystkie elementy należące do kolekcji podanej jako drugi parametr. W podanym niżej przykładzie wyświetlamyy wszystkie kategorie produktu bez kategorii [Bikes]. {[Measures].[Sales Amount]} ON COLUMNS, {Except({[Product].[Category].Children}, {[Measures].[Sales Amount]} ON COLUMNS, {Except({[Product].[Product Model Lines].[Model Name].Members}, {[Product].[Product Model Lines].[Product Line].[Accessory].Children})} ON ROWS Wykonaj powyższe zapytania. Dla kostki Sales Summary wypisać wszystkie agregaty dla podkategorii produktu bez podkategorii: [Cleaners],[Fenders],, [Helmets]. DrillDownLevel( [Wymiar] ) DrillDownLevel( [Poziom] ) DrillDownLevel( [Element] ) {[Product].[Category].[Bikes]} )} ON ROWS Poniżej przykład, w którym wyświetlamy wszystkie modele produktu oprócz tych, które należą do linii [Accessory]. Do zapytania wykorzystywana jest hierarchia [Product Model Lines]. W pierwszym parametrze funkcji Except do wyciągania elementów używamy funkcji Members (nie można użyć tutaj funkcji Children), ponieważ poziom [Model Name] jest w hierarchii. Drugi parametr zawiera funkcję Children (nie można użyć tutaj funkcji Members), ponieważ [Accessory] jest to element na poziomie [Product Line]. Za pomocą DrillDownLevel możemy wyświetlić elementy znajdujące się poniżej określonego poziomu. Poniższe zapytanie wyświetli wszystkie kategorie produktu, a także wszystkie podkategorie (w tej hierarchii pod poziomem [Category] znajduje się poziom [Subcategory]). Strona 8/16

9 7. Zadanie 8. Funkcja NonEmpty 9. Zadanie 10. Funkcja Order {[Measures].[Sales Amount]} ON COLUMNS, {DrillDownLevel([Product].[Product Categories].[Category])} ON ROWS Przeanalizuj poniższe przykłady użycia DrillDownLevel dla wymiaru, poziomu w wymiarze, poziomu w hierarchii, hierarchii, elementu w wymiarze, elementu w hierarchii. DrillDownLevel( [Sales Channel] ) DrillDownLevel( [Product].[Category] ) DrillDownLevel( [Product].[Product Categories].[Category] ) DrillDownLevel( [Product].[Product Categories] ) DrillDownLevel( [Product].[Category].[Accessories] ) DrillDownLevel( [Product].[Product Categories].[Category].[Accessories] ) Wykonaj powyższe zapytania. Przykłady z DrillDownLevel wklej do pierwszego przykładu i wykonaj. Dla kostki Sales Summary dla wszystkich kategorii, podkategorii i produktów wypisz liczbę jednostek sprzedanych, uwzględnij tylko rok W przypadku wielu elementów w zbiorze zdarza się, że część elementów nie posiada danych i komórki są wypełniane wartością (null). Aby usunąć elementy, dla których wszystkie wartości agregacji są puste, należy użyć funkcji NonEmpty. NonEmpty( KOLEKCJA ) Przykładowe zapytanie: {[Measures].[Sales Amount],[Measures].[Tax Amount]} ON COLUMNS, {NonEmpty([Product].[Model Name].Children)} ON ROWS Wykonaj powyższe zapytanie. Dla kostki Sales Summary wyświetlić liczbę zamówień i podatek w zależności od roku i kwartału. Nie wypisywać kwartałów, dla których nie ma zamówień. Aby posortować elementy zbioru względem pewnego agregatu, należy użyć funkcji Order: Order( KOLEKCJA, [Agregat], TYP_SORTOWANIA ) Dostępne są cztery typy sortowania: ASC, DESC, BASC, BDESC. Dwa pierwsze typy sortują tylko w ramach jednej określonej hierarchii, kolejne dwa służą do sortowania ze złamaniem hierarchii (Break hierarchy). Przykład dla Order: {[Measures].[Sales Amount],[Measures].[Tax Amount]} ON COLUMNS, {Order([Product].[Category].Children, [Measures].[Sales Amount], DESC)} ON ROWS Strona 9/16

10 11. Zadanie 12. Funkcje TopCount i BottomCount 13. Zadanie 14. Funkcja Filter 15. Zadanie 16. Obiekty wielowymiarowe Wykonaj powyższe zapytanie. Dla kostki Sales Summary wyświetl całkowity koszt produktu i liczbę zamówionych jednostek w zależności od typu promocji. Wynik posortuj rosnąco wg całkowitego kosztu produktu. Funkcje TopCount i BottomCount sortują zbiór odpowiedni rosnąco i malejąco względem agregatu, a następnie wyświetlają tylko N pierwszych elementów: TopCount( KOLEKCJA, N, AGREGAT ) BottomCount( KOLEKCJA, N, AGREGAT ) Wpisz przykład dla TopCount pięć najlepszych produktów pod względem sprzedaży: {[Measures].[Sales Amount]} ON COLUMNS, {TopCount([Product].[Product].Children,5, [Measures].[Sales Amount])} ON ROWS Wpisz przykład dla BottomCount pięć najsłabiej sprzedających się produktów, nie są liczone produkty dla których nie zarejestrowano faktu sprzedaży: {[Measures].[Sales Amount]} ON COLUMNS, {BottomCount(NonEmpty([Product].[Product].Children),5, [Measures].[Sales Amount])} ON ROWS Wykonaj powyższe zapytania. Dla kostki Sales Summary wyświetl 2 najlepsze i 2 najgorsze kraje (Sales Territory Country) względem liczby sprzedanych jednostek wykonaj to za pomocą jednego zapytania. Podpowiedź: najpierw napisz to za pomocą dwóch zapytań, a następnie użyj przecinka aby utworzyć kolekcję: { A, B }. Funkcja Filter pozwala wybrać z kolekcji tylko te elementy, które spełniają pewien warunek. Filter( KOLEKCJA, WARUNEK ) Wpisz przykład dla funkcji Filter, gdzie rezultatem są produkty dla których liczba sprzedanych jednostek przekracza 1000: {[Measures].[Order Quantity]} ON COLUMNS, {Filter([Product].[Product].Children, [Measures].[Order Quantity]>1000)} ON ROWS Wykonaj powyższe zapytanie. Dla kostki Sales Summary wyświetl wszystkie agregaty tylko dla tych krajów dla których całkowity koszt produktu przekracza Dotychczas rozpatrywaliśmy tylko przypadki, gdzie na jednej osi znajdują się elementy z jednej hierarchii (z jednego wymiaru lub Strona 10/16

11 17. Funkcja CrossJoin agregaty). W języku MDX jest możliwość operacji na zbiorach (dodawanie, różnica), ale także definiowanie iloczynu dwóch zbiorów i operacje na przestrzeniach wielowymiarowych. A = { a1, a2, a3 } B = { b1, b2 } A * B = { (a1,b1), (a1,b2), (a2,b1), (a2,b2), (a1,b1), (a3,b2) } Należy zauważyć, że operacja iloczynu kartezjańskiego z przyczyn praktycznych jest zapisywana symbolem gwiazdki (*). W języku MDX współrzędne każdego punktu podajemy w nawiasach okrągłych, punkty oddzielamy przecinkami, natomiast całą kolekcję ujmujemy w nawiasy klamrowe: A = { a1, a2, a3 } B = { b1, b2 } C = { c1, c2, c3 } { (a1, b2, c1), (a3, b2, c2), (a2, b1, c3) } Ważna jest informacja, że elementy są tego samego typu jeżeli należą do jednego lub różnych poziomów tej samej hierarchii jednego wymiaru lub do jednego poziomu danego wymiaru nie należącego do żadnej hierarchii. Należy sprawdzić, czy każdy punkt posiada odpowiednie wymiary jako kolejne współrzędne. Niepoprawne są przykłady: { (a1), (b2) } // inny wymiar jako pierwszy element { (a1, b2), (a1, b3, c1) } // punkty mają inną liczbę wymiarów { (a1, b2), (b1, a3) } // zmieniona kolejność wymiarów Przykłady zbiorów z elementami o takim samymm typie: Z1 = {[Product].[Product Categories].[Category].[Accessories], [Product].[Product Categories].[Category].[Bikes], [Product].[Product Categories].[Subcategory]..[Bike Racks], [Product].[Product Categories].[Product Name] ].[Touring Rear Wheel]} Z2 = {[Product].[Style].[Men] [Product].[Style].[Not Applicable] [Product].[Style].[Womens]} Pierwszy przykład dotyczy wymiaru [Product] i hierarchii [Product Categories] (różne poziomy), natomiast drugi przykład dotyczy wymiaru [Product] i poziomu [Style] (poziom bezpośrednio pod wymiarem). {[Measures].Members} ON COLUMNS, {([Promotion].[Promotion Type].&[Discontinued Product], [Product].[Product Categories].[Category]..&[4]), ([Promotion].[Promotion Type].&[New Product] ], [Product].[Product Categories].[Product Name].&[447])} ON ROWS Wykonaj powyższe zapytanie. Funkcja CrossJoin pozwala na wykonanie iloczynu kartezjańskiego dwóch zbiorów. Pozwala to na umieszczenie wielu elementów Strona 11/16

12 i operator * 18. Funkcja NonEmptyCrossJo in z różnych hierarchii na jednej osi. CrossJoin( KOLEKCJA, KOLEKCJA ) KOLEKCJA * KOLEKCJA Wpisz przykład dla CrossJoin wyświetlający wszystkie agregaty dla kostki Sales Summary w zależności od kategorii promocji i kanału sprzedaży: {[Measures].Members} ON COLUMNS, {CrossJoin([Promotion].[Promotion Category].Children, Powyższe zapytanie jest równoważne: {[Measures].Members} ON COLUMNS, {[Promotion].[Promotion Category].Children * [Sales Channel].[Sales Channel].Children} ON ROWS Jest to równoważne zapytaniu: {[Measures].Members} ON COLUMNS, {[Promotion].[Promotion Category].&[Customer] ], [Promotion].[Promotion Category].&[No Discount], [Promotion].[Promotion Category].&[Reseller] ]} * {[Sales Channel].[Sales Channel].&[Internet], [Sales Channel].[Sales Channel].&[Reseller]} ON ROWS A także równoważne: {[Measures].Members} ON COLUMNS, {{([Promotion].[Promotion Category].&[Customer], [Sales Channel].[Sales Channel].Children)} ON ROWS [Sales Channel].[Sales Channel].&[Internet]), ([Promotion].[Promotion Category].&[Customer], [Sales Channel].[Sales Channel].&[Reseller]), ([Promotion].[Promotion Category].&[No Discount], [Sales Channel].[Sales Channel].&[Internet]), ([Promotion].[Promotion Category].&[No Discount], [Sales Channel].[Sales Channel].&[Reseller]), ([Promotion].[Promotion Category].&[Reseller], [Sales Channel].[Sales Channel].&[Internet]), ([Promotion].[Promotion Category].&[Reseller], [Sales Channel].[Sales Channel].&[Reseller])}} ON ROWS Wykonaj powyższe zapytania. Funkcja NonEmptyCrossJoin: NonEmptyCrossJoin( KOLEKCJA, KOLEKCJA ) Funkcja ta działa tak samo jak połączenie: NonEmpty( CrossJoin( KOLEKCJA, KOLEKCJA ) ) 19. Zadanie Wyświetl wszystkie agregaty dla kostki Sales Summary w zależności od Strona 12/16

13 20. Łączenie agregatów z hierarchiami 21. Składnia WITH MEMBER AS dla agregatów 22. Zadanie 23. Składnia WITH MEMBER AS dla elementów kategorii produktu i roku dostarczenia. Posortuj względem liczby jednostek sprzedanych wykonaj zapytanie raz z ASC i raz z BASC jako typ sortowania. Do tej pory były analizowane przykłady, w których na kolumnach były wyświetlane agregaty, natomiast w kolejnych wierszach odpowiednie elementy w hierarchii. Możliwe jest połączenie agregatów z hierarchiami, tak jak w poniższym przykładzie. {CrossJoin({[Measures].[Sales Amount], [Measures].[Extended Amount]}, {[Promotion].[Promotion Category].Children})} ON COLUMNS, {[Sales Channel].[Sales Channel].Children} ON ROWS Wykonaj powyższe zapytanie. Aby dodać nowy agregat kalkulowany należy użyć frazy WITH MEMBER AS: WITH MEMBER [Measures].[Nowy agregat] AS ' WYRAZENIE ' W zapytaniu można już użyć agregatu wraz z agregatami kostki: { [Measures]..., [Measures].[Nowy Agregat] } ON COLUMNS,... W poniższym przykładzie obliczamy średnią liczbę zamówionych produktów przypadających na jedno zamówienie. WITH MEMBER [Measures].[Average Units Count] AS '[Measures].[Order Quantity]/[Measures].[Order Count]' {[Measures].[Order Quantity], [Measures].[Average Units Count]} ON COLUMNS, {[Product].[Product Categories].[Category].Members} ON ROWS Wykonaj powyższe zapytanie. Dla kostki Sales Summary zdefiniuj nowy agregat [Tax Percentage] jako iloraz [Tax Amount] / [Total Product Cost]. Wyświetl ten agregat względem roku, semestru i kwartału dostarczeniaa (oś X), a także kanału sprzedaży [Sales Channel] i kraju sprzedaży [Sales Territory Country] (oś Y). Podobnie jak dodawanie nowego agregatu, można dodać nowy element definiując działania, jakie zostaną wykonane dla obliczanych agregatów: WITH MEMBER [Wymiar].[Poziom].[Nowy element] AS ' WYRAZENIE ' WITH MEMBER [Wymiar].[Hierarchia].[Nowy element] AS ' WYRAZENIE ' W poniższym przykładzie definiujemy nowy element na poziomie [Product Line] o nazwie [Accessory and Components]. Strona 13/16

14 24. Funkcje Properties i CurrentMember WITH MEMBER [Product].[Product Line].[Accessory and Components] AS '[Product].[Product Line].[Accessory]+[Product].[Product Line].[Components]' {[Measures].[Order Count], [Measures].[Total Product Cost]} ON COLUMNS, {[Product].[Product Line].[Accessory and Components]} ON ROWS Kolejny przykład prezentuje przykład wykorzystania WITH MEMBER AS dla hierarchii: WITH MEMBER [Delivery Date].[Fiscal].[Last Three Quarters of 2002] AS '[Delivery Date].[Fiscal].[Fiscal Quarter].[Q2 FY 2002]+[Delivery Date].[Fiscal].[Fiscal Quarter].[Q3 FY 2002]+ +[Delivery Date].[Fiscal].[Fiscal Quarter].[Q4 FY 2002]' {[Measures].[Order Count], [Measures].[Total Product Cost]} ON COLUMNS, {[Delivery Date].[Fiscal].[Last Three Quarters of 2002]} ON ROWS Kolejny przykład dotyczy elementu zdefiniowanego jako różnica dwóch elementów na różnych poziomach, ale w jednej hierarchii. WITH MEMBER [Delivery Date].[Fiscal].[2003 withoutt January] AS '[Delivery Date].[Fiscal].[Fiscal Year].[FY 2003]-[Delivery Date].[Fiscal].[Month].[January 2003]' {[Measures].[Order Count], [Measures].[Total Product Cost]} ON COLUMNS, {[Delivery Date].[Fiscal].[2003 without January]} ON ROWS Wykonaj powyższe zapytanie. Poziomy mogą zawierać właściwości, które są przypisane dla każdego elementu. Właściwości są to dane na temat elementu, które nie muszą tworzyć logicznie kolejnego poziomu. [Wymiar].Properties("Wlasnosc") [Hierarchia].Properties("Wlasnosc") [Poziom w wymiarze].properties("wlasnosc") [Poziom w hierarchii].properties("wlasnosc") Aby odczytać własności dla elementów, należy użyć funkcji Properties jak w podanym niżej przykładzie. WITH MEMBER [Measures].[Style] AS '[Product].[Product].Properties("Style")' {[Measures].[Style], Strona 14/16

15 25. Zadanie [Measures].[Order Quantity]} ON COLUMNS, {NonEmpty([Product].[Product].Children)} ON ROWS Określony wymiar dla agregatu odpowiada konkretnemu rozpatrywanemu elementowi w momencie wykonywania zapytania, można dodać funkcję CurrentMember aby uzmysłowić sobie jak wyznaczany jest określony atrybut. WITH MEMBER [Measures].[Days to Manufacture] AS '[Product].[Product].CurrentMember.Properties("Days to Manufacture")' MEMBER [Measures].[Dealer Price] AS '[Product].[Product].CurrentMember.Properties("Dealer Price")' {[Measures].[Days to Manufacture], [Measures].[Dealer Price], [Measures].[Order Quantity]} ON COLUMNS, {NonEmpty([Product].[Product].Children)} ON ROWS Wykonaj powyższe zapytania. Dla każdego produktu wyświetl kolor, klasę, rozmiar, status i liczbę jednostek sprzedanych dla kostki Sales Summary.. Strona 15/16

16 Laboratorium rozszerzone Do podejmowania decyzji potrzebne są przekrojowe dane, które powinny być dostępne dla użytkowników biznesowych. Z tego powodu należy przygotować szereg raportów w postaci zapytań MDX gotowych do uruchomienia (poprzez przeglądarkę lub bezpośrednio w SQL Server Management Studio). Przedstawione niżej zadania są raportami, które pochodzą od użytkowników biznesowych. Laboratorium rozszerzone zawiera raporty do wykonania. Każde zadanie jest niezależne, zadania zostały ustawione od najłatwiejszych do najtrudniejszych. Dla każdego zadania podany jest orientacyjny czas wykonania. Wykonaj następujące raporty w języku MDX: Zadanie 1 (czas wykonania 10 min) Dla kostki Finance wypisz wszystkie agregaty dla departamentów na wszystkich poziomach. Zadanie 2 (czas wykonania 10 min) Dla kostki Finance wypisz Amount dla wszystkich typów konta (oś X) i scenariuszy (oś Y). Zadanie 3 (czas wykonania 12 min) Dla kostki Sales Summary wypisz wszystkie agregaty dla lat, semestrów i kwartałów. Nie wypisuj danych dla roku Zadanie 4 (czas wykonania 12 min) Dla kostki Sales Summary wypisz Sales Amount i Total Product Cost i kategorię promocji (oś Y) w zależności od roku dostarczenia, kategorii produktu (oś X). Zadanie 5 (czas wykonania 15 min) Dla kostki Finance wypisz wszystkie agregaty dla organizacji do 3 poziomu, nie wypisuj organizacji z wartościami pustymi. Strona 16/16

Analityczny język zapytań MDX: zaawansowane

Analityczny język zapytań MDX: zaawansowane ITA-102 Hurtownie Danych Moduł 8 Wersja 1.0 Spis treści Analityczny język zapytań MDX: zaawansowane Analityczny język zapytań MDX: zaawansowane... 1 Informacje o module... 2 Przygotowanie teoretyczne...

Bardziej szczegółowo

Analityczny język zapytań MDX: wstęp

Analityczny język zapytań MDX: wstęp Moduł 6 Wersja 1.0 Spis treści Analityczny język zapytań MDX: wstęp Analityczny język zapytań MDX: wstęp... 1 Informacje o module... 2 Przygotowanie teoretyczne... 3 Podstawy teoretyczne... 3 Porady praktyczne...

Bardziej szczegółowo

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX 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ą

Bardziej szczegółowo

Integracja i Eksploracja Danych

Integracja i Eksploracja Danych Integracja i Eksploracja Danych Laboratorium nr 4 Wprowadzenie do języka MDX. Zadania: 1) Analogicznie do przykładu zawartego na poprzednich zajęciach, korzystając z SQL Server Business Intelligence Development

Bardziej szczegółowo

Kostki OLAP i język MDX

Kostki OLAP i język MDX Kostki OLAP i język MDX 24 kwietnia 2015 r. 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 rodzaje zadań,

Bardziej szczegółowo

przygotował: pawel@kasprowski.pl Podstawy języka MDX Tworzenie zbiorów

przygotował: pawel@kasprowski.pl Podstawy języka MDX Tworzenie zbiorów Podstawy języka MDX Tworzenie zbiorów Używanie zbiorów Zbiór to: wynik działania funkcji (np. funkcji members) lista elementów otoczona {...} {[Store Sales], [Unit Sales]} on columns, [Product].[Prod].[Category].members

Bardziej szczegółowo

MDX ZAWARTOŚĆ O MDX. Wyk onał: Zatwi erdził: KSPBC_Szkolenie_20090623. doc. Spra wdził: Strona 1 z 15

MDX ZAWARTOŚĆ O MDX. Wyk onał: Zatwi erdził: KSPBC_Szkolenie_20090623. doc. Spra wdził: Strona 1 z 15 ZAWARTOŚĆ Zawartość...1 O...1 Podstawowe typy danych...2 1.1. Wymiar / hierarhia...2 1.2. Poziom...2 1.3. Element...2 1.4. Kolekcje (Tuples)...2 1.5. Zbiory (Sets)...2 1.6. Osie (Axes)...2 Pierwsze zapytanie...3

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Podstawy MDX. Podstawy MDX. Podstawy MDX. Struktura kostki [BiznesG]

Podstawy MDX. Podstawy MDX. Podstawy MDX. Struktura kostki [BiznesG] Podstawowe zapytanie MDX ma strukturę podobną do zapytań SQL. Najprostsza postać zwraca dwuwymiarową kostkę: opis osi ON COLUMNS, opis osi ON ROWS FROM nazwa_kostki [WHERE opis_plastra] Najprostsza postać

Bardziej szczegółowo

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2) Laboratorium nr 8 Temat: Podstawy języka zapytań SQL (część 2) PLAN LABORATORIUM: 1. Sortowanie. 2. Warunek WHERE 3. Eliminacja powtórzeń - DISTINCT. 4. WyraŜenia: BETWEEN...AND, IN, LIKE, IS NULL. 5.

Bardziej szczegółowo

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

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

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

Systemy OLAP I. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Systemy OLAP I Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2008/09 Studia

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL 1 Podstawy relacyjnego modelu danych. 3h UWAGA: Temat zajęć jest typowo teoretyczny i stanowi wprowadzenie do zagadnień

Bardziej szczegółowo

Wykład 5. SQL praca z tabelami 2

Wykład 5. SQL praca z tabelami 2 Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,

Bardziej szczegółowo

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

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services Spis treści Wstęp... ix Odkąd najlepiej rozpocząć lekturę?... ix Informacja dotycząca towarzyszącej ksiąŝce płyty CD-ROM... xi Wymagania systemowe... xi Instalowanie i uŝywanie plików przykładowych...

Bardziej szczegółowo

Symfonia Produkcja. Kreator raportów. Wersja 2013

Symfonia Produkcja. Kreator raportów. Wersja 2013 Symfonia Produkcja Kreator raportów Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy Adobe

Bardziej szczegółowo

Krzysztof Dembczyński. Inteligentne Systemy Wspomagania Decyzji Studia magisterskie, semestr I Semestr letni 2007/08

Krzysztof Dembczyński. Inteligentne Systemy Wspomagania Decyzji Studia magisterskie, semestr I Semestr letni 2007/08 Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Inteligentne Systemy Wspomagania Decyzji Studia magisterskie, semestr I Semestr letni

Bardziej szczegółowo

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Uruchamianie edytora OpenOffice.ux.pl Writer 9 Dostosowywanie środowiska pracy 11 Menu Widok 14 Ustawienia dokumentu 16 Rozdział 2. OpenOffice

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

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

Instytut Mechaniki i Inżynierii Obliczeniowej   Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Laboratorium 1 Wprowadzenie, podstawowe informacje o obsłudze

Bardziej szczegółowo

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

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych

Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych Program szkoleniowy Efektywni50+ Moduł V Raportowanie dla potrzeb analizy danych 1 Wprowadzenie do technologii MS SQL Server 2012 Reporting Services. 2h Podstawowym zadaniem omawianej jednostki lekcyjnej

Bardziej szczegółowo

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

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Raportowanie z wykorzystaniem fraz rollup, cube Frazy cube, rollup, grouping sets umożliwiają rozszerzoną

Bardziej szczegółowo

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

Wyświetl imie i nazwisko ucznia, nazwę przedmiotu z którego otrzymał ocenę niedostateczną. Nazwij tę kwerendę oceny niedostateczne. Kwerendy wybierające Kwerenda wybierająca jest najczęściej używanym rodzajem kwerendy. Służy do otrzymywania danych z tabeli lub tabel i wyświetla wyniki w arkuszu danych, w którym można je następnie aktualizować

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: Wprowadzenie do SQL Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

Podstawowe zapytania SELECT (na jednej tabeli)

Podstawowe zapytania SELECT (na jednej tabeli) Podstawowe zapytania SELECT (na jednej tabeli) Struktura polecenia SELECT SELECT opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje FROM nazwy tabel lub widoków WHERE warunek (wybieranie wierszy) GROUP

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

Procedury techniczne modułu Forte Kontroling. Pakiety DTS Procedury techniczne modułu Forte Kontroling Pakiety DTS Pakiety DTS Strona 2 z 7 Pakiety DTS przeznaczone są do wykorzystywania podczas importu danych z modułu Forte Finanse i Księgowość do modułu Forte

Bardziej szczegółowo

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI LABORATORIUM TECHNOLOGIA SYSTEMÓW INFORMATYCZNYCH W BIOTECHNOLOGII Aplikacja bazodanowa: Cz. II Rzeszów, 2010 Strona 1 z 11 APLIKACJA BAZODANOWA MICROSOFT ACCESS

Bardziej szczegółowo

SQL (ang. Structured Query Language)

SQL (ang. Structured Query Language) SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze

Bardziej szczegółowo

Wprowadzenie do hurtowni danych

Wprowadzenie do hurtowni danych 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

Bardziej szczegółowo

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni Akademia Morska w Gdyni Gdynia 2004 1. Złączenie definicja Złączenie (JOIN) to zbiór rekordów stanowiących wynik zapytania służącego pobraniu danych z połączonych tabel (związki jeden-do-jeden, jeden-do-wiele

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Aplikacje Internetowe

Aplikacje Internetowe Aplikacje Internetowe ITA-103 Wersja 1 Warszawa, październik 2008 Spis treści Wprowadzenie i-4 Moduł 1 Podstawy HTML 1-1 Moduł 2 Kaskadowe Arkusze Stylów CSS 2-1 Moduł 3 Podstawy JavaScript 3-1 Moduł 4

Bardziej szczegółowo

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15 T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest

Bardziej szczegółowo

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

QUERY język zapytań do tworzenia raportów w AS/400 QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] [ ] instrukcja może

Bardziej szczegółowo

Część I Istota analizy biznesowej a Analysis Services

Część I Istota analizy biznesowej a Analysis Services Spis treści Część I Istota analizy biznesowej a Analysis Services 1 Analiza biznesowa: podstawy analizy danych... 3 Wprowadzenie do analizy biznesowej... 3 Wielowymiarowa analiza danych... 5 Atrybuty w

Bardziej szczegółowo

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych

Bardziej szczegółowo

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków: 2008 04 25 MS Excel 2007 Kurs zaawansowany Obsługa baz danych prowadzi: Dr inż. Tomasz Bartuś Kraków: 2008 04 25 Bazy danych Microsoft Excel 2007 udostępnia szereg funkcji i mechanizmów obsługi baz danych (zwanych

Bardziej szczegółowo

Optimed24 Instrukcja ogólna

Optimed24 Instrukcja ogólna Instrukcja ogólna Dotyczy wersji: Spis treści 1. Listy rozwijane... (combobox) 3 2. Ogólne zasady... wyszukiwania 4 3. Operacje na... tabelach (gridach) 6 3.1. Grupowanie według... kolumn 11 3.2. Zapamiętywanie...

Bardziej szczegółowo

SQL Server Configuration Manager centrum dowodzenia

SQL Server Configuration Manager centrum dowodzenia Instrukcja do przedmiotu Bazy danych laboratorium (zajęcia 1) 1 Celem pierwszych zajęć laboratoryjnych jest poznanie podstaw obsługi MS SQL Server 2005 za pomocą programu SQL Server Management Studio,

Bardziej szczegółowo

Program Rabator dla Microsoft Windows.

Program Rabator dla Microsoft Windows. Program Rabator dla Microsoft Windows. Do czego służy program? Często zdarza się, że klient prosi o informację na temat ceny danego towaru. Pracownik posiadając jedynie ceny katalogowe musi własnoręcznie

Bardziej szczegółowo

3. Podzapytania, łączenie tabel i zapytań

3. Podzapytania, łączenie tabel i zapytań 3. Podzapytania, łączenie tabel i zapytań I. PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT w instrukcji SELECT,

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Ulotka skrócona Moduł Analizy BI. Wersja: 2013.0.1

Ulotka skrócona Moduł Analizy BI. Wersja: 2013.0.1 Ulotka skrócona Moduł Analizy BI Wersja: 2013.0.1 Spis treści 1. Reinstalacja z poprzedniej wersji... 3 2. Raporty Wzorcowe... 5 2.1 Nowości... 5 2.2 Zmiany... 6 3. Ogólne... 6 3.1 Nowości... 6 3.2 Zmiany...

Bardziej szczegółowo

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Laboratorium nr 5 Temat: Funkcje agregujące, klauzule GROUP BY, HAVING Celem ćwiczenia jest zaprezentowanie zagadnień dotyczących stosowania w zapytaniach języka SQL predefiniowanych funkcji agregujących.

Bardziej szczegółowo

Nowy interfejs w wersji 11.0 C8 BETA

Nowy interfejs w wersji 11.0 C8 BETA Nowy interfejs w wersji 11.0 C8 BETA Copyright 2012 COMARCH Wszelkie prawa zastrzeżone Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.

Bardziej szczegółowo

Wykład 6. SQL praca z tabelami 3

Wykład 6. SQL praca z tabelami 3 Wykład 6 SQL praca z tabelami 3 Łączenie wyników zapytań Język SQL zawiera mechanizmy pozwalające na łączenie wyników kilku pytań. Pozwalają na to instrukcje UNION, INTERSECT, EXCEPT o postaci: zapytanie1

Bardziej szczegółowo

Leszek Stasiak Zastosowanie technologii LINQ w

Leszek Stasiak Zastosowanie technologii LINQ w Leszek Stasiak Zastosowanie technologii LINQ w C# 1. Wstęp - połączenie Do naszych zadań będziemy używać Microsoft Visual Studio 2010. Stwórzmy nowy projekt Windows Form Application. Mając do dyspozycji

Bardziej szczegółowo

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL ORACLE System Zarządzania Bazą Danych Oracle Oracle Advanced SQL wersja 1.0 Politechnika Śląska 2008 Plan laboratorium Frazy SQL: group by, rollup, cube, grouping sets funkcje analityczne, budowa modeli

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ

TEMAT ĆWICZENIA Zapoznanie z technologią LINQ POLITECHNIKA WROCŁAWSKA KOŁO NAUKOWE KREDEK Laboratorium nr 4 TEMAT ĆWICZENIA Zapoznanie z technologią LINQ Wykonał: Mateusz Woszczyk 155693 Termin: Cz / 19.00 Data wykonania ćwiczenia: 20.11.2011 1. LINQ

Bardziej szczegółowo

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 1 Piotr Syga 09.10.2017 Ogólny zarys wykładu Podstawowe zapytania SQL Tworzenie i modyfikacja baz danych Elementy dynamiczne, backup, replikacja, transakcje Algebra

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

Microsoft SQL Server Podstawy T-SQL

Microsoft SQL Server Podstawy T-SQL Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania

Bardziej szczegółowo

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

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie do baz danych Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można

Bardziej szczegółowo

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Szkolenie autoryzowane MS 10774 Tworzenie zapytań do Microsoft SQL Server 2012 Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje Opis szkolenia Uwaga! Szkolenie wycofane z oferty. Zapraszamy

Bardziej szczegółowo

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu

Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu Moduł Handlowo-Magazynowy Zaawansowane analizy sprzedaży i zakupu Wersja 3.59.305 4.04.2013 r. W systemie Streamsoft Prestiż użytkownik ma możliwość samodzielnego tworzenia rozszerzonych analiz w zakresie

Bardziej szczegółowo

PODZAPYTANIE (SUBSELECT)

PODZAPYTANIE (SUBSELECT) 2. Podzapytania PODZAPYTANIE (SUBSELECT) oddzielna, ujęta w nawiasy instrukcja SELECT, zagnieżdżona w innej instrukcji SQL, zazwyczaj w instrukcji SELECT W instrukcji SELECT, podzapytanie może być umieszczone

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w

Bardziej szczegółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

5.5. Wybieranie informacji z bazy

5.5. Wybieranie informacji z bazy 5.5. Wybieranie informacji z bazy Baza danych to ogromny zbiór informacji, szczególnie jeśli jest odpowiedzialna za przechowywanie danych ogromnych firm lub korporacji. Posiadając tysiące rekordów trudno

Bardziej szczegółowo

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus Podstawy języka SQL Co to jest SQL? Structured Query Language uchodzi za standard języka zapytań kierowanych do systemu zarządzania bazą danych. SQL jest językiem deklaratywnym tj. takim, w którym istotne

Bardziej szczegółowo

SQL praca z tabelami 4. Wykład 7

SQL praca z tabelami 4. Wykład 7 SQL praca z tabelami 4 Wykład 7 1 Funkcje agregujące Informacja poszukiwana w bazie danych często musi być wyliczana na podstawie danych znajdujących się w wielu wierszach tabeli. Tak jest gdy chcemy znać

Bardziej szczegółowo

BAZY DANYCH laboratorium 2 tworzenie bazy danych, podstawy języka SQL

BAZY DANYCH laboratorium 2 tworzenie bazy danych, podstawy języka SQL BAZY DANYCH laboratorium 2 tworzenie bazy danych, podstawy języka SQL Wstęp Dane w relacyjnych bazach danych zapisywane są w tabelach. KaŜda tabela składa się z pół (czyli jej nagłówków) oraz rekordów

Bardziej szczegółowo

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY w Szczecinie Z ACHODNIOPOM UNIWERSY T E T T E CH OR NO SKI LOGICZNY KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN Instrukcja do ćwiczeń laboratoryjnych z metody

Bardziej szczegółowo

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Jak utworzyć i odtworzyć kopię zapasową za pomocą narzędzi serwera SQL? Tworzenie i odtwarzanie kopii zapasowych baz danych programów Kadry Optivum, Płace Optivum, MOL Optivum,

Bardziej szczegółowo

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY

Plan. Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących. Grupowanie danych - klauzula GROUP BY Plan Wyświetlanie n początkowych wartości (TOP n) Użycie funkcji agregujących Grupowanie danych - klauzula GROUP BY Generowanie wartości zagregowanych Użycie klauzul COMPUTE i COMPUTE BY Wyświetlanie początkowych

Bardziej szczegółowo

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

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych 1 ANALYSIS SERVICES 1. Tworzymy połączenie ze źródłem danych Możliwości są dwie, ale dodajemy projekt analityczny do projektu w którym mamy procesy ETL (Add Project) albo tworzymy nowy projekt (New Project).

Bardziej szczegółowo

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy) Zapytania SQL. Polecenie SELECT jest używane do pobierania danych z bazy danych (z tabel lub widoków). Struktura polecenia SELECT SELECT FROM WHERE opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje

Bardziej szczegółowo

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy. BAZA_1 Temat: Tworzenie i modyfikowanie formularzy. Do wprowadzania danych do tabel słuŝą formularze. Dlatego zanim przystąpimy do wypełniania danymi nowo utworzonych tabel, najpierw przygotujemy odpowiednie

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Modelowanie obiektowe - Ćw. 1.

Modelowanie obiektowe - Ćw. 1. 1 Modelowanie obiektowe - Ćw. 1. Treść zajęć: Zapoznanie z podstawowymi funkcjami programu Enterprise Architect (tworzenie nowego projektu, korzystanie z podstawowych narzędzi programu itp.). Enterprise

Bardziej szczegółowo

Makra w arkuszu kalkulacyjnym

Makra w arkuszu kalkulacyjnym S t r o n a 1 Jacek Kierklo Makra w arkuszu kalkulacyjnym Wprowadzenie Artykuł przeznaczony jest dla uczniów szkół ponadgimnazjalnych znających arkusze kalkulacyjne w stopniu, co najmniej podstawowym.

Bardziej szczegółowo

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski SYSTEMY SCADA Laboratorium nr 8 PODSTAWY OBSŁUGI PROGRAMU WONDERWARE INTOUCH 10.1 Opracował: mgr inż. Marcel Luzar Cel: Konfiguracja

Bardziej szczegółowo

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne.

Przykład powyżej pokazuje, że w zapytaniu można umieszczać funkcje zarówno zdefiniowane w ramach środowiska, jak również własne. LINQ w Microsoft Visual Basic 'zapytanie pobierające wszystkie liczby z kolekcji 'zmienna zapytanie jest typu: System.Collections.Generic.IEnumerable(Of Integer) Dim zapytanie = From wiersz In liczby 'lub

Bardziej szczegółowo

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH Wstęp do SQL SQL (Structured Query Language) strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych. Język SQL jest językiem deklaratywnym.

Bardziej szczegółowo

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

5. Uruchomienie SQL Server Business Intelligence Development Studio Menu Start -> SQL Server Business Intelligence Development Studio Wersja robocza 0.1 1. Zainstalowanie SQL Serwer 2008 Nie sprawia to dużych trudności, większość rzeczy po prostu klikamy dalej. Instalacja jest jednak dość upierdliwa. W razie żądań instalatora trzeba

Bardziej szczegółowo

Systemy Baz Danych. Lista 1

Systemy Baz Danych. Lista 1 Systemy Baz Danych Lista 1 1 PLAN 1. Access bardzo krótkie przypomnienie 2. Język SQL jeszcze krótsze wprowadzenie 3. Język zapytań SQL elementy DML: a. Kwerendy w ACCESSie - Projekcja, Duplikaty, Aliasy,

Bardziej szczegółowo

Autor: dr inż. Katarzyna Rudnik

Autor: dr inż. Katarzyna Rudnik Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe

Bardziej szczegółowo

Ocenianie opisowe Optivum. Jak przygotować i wydrukować świadectwa lub arkusze ocen?

Ocenianie opisowe Optivum. Jak przygotować i wydrukować świadectwa lub arkusze ocen? Ocenianie opisowe Optivum Jak przygotować i wydrukować świadectwa lub arkusze ocen? W programie Ocenianie opisowe Optivum można przygotowywać raporty w oparciu o wcześniej sporządzony szablon dokumentu,

Bardziej szczegółowo