Najlepsze praktyki w zakresie modelowania danych

W tej sekcji opisano różne sposoby ładowania danych do dokumentu QlikView w zależności od struktury danych i docelowego modelu danych.

Ogólnie rzecz biorąc, sposób ładowania danych do dokumentu może być wyjaśniony w ramach procesu wyodrębnienia, przekształcenia i ładowania danych.

  1. Wyodrębnienie

    Pierwszym etapem jest wyodrębnienie ze źródłowej bazy danych. W celu zdefiniowania tego procesu w skrypcie korzysta się z instrukcji SELECT lub LOAD. Różnice między tymi instrukcjami są następujące:

    • Instrukcja SELECT wybiera dane ze źródła danych ODBC lub systemu dostawcy OLE DB. Instrukcja SQL SELECT jest oceniana przez dostawcę danych, nie przez QlikView.
    • Instrukcja LOAD ładuje pola z pliku, z danych zdefiniowanych w skrypcie, z wcześniej załadowanej tabeli, ze strony internetowej, z wyniku późniejszej instrukcji SELECT lub przez automatyczne wygenerowanie danych.
  2. Przekształć

    Faza przekształcenia obejmuje przetwarzanie danych za pomocą funkcji i reguł skryptu w celu uzyskania pożądanej struktury modelu danych. Typowe działania na tym etapie to:

    • Obliczanie nowych wartości
    • Tłumaczenie zaszyfrowanych wartości
    • Zmiana nazw pól
    • Łączenie tabel
    • Agregacja wartości
    • Tworzenie tabel przestawnych
    • Weryfikacja danych
  3. Ładuj

    Na ostatnim etapie uruchamiany jest skrypt służący do załadowania do dokumentu zdefiniowanego modelu danych.

Celem użytkownika powinno być stworzenie modelu danych umożliwiającego efektywne przetwarzanie danych w programie QlikView. Zwykle oznacza to, że należy dążyć do sensownie znormalizowanego schematu w układzie gwiazdy lub płatka śniegu bez odwołań cyklicznych, czyli takiego modelu, w którym każda encja jest przechowywana w osobnej tabeli. Innymi słowy, typowy model danych wygląda następująco:

  • centralna tabela faktów zawierająca klucze do wymiarów oraz liczby używane do obliczania miar (np. liczbę jednostek, kwoty sprzedaży i wysokości budżetów);
  • tabele otaczające zawierające wymiary wraz ze wszystkimi atrybutami (np. produkty, klienci, kategorie, kalendarz i dostawcy).
Uwaga: W wielu przypadkach, na przykład przy agregacjach, istnieją dwa sposoby wykonania tego samego zadania: albo poprzez zbudowanie bogatszego modelu danych w skrypcie ładowania, albo poprzez wykonanie agregacji w wyrażeniach wykresu. Wykonanie transformacji danych w skrypcie ładowania zazwyczaj daje lepszą wydajność.
Porada: Dobrą praktyką jest szkicowanie tworzonego modelu danych na kartce. Pomaga to w ustaleniu wyodrębnianych danych i wykonywanych przekształceń.

Każda tabela w takim modelu danych zazwyczaj odpowiada instrukcji SELECT lub LOAD. Różnice między tymi instrukcjami są następujące:

  • Instrukcja SELECT wybiera dane ze źródła danych ODBC lub systemu dostawcy OLE DB. Instrukcja SQL SELECT jest oceniana przez dostawcę danych, nie przez QlikView.
  • Instrukcja LOAD ładuje pola z pliku, z danych zdefiniowanych w skrypcie, z wcześniej załadowanej tabeli, ze strony internetowej, z wyniku późniejszej instrukcji SELECT lub przez automatyczne wygenerowanie danych.