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

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

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

Transkrypt

1 ZAWARTOŚĆ Zawartość...1 O...1 Podstawowe typy danych Wymiar / hierarhia Poziom Element Kolekcje (Tuples) Zbiory (Sets) Osie (Axes)...2 Pierwsze zapytanie...3 Podstawowe operatory: nawiasy klamrowe, przecinki oraz dwukropki Nawiasy klamrowe Składnia Przecinki Składnia Dwykropki Składnia...4 Wprowadzenie do funkcji z rodziny Members Składnia Funkcja.Parent Składnia Funkcja.Children Składania Funkcja Ancestor() Składnia Funkcja.FirstChild Składnia Funkcja.LastChild Składnia Funkcja.FirstSibling Składnia Funkcja.LastSibling Składnia Funkcja Cousin() Składnia...9 Relatywne funkcje z rodziny Member Wartości obliczeniowe (Calculated Members) Składnia Funkcja.PrevMember Składnia Funkcja.NextMember Składnia...11 Funkcje czasowe Funkcja PeriodsToDate() Składnia Skróty funkcji PeriodsToDate() Składnia Funkcje OpeningPeriod() i ClosingPeriod() Składnia Funkcja LastPeriods() Składnia Funkcja ParallelPeriod() Składnia...14 Funkcje na zbiorach Funkcja TopCount() Składnia...14 Funkcje tekstowe Funkcja.Properties Składnia...14 O Strona 1 z 15

2 9001:2000 Dokument: KS-PBC/TECH Wydanie: Waga: 90 wyłonił się w okolicach 1998 wtedy to zaczął pojawiać się w komercyjnych aplikacjach. Jest to język zapytań dla wielowymiarowych struktur OLAP pozwalający na zadawanie zapytań online w kostkach analitycznych. Język ten został stworzony przez grupę inżynierów z Microsoft. Po opublikowaniu specyfikacji w 1999 roku zaczął być wykorzystywany przez wielu innych producentów rozwiązań OLAP. wzorowany jest na języku T-SQL i jest jego rozwinięciem wielowymiarowym. PODSTAWOWE TYPY DANYCH 1.1. Wymiar / hierarhia Jest to wymiar kości. Wymiar jest głównym organizatorem informacji w kości. nie zna zależności pomiędzy wymiarami, oraz zakłada, że takowe nie istnieją. Wymiar zwiera elementy zorganizowane w jakąś hierarchie lub hierarchie zawierające poziomy. Może zostać wybrany przez podanie jego nazwy np. [CZAS] lub przez użycie funkcji dostępnych z poziomu języka np..dimension. Do hierarchii, podobnie jak i do całego wymiaru możemy odwołać się bezpośrednio podające jej nazwę (np. [CZAS.Tygodniowo]) lub może zostać zwrócona prze funkcję np..hierarchy. Hierarchie zawierają się w wymiarach i niektóre specyfikacje języka nie widzą różnicy między nimi (np. OLEDB for OLAP ), a niektóre traktują hierarchie i wymiar jako dwa osobne typy danych (np. Microsoft Analysis Services.) 1.2. Poziom Oznacza poziom w hierarchii. Można się odwołać do niego poprzez podanie unikalnej nazwy ([CZAS.Tygodniowo]. [Tydzien]) lub też przy użyciu dostępnych funkcji (np..level) 1.3. Element Jest to element należący do jakiejś hierarchii wymiaru. Jak w poprzednich przypadkach odwołać się do niego można bezpośrednio podające jego nazwę ([CZAS.Tygodniowo].[2009].[1]) lub używając jednej z dostępnych funkcji np..firstchild. Każdy element należy do jakiejś hierarchii, jeżeli element należy do dwóch różnych hierarchii to w przypadku odwołania się do niego należy opakować go w zbiór lub kolekcję Kolekcje (Tuples) Jest to zbiór elementów z których każdy z niech pochodzi z innego wymiaru. Np. (Sprzedaż, 1997) reprezentuje kolekcję która składa się z elementów, które w kostce OLAP znajdują się w 2 wymiarach: wskaźniki i czas. (Nie jadalny, Sprzedaż, 1997) reprezentuje kolekcję, której elementy znajdują się w 3 wymiarach: produkt, wskaźnik i czas. Ważną rzeczą odnośnie kolekcji jest to, że mogą być utworzone z jednego lub więcej elementów z dowolnej liczby wymiarów, ale tylko jeden element z każdego wymiaru może istnieć w danej kolekcji. Aby utworzyć kolekcję składającą się z jednego elementu należy wpisać: [Wymiar].[Element] 1 Natomiast aby utworzyć kolekcję składającą się z wielu elementów używamy następującej składni: ([Wymiar1].[Element], [Wymiar2].[Element],[Wymiar3].[Element]) 1.5. Zbiory (Sets) Definicje zbiorów umieszczane są w nawiasach klamrowych i służą do specyfikacji komórek kostki, które zostaną zwrócone przez zapytanie. Zbiór zazwyczaj składa się z grupy jednej lub więcej kolekcji. Ich kolejność ma znaczenie, oraz dana kolekcja może być powtarzana w obrębie zapytania. Jak już zostało wspomniane, zbiory oznaczane są przez umieszczenie ich w nawiasach klamrowych, więc definiowanie zbioru będzie miało np. następującą postać: {[CZAS].[1997],[CZAS].[1998]} ON COLUMNS, {[Measures].[ILZK],[Measures].[WASN]} ON ROWS 1.6. Osie (Axes) 1 Jednoelementowa kolekcja może zostać umieszczona w nawiasach, ale nie jest to wymagane. Strona 2 z 15

