Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Najlepsze praktyki w zakresie modelowania danych

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

Przekształcenie kolumn z danymi w wiersze

Poniższe dane trzeba przekształcić tak, aby wartości sprzedaży znajdowały się w oddzielnym polu:

Oryginalna tabela danych
RokQ1Q2Q3Q4
201334545352
201447566567
201557566371

Proponowane działanie  

W tym celu po załadowaniu tabeli należy użyć prefiksu Crosstable.

Rezultat będzie następujący:

Tabela po zastosowaniu prefiksu Crosstable
Year Quarter Sales
2013 Q1 34
2013Q254
2013Q353
2013Q452
2014Q147
.........

Więcej informacji o tabelach przestawnych zawierają tematy Praca ze tabelami krzyżowymi w skrypcie ładowania danych i Crosstable.

Przekształcenie wierszy z danymi w pola

Poniższą tabelę ogólną z trzema polami trzeba przekształcić tak, aby każdy atrybut znajdował się w oddzielnej tabeli.

Tabela ogólna z trzema polami
Object Attribute Value
ball color red
balldiameter25
ballweight3
boxcolor56
boxheight30
boxlength20
boxwidth25

Proponowane działanie  

W tym celu należy utworzyć ogólny model danych za pomocą prefiksu Ogólne.

W rezultacie powstanie poniższy model danych.

Ogólny model danych.

Więcej informacji o danych ogólnych zawierają tematy Ogólne bazy danych i Generic.

Ładowanie danych uporządkowanych według poziomów hierarchicznych (na przykład schematu organizacyjnego)

Dane są przechowywane w podobnej do poniższej tabeli węzłów sąsiadujących.

Tabela węzłów sąsiadujących
NodeID ParentNodeID Title
1 - General manager
21Country manager
32Region manager

Proponowane działanie  

Aby utworzyć tabelę węzłów rozwiniętych, należy załadować dane za pomocą prefiksu Hierarchia.

Tabela węzłów rozwiniętych
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
21Country managerGeneral managerCountry manager-
32Region managerGeneral managerCountry managerRegion manager

Więcej informacji o poziomach hierarchicznych zawierają tematy Ładowanie danych hierarchii i Hierarchy.

Ładowanie z dużej bazy danych tylko rekordów nowych lub zaktualizowanych

Baza danych zawiera bardzo dużą liczbę rekordów i trzeba uniknąć przeładowania całej bazy danych w celu odświeżenia danych w aplikacji. Należy jedynie załadować rekordy nowe lub zaktualizowane i usunąć rekordy usunięte z bazy danych.

Proponowane działanie  

Należy zastosować funkcję ładowania przyrostowego za pomocą plików QVD.

Więcej informacji zawiera temat Ładowanie nowych i zaktualizowanych rekordów za pomocą funkcji ładowania przyrostowego.

Łączenie danych z dwóch tabel za pomocą wspólnego pola

Program Qlik Sense automatycznie powiąże tabele ze wspólnym polem, ale potrzebna jest kontrola nad sposobem połączenia tabel.

Proponowane działanie : Join / Keep

Dwie tabele można połączyć w jedną tabelę wewnętrzną za pomocą prefiksów Join lub Keep.

Więcej informacji zawiera temat Łączenie tabel operatorami Join i Keep.

Proponowane działanie : Mapowanie

Alternatywą dla łączenia tabel jest skorzystanie z funkcji mapowania, która automatyzuje wyszukiwanie powiązanych wartości w tabeli mapowania. Może to zmniejszyć ilość danych do załadowania.

Więcej informacji zawiera temat Korzystanie z funkcji mapowania jako alternatywy dla funkcji sprzężenia.

Dopasowywanie wartości dyskretnej do interwału

Poniższą tabelę numerycznych wartości dyskretnych (Event) trzeba dopasować do co najmniej jednego interwału (Start i End).

Tabela numerycznych wartości dyskretnych (Event)
CzasZdarzenieKomentarz
00:000Początek zmiany 1
01:181Zatrzymanie linii
02:232Restart linii na 50%
04:153Szybkość linii 100%
08:004Początek zmiany 2
11:435Koniec lub produkcja
Tabela z interwałami (Start i End)
RozpocznijKoniecKolejność
01:0003:35A
02:3007:58B
03:0410:27C
07:2311:43D

Proponowane działanie  

Należy skorzystać z prefiksu IntervalMatch, aby połączyć pole Time z interwałem zdefiniowanym przez wartości Start i End.

Więcej informacji zawiera temat Dopasowywanie interwałów do danych dyskretnych.

