W niektórych przypadkach ilość danych, które chcemy przeanalizować w Qlik Sense może okazać się zbyt duża, aby załadować je wprost na serwer. Przykładem mogą być np. szczegółowe dane ze sprzedaży z paragonów, logi systemów czy dane produkcyjne.
W niniejszym artykule posłużymy się przykładem analizy sprzedaży w wielu sklepach danej fikcyjnej firmy w USA. Ilość rekordów zawierających informacje z poszczególnych pozycji na paragonach wynosi 28 800 239 865 – rozmiar tej tabeli w bazie Snowflake wynosi 1,3TB. Taka ilość danych jest za duża, aby załadować ją na nasz serwer Qlik Sense. Częściowym rozwiązaniem tego problemu może być zagregowanie danych wg. wskazanych wymiarów – dane będzie się dało wtedy załadować, natomiast stracimy dużą ilość szczegółów nt. poszczególnych transakcji, co ograniczy możliwość głębokiej eksploracji danych.
Z pomocą przychodzą dwie funkcjonalności Qlik Sense’a – ODAG oraz Dynamic views.
ODAG jest funkcjonalnością Qlik Sense, która pozwala na generowanie aplikacji na życzenie z wybranym wcześniej zakresem danych szczegółowych. Jak to działa? Musimy wcześniej przygotować dwie aplikacje:
1. Aplikację do określania zakresu danych szczegółowych
2. Aplikację będącą szablonem do analizy danych szczegółowych
Pierwsza aplikacja zawiera zagregowane dane wg. wymiarów, których chcemy użyć do stworzenia aplikacji z danymi szczegółowymi. Dane agregujemy np. wg. dnia sprzedaży i sklepu, a następnie liczymy ile transakcji miało miejsce. Tak jak widać na przykładzie poniżej, wyliczona jest również całkowita sprzedaż, koszty i zysk. Widoczna jest całkowita ilość dostępnych rekordów ze szczegółami.
W przykładzie założyliśmy, że maksymalna ilość rekordów ze szczegółami, z których chcemy stworzyć aplikację szczegółową to 100 000. Wybieramy dwa sklepy i konkretny dzień.
Po wygenerowaniu aplikacji przechodzimy do niej i analizujemy dane szczegółowe. Czas generowania aplikacji w naszym przypadku, gdzie dane pochodzą z bazy Snowflake wynosi poniżej minuty. Mamy dostęp do informacji na temat poszczególnych transakcji takich jak: godzina sprzedaży, produkt, ilość, wartość sprzedaży, wartość kosztu i zysk.
Aplikacje spełniają swoje określone role w analizie danego zagadnienia. W naszym przypadku pierwsza aplikacja z danymi zagregowanymi może posłużyć do analizy sprzedaży w całym kraju, w poszczególnych stanach i dniach, a aplikacja szczegółowa pozwala zwiększyć granulację danych do poziomu pojedynczych transakcji w sklepach.
Schemat działania ODAG, źródło: https://help.qlik.com/en-US/sense/June2020/Subsystems/Hub/Content/Sense_Hub/DataSource/Manage-big-data.htm
Rozwiązanie, które w Qlik Sense Enterprise pojawiło się w wersji April 2020 jest podobne do działania ODAG z tą różnicą, że użytkownik nie musi przenosić się do drugiej aplikacji, aby przeanalizować dane szczegółowe, gdyż są one zintegrowane z aplikacją zasadniczą.
Podobnie jak w przypadku ODAG, musimy wcześniej przygotować aplikację z szablonem do analizy danych szczegółowych, lecz docelowo użytkownicy nie będą z niej korzystali, będzie ona pełniła rolę techniczną. Wykorzystujemy z niej poszczególne wykresy poprzez osadzanie ich w aplikacji zasadniczej.
Aplikacja zasadnicza (oparta na modelu danych z danymi zagregowanymi) składa się z:
Wiemy, że istnieje w bazie 28 800 239 865 rekordów ze szczegółami transakcji, które musimy ograniczyć do założonych 100 000 rekordów.
Wybieramy dwa sklepy i jeden dzień, a następnie klikamy przycisk odpowiedzialny za odświeżenie osadzonych wykresów. Dane pobierane są w tle zgodnie z nałożonymi filtrami.
Po chwili wykresy oparte na danych szczegółowych zostają wyświetlone. Widoczny drugi panel filtrowania pozwala nam na dokonywanie selekcji w obrębie danych szczegółowych, dzięki czemu możemy je analizować w najwyższej dostępnej granulacji (na poziomie rekordów ze szczegółami transakcji).
Dynamic Views pozwalają nam na łączenie dwóch aplikacji w jedną, która zawiera dane zagregowane oraz dane szczegółowe, które wyświetlane są na życzenie użytkownika.
Aby móc tworzyć aplikacje ODAG lub używać Dynamic Views należy najpierw włączyć te funkcjonalności na serwerze Qlik Sense. W QMC w sekcji „On-demand app service” zaznaczamy poszczególne tickbox’y.
Osobiście polecam wykorzystanie kreatora, który jest dostępny za darmo, jako narzędzie działające na serwerze Qlik Sense, które zdecydowanie upraszcza tworzenie aplikacji pod ODAG i Dynamic Views. Opisany jest również krok po kroku cały proces tworzenia pierwszej aplikacji tego typu i polecam zacząć od tego miejsca: https://github.com/QlikPreSalesDACH/odag_wizard
Kreator pomaga nam wygenerować skrypt dla aplikacji-szablonu ze szczegółami. Źródłem może być plik QVD, baza SQL, lub Google BigQuery – z nimi pomoże nam kreator. W przypadku gdy dane mają pochodzić z innego miejsca, należy odpowiednio dostosować skrypt aplikacji, tak, aby zapytanie wybierające ze źródła dane szczegółowe było poprawne.
Dokumentacja ODAG’a: https://help.qlik.com/en-US/sense/June2020/Subsystems/Hub/Content/Sense_Hub/DataSource/Manage-big-data.htm
Dokumentacja Dynamic views: https://help.qlik.com/en-US/sense/June2020/Subsystems/Hub/Content/Sense_Hub/DynamicViews/dynamic-views.htm
W trybie edycji w panelu zasobów pojawią się nowe opcje.