3 Oś jest grupą lub zbiorem elementów z jednego lub więcej wymiarów zorganizowanych w kolekcje. Służy ona do umieszczenia lub filtracji wartości kostki wzdłuż elementów wymiaru z którym są powiązane. Składnia osi składa się ze specyfikacji osi i występuje zaraz po słowie kluczowym SELECT. Np. {([CZAS].[1998],[Measures].[ILZK])} ON COLUMNS, {[TOWAR.Towar].[Razem].Children} ON ROWS W powyższym przykładzie słowa kluczowe ON COLUMNS i ON ROWS są aliasami (nazwami umownymi) elowych osi. Oczywiście zapytanie może zawierać więcej niż 2 osie (np. aż do 128 w SQL Server 2008), ale tylko 5 z nich posiada aliasy i są to odpowiednio: COLUMNS, ROWS, PAGES, SECTIONS i CHAPTERS. PIERWSZE ZAPYTANIE SELECT {[Measures].[ILZK]} ON COLUMNS, {[CZAS].[2009].[Q1].[1] : [CZAS].[2009].[Q4].[12]} ON ROWS FROM [SPRZEDAZ_ZAKUPY] Rys. 4.1Ekran z zapytaniem PODSTAWOWE OPERATORY: NAWIASY KLAMROWE, PRZECINKI ORAZ DWUKROPKI 1.7. Nawiasy klamrowe Jak możemy zauważyć składnia zapytania SELECT w dużym stopniu przypomina składnie języka SQL. Jedną z bardziej wiznych różnic jest to, w jaki sposób rozróżnia zbiory: są one otoczone przez nawiasy klamrowe Składnia używa nawiasów do opakowania zbiorów z jednego lub kilku wymiarów. Poniższy przykład demonstruje użycie nawiasów klamrowych przy wybieraniu wyników, które chcemy otrzymać. select [Measures].[WASN] ON COLUMNS, {[CZAS].[2009], [CZAS].[2007].[q1]} ON ROWS Powyższe zapytanie pozwala nam wyświetlić wartość sprzedaży netto dla wybranych okresów, czyli w tym wypadku dla całego roku 2009 oraz dla pierwszego kwartału roku W wyniku powinniśmy otrzymać: Rys. 5.2 Wynik działania zapytania W tym przypadku wcięcie przy kwartałach jest trochę mylące, ale po włączeniu wyświetlania elementów nadrzędnych (Shift+Ctrl+N) dokładniej widać którego roku kwartał jest wyświetlany. Strona 3 z 15

4 Rys. 5.3 Wynik działania zapytania 1.8. Przecinki Przecinki oddzielają kolekcje tworzące zbiór, szczególnie wtedy, gdy ciężko jest zdefiniować zbiór używając zakresu elementów Składnia Przykład użycia przecinka do oddzielenia części zbioru: {[Measures].[ILZK],[Measures].[WASN]} 1.9. Dwykropki Dwukropek pozwala nam wykorzystać naturalny porządek elementów do utworzenia zbioru. Dzięki temu operatorowi w łatwy sposób utworzymy zbiór zawierające się w podanym zakresie z zachowaniem ich kolejności. Należy zapamiętać, że używając tego operatora elementy definiujące oba końce zakresu zawierają się w utworzonym zakresie Składnia Składnie polecenia możemy zobrazować następująco: Zbiór otrzymany po wykonaniu polecenia: {[CZAS].[2009].[Q1].[1], [CZAS].[2009].[Q1].[2], [CZAS].[2009].[Q1].[3], [CZAS].[2009].[Q1].[4], [CZAS].[2009].[Q1].[5], [CZAS].[2009].[Q1].[6], [CZAS].[2009].[Q1].[7], [CZAS].[2009].[Q1].[8], [CZAS].[2009].[Q1].[9], [CZAS].[2009].[Q1].[10], [CZAS].[2009].[Q1].[11], [CZAS].[2009].[Q1].[12]} Możemy uzyskać przy użyciu polecenia; {[CZAS].[2009].[Q1].[1] : [CZAS].[2009].[Q4].[12]} WPROWADZENIE DO FUNKCJI Z RODZINY MEMBERS Polecenie.Members pozwala nam w łatwy sposób otrzymać wszystkie elementy należące do danego poziomu, hierarchii czy też wymiaru. Należy zapamiętać to, że polecenie.members musi być stosowana na poziomie wymiaru w miejscu w którym hierarchia nie jest dwuznaczna. Tzn. jeżeli w wymiarze istnieją dwie lub więcej hierarchii to operator.members musi zostać użyty na poziomie (lub poniżej) w którym następuje ich rozdzielenie. W przypadku próby użycia operatora na poziomie wyżej wystąpi błąd. Kolejną ważną informacją jest to, że wartości obliczeniowe (Calculated Members) nie zostaną zwrócone w wyniku tego polecenia. Aby otrzymać je w wyniku należy użyć polecenia.allmembers Składnia Prosty przykład ilustrujący składnie oraz wynik użycia polecenia: select {[Measures].Members} ON COLUMNS, {[CZAS].[2009]} ON ROWS W wyniku ww. polecenia otrzymamy wartości dla 2009 roku wszystkich dostępnych wskaźników: Strona 4 z 15

5 Rys. 6.4 Wynik działania zapytania Pozostałe funkcje należące do rodziny funkcji.member możemy podzielić na dwie grupy z perspektywy wyników jakie zwracają. Można powiedzieć, że funkcje z pierwszej grupy działają pionowo, tzn. poruszają się w hierarchii w górę i w dół. Do tej grupy należą funkcje: - Ancestor() -.Children -.Parent -.FirstChild -.LastChild Druga grupa natomiast działa poziomo. Te funkcje poruszają się w obrębie tego samego poziomu w hierarchii i są to funkcje: -.Cousin() -.FirstSibling -.LastSibling Funkcja.Parent Zadaniem tej funkcji jest zwrócenie rodzica danego element. Jest ona często przydatna w przypadku wartości obliczeniowych Składnia Składnia użycia tej funkcji wygląda następująco: <element>.parent Przykład użycia wraz z wynikiem wygląda następująco: select {[Measures].[WASN]} ON COLUMNS, {[CZAS].[2009].[Q1].[1].Parent} ON ROWS W wyniku otrzymamy: Rys. 6.5 Wynik działania zapytania Jak widać dane są dla całego pierwszego kwartału, a nie dla stycznia. W tym przypadku też, ciężko jest zobaczyć użyteczność takiej funkcji, widać ją będzie natomiast w powiązaniu z relatywną funkcją.currentmember Funkcja.Children Podobnie jak poprzednia funkcja i ta działa pionowo. Jak wskazuje jej nazwa zwraca ona dzieci (czyli elementy leżące w hierarchii poniżej) wybranego elementu Składania <element>.children Przykład ilustrujący działanie: select {[Measures].[WASN], [Measures].[ILZK]} ON COLUMNS, [APTEKA].Children ON ROWS where [CZAS].[2009] Wynik wykonania powyższego polecenia: Strona 5 z 15

6 Rys. 6.6 Wynik działania zapytania Jak widać otrzymaliśmy listę wszystkich elementów należących do hierarchii [APTEKA] (czyli wszystkie apteki), wraz z wybranymi wskaźnikami. Po raz pierwszy została także użyta klauzula WHERE. Ogranicza ona nam wyświetlane dane w tym przypadku wartości wskaźników są obliczone dla roku Funkcja Ancestor() Funkcja zwraca element znajdujący się na zadanym poziomie lub w zadanej odległości od wybranego element Składnia Składnia polecenia wygląda nieco inaczej niż w poprzednich przypadkach. Polecenie nie jest dodawane za wybranym elementem lecz wybrany element jest umieszczany wewnątrz funkcji: Ancestor(element, poziom) lub Ancestor(element, odleglość) Przykład użycia funkcji wygląda następująco: select {[Measures].[WZCN]} ON COLUMNS, {Ancestor([CZAS].[2009].[Q1].[2], 1.0)} ON ROWS W wyniku otrzymujemy: Rys. 6.7 Wynik działania zapytania Funkcja.FirstChild Polecenie zwraca pierwsze dziecko wybranego elementu (pierwszy element, znajdujący się na poziomie niżej niż wybrany) Składnia Strona 6 z 15

7 <element>.firstchild Przykład użycia: select {[Measures].[WZCN]} ON COLUMNS, {[CZAS].[2008].[Q3].FirstChild} ON ROWS W wyniku otrzymujemy: Rys. 6.8 Wynik działania zapytania W zrozumieniu działania tych funkcji może pomóc nam poniższy diagram przedstawiający zależności które każdy z nas zna doskonale zależności pomiędzy latami, kwartałami i miesiącami. Mając je przestawione w takiej postaci, możemy zauważyć, że funkcje odpowiednio przesuwają się po drzewie. Akurat w przypadku funkcji.firstchild funkcja wybiera pierwszy element z poziomu niżej, czyli w naszym przypadku dla elementu Q3 będzie to Lipiec, co widać na drzewie Q1 Q4 Styczeń Luty Marzec Październik Listopad Grudzień Q2 Kwiecień Maj Czerwiec Q3 Lipiec Sierpień Wrzesień Rys. 6.9 Uproszczony diagram hierarchii wymiaru czasu Funkcja.LastChild Funkcja działa podobnie do.firstchild z tym, że zwraca ostatni element znajdujący się na poziomie niżej niż wybrany Składnia <element>.lastchild Przykład: select {[Measures].[WZCN]} ON COLUMNS, {[CZAS].[2008].[Q3].LastChild} ON ROWS Wynik: Strona 7 z 15

