BI

Zarządzanie danymi w Self-service BI na przykładzie Qlik Sense

Sierpień 9, 2018 3
Podziel się:

U podstaw Self-service BI leży przeświadczenie, że każdy kto pracuje z danymi powinien móc w prosty sposób, bez udziału IT uporządkować swoje dane. Wchodzi tu w grę samoobsługa w kwestii połączenia się ze źródłem danych, wizualizacji tych danych oraz udostępnienia wyników. We wpisie chciałabym się skupić na możliwościach pozyskania danych i ich modyfikacji, jakie dają systemy Self-service BI. Dla przykładu, poniżej scharakteryzowałam pod tym kątem program Qlik Sense.

Na zarządzanie danymi w Qlik Sense pozwalają trzy moduły: menedżer danych, edytor ładowania danych oraz przeglądarka modelu danych.

Do wprowadzania danych w Qlik Sense służy moduł menedżer danych. Za jego pomocą możemy pobrać dane na różne sposoby:

  • Zdefiniować połączenia do zewnętrznych źródeł danych. Tu dostępnych jest wiele konektorów do różnych rozwiązań bazodanowych (np. MS SQL Server, IBM DB2, Oracle), chmurowych (np. Amazon Redshift), big data (np. Apache Hive, Google BigQuery), Salesforce, Dropbox, a także plików sieci Web, serwisów REST i innych źródeł.
  • Zdefiniować ścieżkę do pliku lokalnego lub sieciowego.
  • Wprowadzić dane z klawiatury za pomocą edytora do wprowadzania ręcznego.
  • Możemy również skorzystać z danych zawartych w Qlik DataMarket. Jest to usługa dostępu do danych zewnętrznych. W jej ramach dostępny jest bezpłatnie zestaw danych demograficzno-ekonomicznych – Essentials Free (np. % PKB, inflacja, kursy walut). Dostępne tam dane są co prawda na dość ogólnym poziomie szczegółowości, niemniej jednak takie zestawienie może wzbogacić niektóre analizy.

Po zdefiniowaniu dostępów do źródeł i wyborze interesujących nas tabel Qlik Sense automatycznie tworzy asocjacje, czyli powiązania pomiędzy wszystkimi danymi. W menedżerze danych domyślnie włączona jest opcja tzw. profilowania danych. Oznacza to, że złączenia między tabelami powstają na podstawie identycznych nazw pól w różnych tabelach. Jeżeli nadamy odpowiednie nazwy w polach kluczy, efektem końcowym będzie gotowy model danych. W przypadku dwóch identycznych nazw pól w dwóch różnych tabelach Qlik Sense tworzy klucz syntetyczny. Przy automatycznym generowaniu asocjacji należy zwrócić uwagę czy w tabelach takich nie występują pola nie będące kluczem, a posiadające tą samą nazwę np. Opis. Ważnym aspektem jest też zróżnicowanie pól odmiennych znaczeniowo np. data zamówienia i data wysyłki.

Dane w menedżerze danych możemy oglądać w dwóch widokach: Tabele i Asocjacje. Widok Tabele pokazuje nam zestaw wybranych tabel i umożliwia nam ich edycję. W ramach edycji program pozwala nam na takie operacje jak zmiana nazw pól, zmiana typu pól, tworzenie pól wyliczanych, tworzenie pól na podstawie wyodrębnienia części tekstu z istniejących wartości np. kod pocztowy z pola adres, sortowanie wartości, aliasowanie wartości.

Menedżer danych - widok 'Tabele'

Widok Asocjacje przedstawia graficzną ilustrację powiązań między tabelami. W przypadku gdy potrzebujemy zmodyfikować automatyczne powiązania lub stworzyć własne, mamy możliwość zbudowania asocjacji niestandardowej poprzez wskazanie odpowiednich pól i tabel, które mają zostać powiązane. W przypadku, gdy dwie tabele mają taką samą liczbę pól o identycznych nazwach zostaną one skonkatenowane (automatycznie połączone, odpowiednik w SQL polecenia UNION). Konkatenację podobnie jak powiązania niestandardowe możemy budować ręcznie wskazując odpowiednie tabele.

Menedżer danych - widok 'Asocjacje'Kolejnym krokiem jest ładowanie danych do aplikacji poprzez naciśnięcie przycisku Ładuj dane dostępnego zarówno w widoku asocjacji, jak i w widoku tabel.

Menedżer danych pozwala załadować dane do aplikacji w kilku prostych krokach opisanych powyżej. Qlik Sense udostępnia również narzędzie – Edytor ładowania danych, który pozwala załadować dane za pomocą skryptu.

W skrypcie również tworzymy definicje połączeń do zewnętrznych źródeł danych, listujemy tabele i pola, które mają zostać załadowane do aplikacji oraz możemy tą strukturą danych manipulować używając poleceń skryptu do transformacji i modyfikacji danych. Przykładami przekształceń mogą być dodawanie pól wyliczanych, słownikowanie, zmiana nazw pól, agregowanie wartości, tworzenie tabel przestawnych. W skrypcie mamy również możliwość nadpisywania definicji systemu operacyjnego zmiennymi systemowymi np. DayNames, która zwróci nam skrócone nazwy dni tygodnia ‘pon.’, ‘wt.’, śr.’ i tak dalej. Pisząc skrypt warto podzielić go na sekcje, pomoże to w utrzymaniu i zarządzaniu kodem.  Sekcje wykonywane są przez program w takiej kolejności jak są wyświetlone. Skrypt ładowania należy zapisać i uruchomić w żądanym momencie. Uruchomienie skryptu jest równoznaczne z jego zapisaniem.Edytor ładowania danych

