Tips voor het gebruik van gegevensmodellen

In dit hoofdstuk wordt een aantal verschillende manieren beschreven om gegevens in de Qlik Sense-app te laden, afhankelijk van hoe de gegevens zijn gestructureerd en welk gegevensmodel u wilt bereiken.

Gegevenskolommen in rijen veranderen

Mijn gegevens zien er vermoedelijk als volgt uit en ik wil graag in een apart veld over de verkoopcijfers beschikken:

Oorspronkelijke gegevenstabel
Jaar Q1 Q2 Q3 Q4
2013 34 54 53 52
2014 47 56 65 67
2015 57 56 63 71

Proposed action  

Gebruik het prefix Crosstable bij het laden van de tabel.

Het resultaat ziet er als volgt uit:

Tabel na het toepassen van het prefix Crosstable
Year Quarter Sales
2013 Q1 34
2013 Q2 54
2013 Q3 53
2013 Q4 52
2014 Q1 47
... ... ...

Zie ,Werken met kruistabellen in het load-script voor gegevens en Crosstable voor meer informatie over kruistabellen (crosstables).

Gegevensrijen in velden veranderen

Ik beschik over een generieke tabel met drie velden die er ongeveer als volgt uitzien en ik wil elk kenmerk weergeven als een aparte tabel:

Generieke tabel met drie velden
Object Attribute Value
ball color red
ball diameter 25
ball weight 3
box color 56
box height 30
box length 20
box width 25

Proposed action  

Maak een generiek gegevensmodel met het laadprefix Generic.

U krijgt dan een gegevensmodel dat er ongeveer als volgt uitziet:

Generic data model.

Zie Generieke databases en Generic voor meer informatie over generieke gegevens.

Gegevens laden die zijn geordend in hiërarchische niveaus, bijvoorbeeld een organisatieschema

Mijn gegevens zijn opgeslagen in een tabel met nabijgelegen knooppunten die er ongeveer als volgt uitziet:

Tabel met nabijgelegen knooppunten
NodeID ParentNodeID Title
1 - General manager
2 1 Country manager
3 2 Region manager

Proposed action  

Laad de gegevens met het prefix Hierarchy om een uitgebreide knooppuntentabel te maken:

Tabel met uitgebreide knooppunten
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
2 1 Country manager General manager Country manager -
3 2 Region manager General manager Country manager Region manager

Zie Hiërarchiegegevens laden en Hierarchy voor meer informatie over hiërarchische niveaus.

Alleen nieuwe of bijgewerkte records laden vanuit een grote database

Ik heb een database met een groot aantal records en ik wil niet de hele database opnieuw laden om de gegevens in mijn app te vernieuwen. Ik wil alleen nieuwe of bijgewerkte gegevens laden en records verwijderen die uit de database zijn verwijderd.

Proposed action  

Implementeer een incrementele laadoplossing met QVD-bestanden.

Ga voor meer informatie naar Nieuwe en bijgewerkte records laden via incrementeel laden.

Gegevens uit twee tabellen combineren met een gemeenschappelijk veld

Qlik Sense koppelt automatisch tabellen met een gemeenschappelijk veld, maar ik wil zelf bepalen hoe de tabellen worden gecombineerd.

Proposed action : Join / Keep

U kunt twee tabellen combineren in een enkele interne tabel met de prefixen Join of Keep.

Ga voor meer informatie naar Tabellen samenvoegen met Join en Keep.

Proposed action : Mapping

Een alternatief voor het samenvoegen van tabellen is het gebruik van toewijzing, waarbij het opzoeken van gekoppelde waarden wordt geautomatiseerd in een toewijzingstabel. Hiermee kan de hoeveelheid te laden gegevens worden verminderd.

Ga voor meer informatie naar Mapping gebruiken als alternatief voor joins.

Een discrete waarde afstemmen op een interval

Ik heb een tabel met discrete numerieke waarden (Event) en ik wil deze afstemmen op een of meer intervallen (Start en End).

Tabel met discrete numerieke waarden (Event)
Time Gebeurtenis Opmerking
00:00 0 Begin van shift 1
01:18 1 Stoppen van de band
02:23 2 Opnieuw starten van de band 50%
04:15 3 Snelheid van de band 100%
08:00 4 Begin van shift 2
11:43 5 Einde van productie
Tabel met intervallen (Start en End)
Begin End Volgorde
01:00 03:35 A
02:30 07:58 B
03:04 10:27 C
07:23 11:43 D

Proposed action  

Gebruik de prefix IntervalMatch om het veld Time te koppelen aan het interval dat door Start en End wordt gedefinieerd.

Ga voor meer informatie naar Overeenkomende intervallen voor discrete gegevens.

Als het interval niet expliciet wordt gedefinieerd met start en end, maar alleen met een wijzigingstijdstempel zoals in de onderstaande tabel, moet u een intervaltabel maken.

Tabel met een wijzigingstijdstempel
Valuta Wijzigingsgegevens Rate
EUR - 8.59
EUR 28/01/2013 8.69
EUR 15/02/2013 8.45
USD - 6.50
USD 10/01/2013 6.56
USD 03/02/2013 6.30

Ga voor meer informatie naar Een datuminterval maken op basis van een enkele datum.

Omgaan met inconsistente veldwaarden

Mijn gegevens bevatten veldwaarden die geen consistente naamgeving hebben in verschillende tabellen. Zo bevat één tabel bijvoorbeeld de waarde US in Land terwijl andere tabel de waarde United States bevat. Deze situatie zorgt ervoor dat er geen koppelingen tot stand kunnen worden gebracht.

Tabel 1
Land: Regio
VS Maryland
VS Idaho
VS New York
VS Californië
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

Proposed action  

Schoon de gegevens op met een toewijzingstabel, waarbij veldwaarden worden vergeleken en correcte koppelingen mogelijk worden gemaakt.

Ga voor meer informatie naar Gegevens opschonen.

Omgaan met inconsistent hoofdlettergebruik in veldwaarden

Mijn gegevens bevatten veldwaarden die geen consistente opmaak hebben in verschillende tabellen. Zo bevat één tabel bijvoorbeeld de waarde single in Type, terwijl andere tabel de waarde Single bevat in hetzelfde veld. Deze situatie voorkomt koppelingen, aangezien het veld Type zowel de waarde single als de waarde Single bevat. Hoofdlettergebruik is relevant.

Tabel 1
Type Prijs
Eén 23
Twee 39
Tabel 2
Type Kleur
Eén Rood
Eén Blauw
Twee Wit
Twee Zwart

Proposed action  

Als u de gegevens hebt geladen met Gegevens toevoegen, kunt u dit oplossen in Gegevensbeheer.

Doe het volgende:

  1. Open in Gegevensbeheer Table2 in de tabeleditor.
  2. Wijzig de naam van het veld Type in Table2.Type.

    Als u de tabel zojuist hebt toegevoegd met Gegevens toevoegen met gegevensprofilering ingeschakeld, heeft het veld mogelijk al de naam Table2.Type gekregen om automatische koppeling te voorkomen. In dat geval worden de twee tabellen gekoppeld via deze procedure.

  3. Maak een berekend veld met de uitdrukking Lower(Table2.Type) en geef het de naam Type.Type
  4. Klik op Gegevens laden.

Table1 en Table2 zouden nu moeten zijn gekoppeld door het veld Type, dat alleen waarden in kleine letters bevat, zoals single en double.

Als u ander hoofdlettergebruik wilt, kunt u dit ook realiseren met vergelijkbare procedures, maar onthoud dat de tabellen worden gekoppeld via de velden met dezelfde naam.

  • Om alle waarden met een hoofdletter te laten beginnen, zoals Single, maakt u het berekende veld Type in plaats daarvan in Table1, en gebruikt u de uitdrukking Capitalize(Table1.Type).
  • Om alle waarden in hoofdletters te krijgen, zoals SINGLE, maakt u het berekende veld Type in beide tabellen en gebruikt u de uitdrukkingen Upper(Table1.Type) en Upper(Table2.Type) respectievelijk.

Zie Berekende velden gebruiken voor meer informatie over berekende velden.

Zie Capitalize - script- en diagramfunctie, Lower - script- en diagramfunctie en Upper - script- en diagramfunctie voor meer informatie over hoofdletters en kleine letters.

Geospatiale gegevens laden om gegevens te visualiseren met een kaart

Ik heb gegevens die ik wil visualiseren met behulp van een kaart, bijvoorbeeld verkoopgegevens per land of per winkel. Om de kaartvisualisatie te kunnen gebruiken, moet ik regio- of puntgegevens laden.

Proposed action  

U kunt regio- of puntgegevens laden die overeenkomen met uw gegevenswaardelocaties uit een KML-bestand of een Excel-bestand. Bovendien moet u de daadwerkelijke kaartachtergrond laden.

Ga voor meer informatie naar Uw eigen kaartgegevens laden.