Jeśli interwał nie jest wyraźnie zdefiniowany za pomocą wartości Start i End, a wyłącznie za pomocą znacznika czasu zmiany (jak w tabeli poniżej), należy utworzyć tabelę interwałów.

Tabela ze znacznikiem czasu zmiany
WalutaData wymianyOcena
EUR-8.59
EUR28/01/20138.69
EUR15/02/20138.45
USD-6.50
USD10/01/20136.56
USD03/02/20136.30

Więcej informacji zawiera temat Tworzenie interwałów na podstawie daty.

Postępowanie z niespójnymi wartościami pól

W dostępnych danych znajdują się wartość pól, które są niespójnie nazwane w różnych tabelach. Na przykład jedna tabela zawiera wartość US jako nazwę kraju, a druga tabela zawiera wartość United States jako nazwę kraju. Taka sytuacja uniemożliwia tworzenie asocjacji.

Tabela 1
KrajRegion
USAMaryland
USAIdaho
USANew York
USAKalifornia
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

Proponowane działanie  

Należy przeprowadzić proces czyszczenia danych za pomocą tabeli mapowania w celu porównania wartości pól i pozwala na tworzenie prawidłowych asocjacji.

Więcej informacji zawiera temat Czyszczenie danych.

Postępowanie z wartościami pól, których wielkości liter są różne

W dostępnych danych znajdują się wartość pól, które są niespójnie sformatowane w różnych tabelach. Na przykład jedna tabela zawiera wartość single w polu Type, a inna tabela zawiera Single w tym samym polu. Taka sytuacja uniemożliwi asocjacje, a ponieważ pole Type będzie zawierało wartości single oraz Single, dlatego istotna okazuje się wielkość znaków.

Tabela 1
TypCena
Pojedyncze23
DOUBLE39
Tabela 2
TypKolor
PojedynczeCzerwony
PojedynczeNiebieski
DOUBLEBiały
DOUBLECzarny

Proponowane działanie  

Jeśli dane zostały załadowane za pomocą opcji Dodaj dane, wówczas można to skorygować w menedżerze danych.

  1. W menedżerze danych otwórz tabelę Table2 w edytorze tabel.
  2. Zmień nazwę pola Type na Table2.Type.

    Jeśli tabela została dodana za pomocą opcji Dodaj dane z włączonym profilowaniem danych, wówczas pole może mieć już nazwę Table2.Type, co zapobiega automatycznemu tworzeniu asocjacji. W takim przypadku ta procedura spowoduje asocjację tych dwóch tabel.

  3. Utwórz pole wyliczane za pomocą wyrażenia Lower(Table2.Type) i nadaj mu nazwę Type.
  4. Kliknij polecenie Ładuj dane.

Tabele Table1 i Table2 powinny być już powiązane przez pole Type, które zawiera tylko wartości zapisane małymi literami, na przykład single oraz double.

Jeśli wymagane jest użycie innej wielkości liter, można to osiągnąć podobnymi sposobami, ale należy pamiętać o tym, że pola o takiej samej nazwie spowodują asocjację tabel.

  • Aby uzyskać wszystkie wartości z pierwszą wielką literą, na przykład Single, należy utworzyć pole wyliczane Type w tabeli Table1, a następnie użyć wyrażenia Capitalize(Table1.Type).
  • Aby uzyskać wszystkie wartości zapisane wielkimi literami, na przykład SINGLE, należy utworzyć pole wyliczane Type w obu tabelach, i odpowiednio użyć wyrażeń Upper(Table1.Type) i Upper(Table2.Type).

Więcej informacji o polach wyliczanych zawiera temat Korzystanie z pól obliczanych.

Więcej informacji o pisowni z wielkiej litery zawierają tematy Capitalize funkcja skryptu i funkcja wykresu, Lower funkcja skryptu i funkcja wykresu i Upper funkcja skryptu i funkcja wykresu.

Ładowanie danych geoprzestrzennych w celu wizualizacji danych za pomocą mapy

Trzeba zwizualizować dane za pomocą mapy, na przykład dane sprzedaży według kraju lub sklepu. Aby skorzystać z wizualizacji danych na mapie, trzeba załadować dane dotyczące obszarów lub punktów.

Proponowane działanie  

Można też załadować dane dotyczące obszarów lub punktów, które pasują do lokalizacji wartości danych z pliku KML lub pliku programu Excel. Ponadto należy załadować tło odpowiedniej mapy.

Więcej informacji zawiera temat Ładowanie danych Twojej mapy.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać!