MDX i eksport
Dwie powiązane funkcje dla zaawansowanych: edytor MDX (do pisania zapytań ręcznie lub ręcznego strojenia wyniku workbencha) i opcje eksportu (do wyciągania wyniku do innego narzędzia lub raportu).
Edytor MDX
Za kulisami każde przeciągnięcie i upuszczenie w workbenchu kompiluje się do zapytania MDX — języka zapytań do kostek OLAP. Większość analiz nigdy nie wymaga, byś patrzył na MDX; workbench jest szybszy do typowych przypadków. Ale czasem chcesz:
- Debugowanie. Zapytanie workbencha zwraca nieoczekiwane liczby i chcesz zobaczyć dokładnie, o co zostało zapytane.
- Kopiowanie. Inne narzędzie mówi MDX (lub zapisujesz zapytanie do pliku do kontroli wersji).
- Strojenie ręczne. Workbench daje Ci punkt startowy; Ty dopracowujesz.
- Rzeczy, których workbench nie wyraża. Niektóre zaawansowane
funkcje MDX (nazwane zbiory, sub-kostki, złożone klauzule
WITH) nie są wynurzone jako affordance stref upuszczania.
Otwieranie panelu MDX
Kliknij Pokaż MDX na pasku narzędzi. Panel wysuwa się, pokazując bieżące zapytanie jako MDX.
Panel jest domyślnie tylko do odczytu; kliknij Przełącz na MDX, by uczynić zapytanie edytowalnym. Od tego momentu autorzysz MDX bezpośrednio — strefy upuszczania już nie napędzają zapytania. Aby wrócić do trybu workbencha, Przełącz z powrotem porzuca Twoje edycje MDX i odbudowuje ze stref upuszczania.
Jak wygląda MDX
Minimalne zapytanie MDX:
SELECT { [Measures].[Revenue] } ON COLUMNS, { [Time].[Year].MEMBERS } ON ROWSFROM [Sales]To daje Ci tabelę przychodu rok-po-roku — to samo co przeciągnięcie Revenue na Kolumny i Time › Year na Wiersze.
Ciekawszy MDX:
WITH MEMBER [Measures].[YoY Growth] AS ([Measures].[Revenue], [Time].CURRENTMEMBER) / ([Measures].[Revenue], [Time].CURRENTMEMBER.PREVMEMBER) - 1, FORMAT_STRING = '0.0%'SELECT { [Measures].[Revenue], [Measures].[YoY Growth] } ON COLUMNS, { [Time].[Year].MEMBERS } ON ROWSFROM [Sales]To dodaje procent wzrostu rok-do-roku jako miarę obliczaną — workbench mógłby wyprodukować podobny wynik przez okno calculated members, ale napisanie tego jako MDX daje Ci dokładną kontrolę.
Przydatne wzorce MDX
Kilka wzorców wartych poznania:
TOPCOUNT(set, n, expression)— top-N po mierze. Np.TOPCOUNT([Customer].[Name].MEMBERS, 10, [Measures].[Revenue])daje 10 klientów o najwyższym przychodzie.FILTER(set, predicate)— ogranicz zbiór.FILTER([Region].[Name].MEMBERS, [Measures].[Revenue] > 1000000)zatrzymuje tylko regiony z przychodem ponad milion.PARALLELPERIOD— ten sam okres rok temu. Czyściej niż ręczne odejmowanie1od poziomu roku.NON EMPTYna zbiorze — wyrzuca wiersze lub kolumny z all-null miarami, ekwiwalent przełącznika Non-Empty workbencha.
Głębsza referencja MDX: dokumentacja MDX Microsoft jest standardem. Mondrian (silnik za Saiku) implementuje większość standardowego MDX z kilkoma dziwactwami udokumentowanymi w upstreamowych dokumentach Mondrian.
Eksport danych
Pasek narzędzi ma trzy przyciski eksportu. Produkują różne rzeczy dla różnych odbiorców.
Eksport do Excel (XLSX)
Co dostajesz: plik .xlsx z tabelą wynikową sformatowaną jako
arkusz. Struktura pivota (wiersze, kolumny, sumy) jest zachowana.
Wiele miar staje się wieloma kolumnami. Dzieci drillthrough stają
się wciętymi wierszami w tym samym arkuszu.
Najlepsze do: przekazania komuś, kto będzie dalej analizował w Excelu, gdzie kształt pivota jest przydatny.
Eksport do CSV
Co dostajesz: zwykły CSV z jednym wierszem na komórkę tabeli wynikowej. Wiersz nagłówka niesie nazwy kolumn. Sumy są wykluczone domyślnie (CSV z mieszanymi wierszami suma + szczegół jest mylące dla parserów downstream).
Najlepsze do: rurkowania do innego narzędzia — skryptu Python, narzędzia BI, hurtowni danych, czegokolwiek, co chce danych tabularycznych.
Eksport do PDF
Co dostajesz: renderowanie PDF bieżącego widoku — tabeli wynikowej ALBO wykresu, w zależności od tego, co pokazane. Wielostronicowe wyjście dla dużych tabel; wykres mieści się na jednej stronie.
Najlepsze do: wklejania do raportu, mailowania jako migawka, archiwizowania konkretnego odkrycia razem z jego wizualną postacią.
Eksport drillthrough
Prawy klik dowolnej komórki w wyniku i wybór Eksportuj drillthrough. To omija agregację kostki całkowicie i eksportuje surowe wiersze tabeli faktów leżące pod tą jedną komórką. Przydatne, gdy ktoś kwestionuje liczbę, a Ty chcesz mu wysłać bazowe rekordy.
Eksporty drillthrough są tylko CSV, celowo — surowe wiersze nie mają struktury pivota do zachowania.
Kiedy używać którego eksportu
- CSV, gdy dane idą gdzieś indziej do dalszego przetwarzania.
- Excel, gdy człowiek będzie dalej pracował z danymi w Excelu.
- PDF, gdy wyjście to ostateczny deliverable — migawka do raportu, załącznik mailowy, share-out z share-screena.
- Drillthrough, gdy potrzebujesz bazowych wierszy za konkretną zagregowaną liczbą.
Uwaga o limitach wierszy
Saiku nie ogranicza sztucznie rozmiaru eksportu, ale bazowe zapytanie hurtowni musi się skompletować. Drillthrough na milion wierszy chwilę zajmuje wykonanie i chwilę pobieranie. Jeśli rutynowo eksportujesz setki tysięcy wierszy, rozważ, czy agregacja kostki robi to, co powinna — cały sens OLAP to podsumowywanie, nie zrzucanie wierszy.
Co dalej
- Budowanie zapytania — alternatywa workbenchowa dla MDX.
- Wyciąganie wniosków z danych — jak sprawić, by eksport był faktycznie przydatny dla odbiorcy.