Zarządzanie tabelami dodanymi w menedżerze danych odbywa się przez menedżera danych, natomiast tabele dodane w edytorze ładowania danych edytujemy z poziomu skryptu. Podczas dodawania tabel w menedżerze danych generowany jest automatycznie również skrypt, który możemy obejrzeć w edytorze ładowania danych w sekcji wygenerowanej automatycznie. Możemy tą sekcję odblokować i modyfikować za pomocą skryptu, ale należy pamiętać, że jest to równoznaczne z utratą kontroli i edycji z poziomu menedżera danych.

Załadowane dane przechowywane są w aplikacji, a uruchomiona aplikacja jest ładowana do pamięci operacyjnej komputera. Aplikacja podczas analiz korzysta z załadowanych danych, zatem analizy są wykonywane bez połączenia ze źródłem danych. W celu uzyskania aktualnych danych wymagane jest przeładowanie aplikacji. Ładowanie danych jest dostępne całościowe lub przyrostowe (jest niedostępne z poziomu Qlik Sense Cloud). Ładowanie przyrostowe możliwe jest dzięki plikom QVD. QVD czyli QlikView Data to format właściwy dla Qlik, do odczytu i zapisu tego formatu mają prawo tylko programy QlikView i Qlik Sense. Plik zawiera wyeksportowane z aplikacji dane i jest zoptymalizowany pod kątem uzyskania maksymalnej szybkości odczytu.

Wynikowa struktura danych w aplikacji może być monitorowana za pomocą przeglądarki modelu danych. W tym module w prosty sposób możemy też zdefiniować miary i wymiary, które posłużą do zbudowania aplikacji. Utworzone w ten sposób obiekty będą dostępne na karcie elementów głównych w panelu zasobów w trybie edycji aplikacji. Chciałabym zwrócić uwagę, że przeglądarka modelu danych jest dostępna dopóki aplikacja nie zostanie opublikowana. Po opublikowaniu aplikacji użytkownicy mają dostęp do wymiarów i miar, ale nie są w stanie ich modyfikować.Przeglądarka modelu danych

Korzystając z Qlik Sense trzeba mieć świadomość pewnych ograniczeń, jakie nakłada na nas program. W tym miejscu przytoczę ograniczenia związane z ładowaniem danych. Głównym ograniczeniem, z którym spotkamy się na tej płaszczyźnie jest wymaganie sprzętowe, a mianowicie ilość pamięci operacyjnej komputera. Będzie ona determinowała liczbę możliwych do ładowania pól, tabel danych oraz komórek i wierszy. Dodatkowym ograniczeniem jest ograniczenie na liczbę różnych wartości w jednym polu i wynosi 2 147 483 648. Natomiast, pojedyncza sekcja skryptu ładowania nie powinna być dłuższa niż 50 000 znaków.

Zachęcam do rozpoczęcia przygody instalując Qlik Sense w wersji Desktop, do pobrania za darmo ze strony producenta: https://www.qlik.com/pl-pl/try-or-buy (pełna funkcjonalność, z ograniczeniem możliwości dzielenia się raportami z innymi) lub też zakładając konto na Qlik Sense Cloud: https://qlikcloud.com/ (możliwość dzielenia się utworzonymi analizami z 5 użytkownikami; w wersji darmowej ograniczony rozmiar danych do 25 MB na aplikację oraz 250 MB na wszystkie aplikacje).

5 / 5
Kategorie: BI

Imię i nazwisko (wymagane)

Adres email (wymagane)

Temat

Treść wiadomości

komentarze(3)

avatar'
Łukasz Główka
13 sierpnia 2018 Odpowiedz

Cześć, Zainteresował mnie temat o którym piszesz. W związku z tym mam kilka pytań. Czym jest pojawiająca się w tekście "Aplikacja"? Czy to coś w rodzaju raportu? Czy raporty stworzone przez użytkowników są w jakiś sposób ewidencjonowane lub zarządzalne przez administratora? Czy rapoty/Aplikacje mogą być odświeżanie zgodnie z harmonogramem i czy mogą być rozsyłane do odbiorców?

avatar'
Monika Wojciechowska
14 sierpnia 2018 Odpowiedz

Cześć, cieszę się, że temat wzbudził Twoje zainteresownie.
Aplikacja jest tu rozumiana jako samodzielny obiekt zawierający dane przeznaczone do analizy w ramach opracowanego modelu danych. Na warstwę bazową aplikacji składa się skrypt służący do ładowania danych (połączenie ze źródłem i pobranie danych), semantyczny model danych oraz zdefiniowane miary i wymiary. Na tej podstawie można budować warstwę wizualizacji, w której arkusze i zakładki stanowią wynikowe "raporty". Raporty te są interaktywne i pozwalają na dynamiczną analizę danych. Utworzone w ten sposób aplikacje użytkownicy mogą współdzielić i publikować w chmurze lub na serwerze w zależności od posiadanej licencji. Natomiast harmonogramowanie i rozsyłanie raportów do odbiorców najsprawniej odbywa się w module Qlik NPrinting.

avatar'
Riu
16 sierpnia 2018 Odpowiedz

Warto dopowiedzieć kilka rzeczy. Warstwę prezentacji można wyciągnąć poza serwer Qlika, co może być przewagą względem innych podobnych rozwiązań. Np gdy klient chce swoje kolory, swój layout, można wyciągnąć tylko wykresy i dzięki możliwościom autoryzacji do systemu stworzyć aplikacje w której nie widać że to Qlik ;)
Co do ograniczeń związanych z obliczeniami - niestety to prawda, serwer się "grzeje". Myślę, że warto tutaj wspomnieć o tym, że właśnie kwestia wydajności była chyba jednym z powodów pójścia w linuxa przy Qlik Core - zobaczymy ten problem się rozwiąże.

Zostaw komentarz