8 Rys Wynik działania zapytania Funkcja.FirstSibling Działanie tej funkcji może być trochę bardziej mylące niż.firstchild. Jak zostało wspomniane na wstępie funkcje.firstsibling i.lastsibling działają poziomo, tzn. poruszają się w obrębie wybranego poziomu. Dlatego też elementy zwracane przez tą funkcję będą z tego samego poziomu Składnia <element>.firstsibling Przykład: select {[Measures].[WZCN]} ON COLUMNS, {[CZAS].[2008].[Q3].FirstSibling} ON ROWS Wynik: Rys Wynik działania zapytania Funkcja.LastSibling Podobnie jak w poprzedniej funkcji, ta funkcja działa poziomo i zwraca ostatni element znajdujący się na tym samym poziomie co element na którym wywołujemy tą funkcję Składnia <element>.lastsibling Przykład: select {[Measures].[WZCN]} ON COLUMNS, {[CZAS].[2008].[Q3].LastSibling} ON ROWS Wynik: Rys Wynik działania zapytania Funkcja Cousin() Ta funkcja zwraca element leżący równolegle względem danego elementu. Powiedzmy, że istnieją dwa wymiary. Wymiar pierwszy ma 3 poziomy, wymiar drugi 5. W tym przypadku gdy wywołamy funkcję Cousin() podając jako argument drugi poziom pierwszego wymiaru otrzymamy w wyniku drugi poziom drugiego wymiaru. Wymiar czasu bardzo dobrze nadaje się do pokazania działania funkcji Cousin(), gdyż w większości przypadków dany element posiada taką samą ilość potomków (elementów leżących na niższym poziomie) co pozostali. Są oczywiście drobne wyjątki np. odpowiednik 31 maja we wrześniu (wrzesień nie ma 31 dni, dlatego też nie będzie odpowiednika dla 31 maja). Strona 8 z 15

9 Składnia Cousin(element,poziom) Przykład użycia: select {[Measures].[WZCN]} ON COLUMNS, {Cousin([CZAS].[2008].[Q1].[3],[CZAS].[2008].[Q2])} ON ROWS Wynik Rys Wynik działania zapytania Jak możemy zauważyć, w wyniku otrzymaliśmy dane dla czerwca jest on odpowiednikiem marca w 3 kwartale. Marzec jest 3 miesiącem kwartału pierwszego, natomiast czerwiec jest 3 miesiącem kwartału drugiego, więc dane dla niego zostały wyświetlone. RELATYWNE FUNKCJE Z RODZINY MEMBER Wartości obliczeniowe (Calculated Members) Wartości obliczeniowe pozwalają nam zdefiniować nowe element bazując na wymiarze bądź elementach które istnieją w kostce w której chcemy utworzyć nowy element. Są to elementy których wartość zależy od wyrażenia, a nie od wartości znajdującej się w komórce kostki. Potencjalne użycie takich elementów ograniczone jest tylko przez wyobraźnie i wiedzę użytkownika Składnia Aby utworzyć nowy element należy użyć klauzuli WITH, której składnia przedstawiona jest poniżej: WITH MEMBER wymiar.nazwa AS 'wyrażenie' Wymiar reprezentowany jest przez wymiar w którym zostanie utworzony nowy element, nazwa jest nazwą dla elementu natomiast wyrażenie jest wyrażeniem z którego tworzony jest element. Przykład: with member [Measures].[Roznica] as '([Measures].[WZCN] - [Measures].[WASN])' select {[Measures].[WZCN], [Measures].[WASN], [Measures].[Roznica]} ON COLUMNS, {[CZAS].[2008].Children} ON ROWS Wynik: Rys Wynik działania zapytania Przykład demonstruje nam, jak w prosty sposób obliczyć interesujące nas wartości i wyświetlić je. Obliczyliśmy różnicę pomiędzy wartością zakupów a sprzedaży, która została wyświetlona w kolumnie Roznica Funkcja.PrevMember Funkcja zwraca poprzedni element istniejący na tym samym poziomie co dany element. Innymi słowy funkcja zwraca element w wielowymiarowej hierarchii, który wystąpił wcześniej na tym samym poziomie co dany element. Użyteczność funkcji jest oczywista, gdy rozważymy potrzeby biznesowe np. obrębie księgowości i finansów. Strona 9 z 15

10 Przykładowym użyciem tutaj może być porównanie zmian w zadanym czasie z okresem poprzedzającym (np. rok bieżący oraz poprzedni, miesiąc bieżący i poprzedni itd) Składnia <element>.prevmember Przykład użycia: with member [Measures].[PR] as '(([CZAS].PrevMember, [Measures].[WZCN]) - ([CZAS].PrevMember,[Measures].[WASN]))' select {[Measures].[PR]} ON COLUMNS, [Apteka].children ON ROWS where [CZAS].[2008] Powyższy przykład wyświetli nam różnicę miedzy wartością zakupów a sprzedaży dla roku 2007, mimo, że klauzula WHERE wskazuje na rok Rys Wynik działania zapytania Można łatwo zweryfikować, że dane za 2008 rok będą inne wykonując poniższe zapytanie: with member [Measures].[CR] as '([Measures].[WZCN] - [Measures].[WASN])' select {[Measures].[CR]} ON COLUMNS, [Apteka].children ON ROWS where [CZAS].[2008] Dodając do tego możliwości funkcji.currentmember która zwróci nam aktualny rok, możemy w łatwy sposób porównać sobie wartości z roku bieżącego z rokiem poprzednim: with member [Measures].[PR] as '(([CZAS].PrevMember, [Measures].[WZCN]) - ([CZAS].PrevMember,[Measures].[WASN]))' member [Measures].[CR] as '(([CZAS].CurrentMember,[Measures].[WZCN])-([CZAS].CurrentMember,[Measures].[WASN]))' select {[Measures].[CR], [Measures].[PR]} ON COLUMNS, [Apteka].children ON ROWS where [CZAS].[2008] Powyższe zapytanie wyświetli nam dane z roku wybranego (2008) w kolumnie CR, oraz z roku poprzedniego w kolumnie PR. Oczywiście zakres czasowy można zmienić, wybierając np. drugi kwartał Funkcja.NextMember Strona 10 z 15

11 Funkcja zwraca następny element istniejący na tym samym poziomie co dany element. Innymi słowy funkcja zwraca element w wielowymiarowej hierarchii, który wystąpi później na tym samym poziomie co dany element. Użyteczność funkcji jest oczywista, gdy rozważymy potrzeby biznesowe np. obrębie księgowości i finansów. Przykładowym użyciem tutaj może być porównanie zmian w zadanym czasie z okresem poprzedzającym (np. rok następny oraz bieżący, miesiąc następny i poprzedni itd) Składnia <element>.nextmember Przykład użycia: with member [Measures].[PR] as '(([CZAS].NextMember, [Measures].[WZCN]) - ([CZAS].NextMember,[Measures].[WASN]))' select {[Measures].[PR]} ON COLUMNS, [Apteka].children ON ROWS where [CZAS].[2008] Wynik: Rys Wynik działania zapytania Mimo, że w klauzuli WHERE były wybrany rok 2008, to dane pochodzą z roku Można to sprawdzić zapytaniem z przykładu w poprzedniej funkcji. FUNKCJE CZASOWE Funkcja PeriodsToDate() Funkcja zwraca zbiór elementów na danym poziomie zaczynając od pierwszego istniejącego (.FirstSibling) kończąc na wybranym. Funkcja ta pozwala nam na obliczenie w prosty sposób takich wartości jak np. suma wydatków od początku roku do danego miesiąca Składnia PeriodsToDate([poziom[, element]]) Przykłady użycia: Strona 11 z 15

12 with MEMBER [Measures].[SUMA] AS 'Sum(PeriodsToDate([CZAS].[ROK]),[Measures].[WASN])' select {[Measures].[WASN],[Measures].[SUMA]} ON COLUMNS, [CZAS].[2008].[Q1].[1]:[CZAS].[2008].[Q4].[12] ON ROWS Wynik: Rys Wynik działania zapytania W wyniku otrzymaliśmy utworzony wskaźnik, który jest sumą wartości netto z miesiąca bieżącego i miesięcy poprzedzających go. Podobne zestawienie np. dla miesiąca stycznia możemy otrzymać zmieniając lekko zapytanie: with member [Measures].[SUMA] as 'Sum(PeriodsToDate([CZAS].[Miesiac]), [Measures].[WASN])' select {[Measures].[WASN], [Measures].[SUMA]} ON COLUMNS, ([CZAS].[2008].[Q1].[1].[1] : [CZAS].[2008].[Q1].[1].[30]) ON ROWS Skróty funkcji PeriodsToDate() oferuje także kilka skrótów funkcji umożliwiając nam wykonywanie podsumowań w łatwiejszy sposób. Są to funkcje YTD(), QTD(), MTD(), WTD() i odpowiadają one odpowiednio latom, kwartałom, miesiącom i tygodniom Składnia Ytd ([element]) Qtd ([element]) Mtd ([element]) Wtd ([element]) Ww. Polecenia odpowiadają odpowiednio PeriodsToDate(Rok, element) PeriodsToDate(Kwartal, element) PeriodsToDate(Miesiac, element) PeriodsToDate(Tydzien, element) Czyli w wyniku otrzymamy zbiory zawierające elementy poczynając od pierwszego na danym poziomie (rok, kwartał, miesiąc, tydzień) a kończąc na aktualnym. Odpowiednio przerobione przykłady z poprzedniej funkcji wyglądają tak jak poniżej: Strona 12 z 15

13 with member [Measures].[SUMA] as 'Sum(Ytd(), [Measures].[WASN])' select {[Measures].[WASN], [Measures].[SUMA]} ON COLUMNS, ([CZAS].[2008].[Q1].[1] : [CZAS].[2008].[Q4].[12]) ON ROWS oraz with member [Measures].[SUMA] as 'Sum(Mtd(), [Measures].[WASN])' select {[Measures].[WASN], [Measures].[SUMA]} ON COLUMNS, ([CZAS].[2008].[Q1].[1].[1] : [CZAS].[2008].[Q1].[1].[30]) ON ROWS Funkcje OpeningPeriod() i ClosingPeriod() Funkcje OpeningPeriod() i ClosingPeriod() zwracają odpowiednio pierwszy lub ostatni potomek elementu istniejącego na zadanym poziomie, bądź innymi słowy funkcje zwracają pierwszy lub ostatnie element, który posiada takiego samego rodzica na zadanym poziomie Składnia OpeningPeriod([poziom[, element]]) ClosingPeriod([poziom[, element]]) Przykład: OpeningPeriod ([CZAS].[MIESIAC], [2008] ) ClosingPeriod ([CZAS].[MIESIAC], [2008] ) Funkcje zwrócą odpowiednio: - Styczeń roku 1998, gdyż on jest pierwszym elementem należącym do hierarchii miesięcy Grudzień roku 1998, gdyż jest on ostatnim elementem z hierarchii miesięcy Funkcja LastPeriods() Funkcja zwraca zbiór x-1 elementów poprzedzających wybrany element (włącznie z nim) Składnia LastPeriods(index[, element]) Przykład LastPeriods (11, [Time].[1998].[Q3].[8]) Zwraca nam zbiór składający się z 11 elementów poprzedzających [Time].[1998].[Q3].[8], czyli dostaniemy: {[Time].[1997].[Q4].[10], [Time].[1997].[Q4].[11], [Time].[1997].[Q4].[12], [Time].[1998].[Q1].[1], [Time].[1998].[Q1].[2], [Time].[1998].[Q1].[3], [Time].[1998].[Q2].[4], [Time].[1998].[Q2].[5], [Time].[1998].[Q2].[6], [Time].[1998].[Q3].[7], [Time].[1998].[Q3].[8]} Przykładowe zapytanie wyświetlające wartość sprzedaży netto dla każdego z miesiąca, wraz ze średnią z ostanch 6 miesięcy wygląda tak: with member [Measures].[Sr] as 'Avg(LastPeriods (6, [CZAS].CurrentMember), [Measures].[WASN])' select {[Measures].[WASN], [Measures].[Sr]} ON COLUMNS, ([CZAS].[2008].[Q1].[1] : [CZAS].[2008].[Q4].[12]) ON ROWS Funkcja ParallelPeriod() Zwraca element znajdujący się w odpowiedniej, relatywnej pozycji co zadany. Strona 13 z 15

