Porównanie języków: SQL, MDX i SAS 4GL na zaproponowanym studium przypadku
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
Metody Implementacja kilku przypadków Przyjrzenie 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
Prezentacja ciekawych możliwości wszystkich języków MDX jest WIELOWYMIAROWYM rozszerzeniem SQLa SAS 4GL pozwala używać w ciele zapytań poleceń SQLa
MDX MDX = MultiDimensional Expressions Podział danych na osie (co najmniej 3, columns, rows) Miary Podstawowe „typy” języka MDX: liczby, łańcuchy, elementy, ciąg
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;
Members
Members vs SQL Brak miar Zliczanie sprzedanych jednostek Grupowanie po roku Złożone zapytanie
Transpozycja macierzy SELECT 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
Klauzula where w MDX Różni się od klauzi SQLa Umoż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
Problem z klauzulą where(1) SELECT w1 ON COLUMNS, w2 ON ROWS FROM SALES WHERE ([TIME].[1998], [TIME].[1997])
Problem z klauzula where (2) SELECT w1 ON COLUMNS ([PRODUCT].MEMBERS) ON ROWS FROM SALES WHERE ([PRODUCT].[MILK])
Podejście do „missing value” i wartości null Server 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
Kilka słów o SAS 4GL Język przetwarzania danych 4 generacji Typy 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
Przetwarzanie danych
Missing value w SAS 4GL
Missing Value – SAS 4GL „missing numeric values” reprezentowane przez . (kropka) „missing character values” reprezentowane przez puste miejsce
SAS 4GL – „by group” Wymaga posortowania po grupowanej zmiennej Tworzy zmienne automatyczne
SAS 4GL – „by group” Data grouping; Set zbior; By zmienna; if first.zmienna then output best; if last.st_code then output worst; run;
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.
SAS 4GL- transpozycja macierzy proc transpose data=kurs.noty out=kurs.nt; by data; (Wymaga wcześniejszego posortowania danych)
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;
Podsumowanie SAS i MDX jako rozszerzenie SQLa Brak 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ń)