1 Porównanie języków: SQL, MDX i SAS 4GL na zaproponowanym studium przypadku
2 Co to jest studium przypadku?Studium przypadku to wyczerpująca metoda badawcza, polegająca na jednoczesnym stosowaniu wielu metod w celu jak najdokładniejszej analizy Obserwacja, wywiad, analiza, wnioski
3 Metody Implementacja kilku przypadkówPrzyjrzenie się różnym możliwościom języka na podstawie specyfikacji Próba abstrahowania od środowiska pracy Próba wzięcia pod uwagę możliwości finansowych firmy Wywiad
4 Prezentacja ciekawych możliwości wszystkich językówMDX jest WIELOWYMIAROWYM rozszerzeniem SQLa SAS 4GL pozwala używać w ciele zapytań poleceń SQLa
5 MDX MDX = MultiDimensional ExpressionsPodział danych na osie (co najmniej 3, columns, rows) Miary Podstawowe „typy” języka MDX: liczby, łańcuchy, elementy, ciąg
6 Members SELECT {([MEASURES].[Unit Sales])}ON COLUMNS, {([TIME].[1997]) ,([TIME].[1998])} ON ROWS FROM Sales; SELECT {([MEASURES].[Unit Sales])}ON COLUMNS, {([TIME].[YEAR].MEMBERS)} ON ROWS FROM Sales;
7 Members
8 Members vs SQL Brak miar Zliczanie sprzedanych jednostekGrupowanie po roku Złożone zapytanie
9 Transpozycja macierzySELECT w1 ON COLUMNS, w2 ON ROWS FROM Sales; SELECT w2 ON COLUMNS, w1 ON ROWS FROM Sales; Tabele przestawne Łatwe przeglądanie danych, szczególnie wielowymiarowych
10 Klauzula where w MDX Różni się od klauzi SQLaUmożliwia oglądanie kostki w przekroju- n-1 wymiarów stałych Definiuje które wymiary są stałe Definiuje wartości dla tych wymiarów
11 Problem z klauzulą where(1)SELECT w1 ON COLUMNS, w2 ON ROWS FROM SALES WHERE ([TIME].[1998], [TIME].[1997])
12 Problem z klauzula where (2)SELECT w1 ON COLUMNS ([PRODUCT].MEMBERS) ON ROWS FROM SALES WHERE ([PRODUCT].[MILK])
13 Podejście do „missing value” i wartości nullServer OLAP w MS SQL Server nie zwraca błędu przy próbie przeglądu nieistniejącego rekordu, zwraca 0 AVG nie zlicza komórek z miarą 0 Funkcja IsEmpty służy określeniu czy dana komórka jest pusta
14 Kilka słów o SAS 4GL Język przetwarzania danych 4 generacjiTypy zmiennych (character, numeric) Atrybuty zmiennych (length, format, label) Podział na zbiory danych (DATA, VIEW) Wiersze traktujemy jako obserwacje Kolumny traktujemy jako zmienne Data Step, Proc Step
15 Przetwarzanie danych
16 Missing value w SAS 4GL
17 Missing Value – SAS 4GL „missing numeric values” reprezentowane przez . (kropka) „missing character values” reprezentowane przez puste miejsce
18 SAS 4GL – „by group” Wymaga posortowania po grupowanej zmiennejTworzy zmienne automatyczne
19 SAS 4GL – „by group” Data grouping; Set zbior; By zmienna;if first.zmienna then output best; if last.st_code then output worst; run;
20 SAS 4GL - mapy SAS/GRAPH pozwala na tworzenie różnego rodzaju wykresów i raportów graficznych w oparciu o zgromadzone dane, dodawania własnych elementów do wygenerowanych raportów, jak również generowanie grafiki nie związanej z danymi. W ramach modułu SAS/GRAPH oprócz narzędzi do tworzenia grafiki dostępne są także drivery urządzeń, dzięki którym tworzone pozycje mogą być prezentowane na różnych urządzeniach, czcionki graficzne, zestaw map prawie wszystkich państw świata oraz graficzny edytor.
21 SAS 4GL- transpozycja macierzyproc transpose data=kurs.noty out=kurs.nt; by data; (Wymaga wcześniejszego posortowania danych)
22 SAS 4GL vs SQL SAS 4GL pozwala zagnieżdżać zapytania w SQL: proc sql;create table kurs.noty2 as select * from kurs.noty where nazwa='TONSIL' order by data desc; quit;
23 Podsumowanie SAS i MDX jako rozszerzenie SQLaBrak jednoznacznej odpowiedzi na to które rozwiązanie jest lepsze Analiza przypadku na podstawie posiadanej wiedzy Wywiad Prosty system ekspercki stworzony pod Expert System Builder (10 pytań)