14 Składnia ParallelPeriod([poziom[, wyrażenie_numeryczne[, element]]]) Domyslnie, wyrażenie_numeryczne =1, element Time.CurrentMember; Przykład użycia: select {[Measures].[WASN]} ON COLUMNS, {ParallelPeriod([CZAS].[Kwartal], 2.0, [CZAS].[2008].[Q3].[9])} ON ROWS from [FFN_SPRZ_KZAK] Funkcja przejdzie do Q3 i cofnie się o 2 kwartały (czyli znajdzie się w Q1). Następnie zwróci kuzyna (Cousin()) miesiąca września czyli w tym przypadku będzie to marzec. (gdyż marzec jest 3 miesiącem Q1, podobnie jak wrzesień jest trzecim miesiącem, z tym, że kwartału 3). Wynik: Rys Wynik działania zapytania FUNKCJE NA ZBIORACH Funkcja TopCount() Funkcja zwraca X pierwszych elementów z danego zbioru, opcjonalnie posortowanych wg. podanego kryterium Składnia TopCount(zbiór, ilość [,kolejność]) Przykład with member [Measures].[Roznica] as '([Measures].[ILZK] - [Measures].[ILSP])' select Crossjoin({[CZAS].[2009]}, {[Measures].[ILZK], [Measures].[ILSP], [Measures].[Roznica]} ) ON COLUMNS, TopCount( {[TOWAR.Towar].[Razem].Children}, 50.0, ([CZAS].[2009], [Measures].[Roznica]) ) ON ROWS W wyniku otrzymamy listę 50 towarów, których różnica miedzy ilością zakupioną a sprzedaną jest największa. FUNKCJE TEKSTOWE Funkcja.Properties Funkcja zwraca String zawierający własność danego elementu. Mogą to być nieodłączne własności takie jak NAZWA, ID, KLUCZ, WARTOSC_ELEMENTU czy też zdefiniowane przez użytkownika Składnia element.properties(nazwa_wlasnosci [, TYPED]) Domyślnie zwracane wartości są zwracane jako String (łańcuch tekstowy znaków), jeżeli potrzebujemy aby własność elementu została zwrócona jako taki sam typ w jakim jest przechowywana należy użyć flagi TYPED. Przykład: with member [Measures].[kod] as '[APTEKA].CurrentMember.Properties("KOD_POCZTOWY")' select {[Measures].[kod]} ON COLUMNS, [APTEKA].Children ON ROWS W wyniku otrzymujemy listę aptek wraz z ich kodem pocztowym: Strona 14 z 15

15 Rys Wynik działania zapytania Strona 15 z 15

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

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

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

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

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa

Kwerenda. parametryczna, z polem wyliczeniowym, krzyżowa Kwerenda parametryczna, z polem wyliczeniowym, krzyżowa Operatory stosowane w wyrażeniach pól wyliczeniowych Przykład: wyliczanie wartości w kwerendach W tabeli Pracownicy zapisano wartości stawki godzinowej

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

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

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

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

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

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

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

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ

Bardziej szczegółowo

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

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

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Podstawowe funkcje dodatku linq w C#

Podstawowe funkcje dodatku linq w C# Podstawowe funkcje dodatku linq w C# 1. Łączenie Tabel Do łączenia dwóch lub więcej tabel wykorzystujemy komendę join. Składnia całego wyrażenia gotowego do wyświetlenia w DataGridView wygląda następująco:

Bardziej szczegółowo

Instrukcje dla zawodników

Instrukcje dla zawodników Płock, 17 marca 2018 r. Instrukcje dla zawodników Arkusze otwieramy na wyraźne polecenie komisji. Wszystkie poniższe instrukcje zostaną odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde

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

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

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

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

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

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

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

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

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

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

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 Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Analityczny język zapytań MDX: podstawy

Analityczny język zapytań MDX: podstawy 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

Bardziej szczegółowo

2017 r. STOPA BEZROBOCIA r. STOPA BEZROBOCIA

2017 r. STOPA BEZROBOCIA r. STOPA BEZROBOCIA 2017 r. STOPA BEZROBOCIA GUS dokonał korekty stopy bezrobocia za okres od grudnia 2016 r. do sierpnia 2017 r., wynikającej na podstawie badań prowadzonych przez przedsiębiorstwa według stanu na 31 grudnia

Bardziej szczegółowo

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2 - 1 - MS EXCEL CZ.2 FUNKCJE Program Excel zawiera ok. 200 funkcji, będących predefiniowanymi formułami, słuŝącymi do wykonywania określonych obliczeń. KaŜda funkcja składa się z nazwy funkcji, która określa

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

Import danych w formacie txt

Import danych w formacie txt Przewodnik Inżyniera Nr 27 Aktualizacja: 06/2017 Import danych w formacie txt Program powiązany: Fundament bezpośredni Plik GEO5: Demo_manual_27_1.gpa (przykład przygotowany do importu danych) Demo_manual_27_2.gpa

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

ODCZYT STANU WODY NA RZECE DRWĘCY mierzone dla posterunku Nowe Miasto Lubawskie

ODCZYT STANU WODY NA RZECE DRWĘCY mierzone dla posterunku Nowe Miasto Lubawskie 598 3 grudnia 2010r. - 239 597 2 grudzień 2010r. - 236 596 1 grudzień 2010r. - 238 595 30 listopad 2010r. - 242 594 29 listopad 2010t. - 265 593 28 listopad 2010r. - 256 592 27 listopad 2010r. - 251 591

Bardziej szczegółowo

Wymiar czasu pracy w kwartałach 2018r. pełny etat

Wymiar czasu pracy w kwartałach 2018r. pełny etat Informacja o ze w 2018r. Warszawski Uniwersytet Medyczny poszczególnych ów etatów Zgodnie z Instrukcją w sprawie zasad ewidencjonowania i rozliczania (załącznik nr 1 do Zarządzenia Kanclerza nr 380/2013

Bardziej szczegółowo

Zadanie 2: Arytmetyka symboli

Zadanie 2: Arytmetyka symboli 1 Cel ćwiczenia Zadanie 2: Arytmetyka symboli Wykształcenie umiejętności abstrahowania operacji arytmetycznych. Zapoznanie się i przećwiczenie mechanizmu tworzenia przeciążeń funkcji operatorowych. Utrwalenie

Bardziej szczegółowo

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS Zmiany funkcjonalne i lista obsłużonych zgłoszeń 2017.3.0, i 2017.3.2 1. Wstęp W niniejszym dokumencie zostały opisane modyfikacje wprowadzone w wersji 2017.3.0, i 2017.3.2. 2. Modyfikacje wprowadzone

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

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

Uzupełnij pola tabeli zgodnie z przykładem poniżej, 1. Wykonaj bazę danych biblioteki szkolnej, Otwórz MS Access a następnie z menu plik wybierz przycisk nowy, w oknie nowy plik wybieramy pusta baza danych nadaj jej nazwę Biblioteka i wybierz miejsce w

Bardziej szczegółowo

(aktualizacja 30 kwietnia 2018)

(aktualizacja 30 kwietnia 2018) Weryfikacja użytkownika, lista i prawa użytkowników (aktualizacja 30 kwietnia 2018) Abstrakt W poradniku opisano możliwości programu w zakresie zabezpieczania dostępu do programu hasłem, tworzenia listy

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

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

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Łączenie liczb i tekstu.

Łączenie liczb i tekstu. Łączenie liczb i tekstu. 1 (Pobrane z slow7.pl) Rozpoczynamy od sposobu pierwszego. Mamy arkusz przedstawiony na rysunku poniżej w którym zostały zawarte wypłaty pracowników z wykonanym podsumowaniem.

Bardziej szczegółowo

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie

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

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych 2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:

Bardziej szczegółowo

Bazy danych Access KWERENDY

Bazy danych Access KWERENDY Bazy danych Access KWERENDY Obiekty baz danych Access tabele kwerendy (zapytania) formularze raporty makra moduły System baz danych MS Access Tabela Kwerenda Formularz Raport Makro Moduł Wyszukiwanie danych

Bardziej szczegółowo

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Wykład III. dr Artur Bartoszewski www.bartoszewski.pr.radom.pl. Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych dr Artur Bartoszewski www.bartoszewski.pr.radom.pl Wykład III W prezentacji wykorzystano fragmenty i przykłady z książki: Joe Habraken;

Bardziej szczegółowo

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot Alberto Ferrari i Marco Russo Przekład: Marek Włodarz APN Promise Warszawa 2014 Spis treści Wprowadzenie............................................................

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

Wymiar czasu pracy w kwartałach 2018r. pełny etat

Wymiar czasu pracy w kwartałach 2018r. pełny etat Informacja o ze w 2018r. Warszawski Uniwersytet Medyczny poszczególnych ów etatów Zgodnie z Instrukcją w sprawie zasad ewidencjonowania i rozliczania (załącznik nr 1 do Zarządzenia Kanclerza nr 380/2013

Bardziej szczegółowo

2.5 Dzielenie się wiedzą

2.5 Dzielenie się wiedzą 2.5 Dzielenie się wiedzą 2.5.1 Baza wiedzy zespołu Tworzenie bazy wiedzy w OneNote, zapoznanie się z przykładowymi bazami wiedzy, stworzenie struktury bazy wiedzy, zdefiniowanie własnych tagów, stworzenie

Bardziej szczegółowo

Dodawanie operacji dodatkowych w WAPRO Mag.

Dodawanie operacji dodatkowych w WAPRO Mag. Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa

Bardziej szczegółowo

Tablice, DataGridView

Tablice, DataGridView Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

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

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym ą na wykonywanie zapytań ń do bazy danych i odczytywanie danych zawartych w relacjach. Celem tego ćwiczenia jest

Bardziej szczegółowo

Business Intelligence

Business Intelligence Business Intelligence Paweł Mielczarek Microsoft Certified Trainer (MCT) MCP,MCSA, MCTS, MCTS SQL 2005, MCTS SQL 2008, MCTS DYNAMICS, MBSS, MBSP, MCITP DYNAMICS. Geneza Prowadzenie firmy wymaga podejmowania

Bardziej szczegółowo

DECLARE VARIABLE zmienna1 typ danych; BEGIN

DECLARE VARIABLE zmienna1 typ danych; BEGIN Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;

Bardziej szczegółowo

Rozdzia l 3. Laboratorium 3. danych zawierajac

Rozdzia l 3. Laboratorium 3. danych zawierajac Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice

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

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Wymiar czasu pracy w kwartałach 2018r. pełny etat

Wymiar czasu pracy w kwartałach 2018r. pełny etat Informacja o ze w 2018r. Warszawski Uniwersytet Medyczny poszczególnych ów etatów Zgodnie z Instrukcją w sprawie zasad ewidencjonowania i rozliczania (załącznik nr 1 do Zarządzenia Kanclerza nr 380/2013

Bardziej szczegółowo

MS Excel cz.1 funkcje zaawansowane

MS Excel cz.1 funkcje zaawansowane MS Excel cz.1 funkcje zaawansowane Spis zagadnień: Funkcje daty i czasu, dzięki którym możemy manipulować danymi typu data i czas i np. wstawić do arkusza aktualną datę. Funkcje warunkowe, które pozwalają

Bardziej szczegółowo

Technologie informacyjne: Arkusz kalkulacyjny

Technologie informacyjne: Arkusz kalkulacyjny Wrocław, 11.05.2018 Technologie informacyjne: Arkusz kalkulacyjny Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Podstawy korzystania z arkuszy kalkulacyjnych. 1/68

Bardziej szczegółowo

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla:

Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla: Przykład 1. Dane w poniższej tabeli przedstawiają sprzedaż w dolarach i sztukach oraz marżę wyrażoną w dolarach dla: 24 miesięcy, 8 krajów, 5 kategorii produktów, 19 segmentów i 30 brandów. Tabela ta ma

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

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

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

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

Podstawy programowania w języku C++ Zadania

Podstawy programowania w języku C++ Zadania Podstawy programowania w języku C++ Zadania Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki

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

3. Instrukcje warunkowe

3. Instrukcje warunkowe . Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include

Bardziej szczegółowo

SQL SERVER 2012 i nie tylko:

SQL SERVER 2012 i nie tylko: SQL SERVER 2012 i nie tylko: Wstęp do planów zapytań Cezary Ołtuszyk coltuszyk.wordpress.com Kilka słów o mnie Starszy Administrator Baz Danych w firmie BEST S.A. (Bazy danych > 1TB) Konsultant z zakresu

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

KOTLIN. Język programowania dla Androida KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga

Bardziej szczegółowo

Struktura drzewa w MySQL. Michał Tyszczenko

Struktura drzewa w MySQL. Michał Tyszczenko Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu

Bardziej szczegółowo

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L Co to jest DDL SQL i jakie s jego ą podstawowe polecenia? D D L S Q L - p o d s t a w y DDL SQL (Data Definition Language) Jest to zbiór instrukcji i definicji danych, którym posługujemy się

Bardziej szczegółowo

Październik Data Dzień tygodnia Szczęśliwy numerek [Wybierz inny miesiąc]

Październik Data Dzień tygodnia Szczęśliwy numerek [Wybierz inny miesiąc] Szczęśliwe numerki 2014/2015 Wybierz miesiąc: Wrzesień Październik Listopad Grudzień Styczeń Luty Marzec Kwiecień Maj Czerwiec Wrzesień 10 wrzesień 2014 Środa 16 11 wrzesień 2014 Czwartek 17 12 wrzesień

Bardziej szczegółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

C++ Przeładowanie operatorów i wzorce w klasach

C++ Przeładowanie operatorów i wzorce w klasach C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje

Bardziej szczegółowo

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

Bardziej szczegółowo

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów

5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów 5. Integracja stron aplikacji, tworzenie zintegrowanych formularzy i raportów 1. W chwili obecnej formularz Edycja prowadzących utworzony w poprzednim zestawie ćwiczeń służy tylko i wyłącznie do edycji

Bardziej szczegółowo

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Grupa A (LATARNIE) Imię i nazwisko: Numer albumu: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: Nazwisko prowadzącego: 11: 12: Suma: Ocena: Zad. 1 (10 pkt) Dana jest relacja T. Podaj wynik poniższego zapytania (podaj

Bardziej szczegółowo

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

3. Budowa prostych raportów opartych o bazę danych 3. Budowa prostych raportów opartych o bazę danych 1. Przy pomocy kreatora utwórz raport tabelaryczny, wyświetlający dane dotyczące prowadzących listę przebojów. W tym celu: a. Uruchom narzędzie Application

Bardziej szczegółowo