Tips voor het gebruik van gegevensmodellen
In dit hoofdstuk wordt een aantal verschillende manieren beschreven om gegevens in een 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:
Jaar | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
2013 | 34 | 54 | 53 | 52 |
2014 | 47 | 56 | 65 | 67 |
2015 | 57 | 56 | 63 | 71 |
Voorgestelde actie
Gebruik het prefix Crosstable bij het laden van de tabel.
Het resultaat ziet er als volgt uit:
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:
Object | Attribute | Value |
---|---|---|
ball | color | red |
ball | diameter | 25 |
ball | weight | 3 |
box | color | 56 |
box | height | 30 |
box | length | 20 |
box | width | 25 |
Voorgestelde actie
Maak een generiek gegevensmodel met het laadprefix Generic.
U krijgt dan een gegevensmodel dat er ongeveer als volgt uitziet:
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:
NodeID | ParentNodeID | Title |
---|---|---|
1 | - | General manager |
2 | 1 | Country manager |
3 | 2 | Region manager |
Voorgestelde actie
Laad de gegevens met het prefix Hierarchy om een uitgebreide knooppuntentabel te maken:
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.
Voorgestelde actie
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.
Voorgestelde actie : 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.
Voorgestelde actie : 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).
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 |
Begin | End | Volgorde |
---|---|---|
01:00 | 03:35 | A |
02:30 | 07:58 | B |
03:04 | 10:27 | C |
07:23 | 11:43 | D |
Voorgestelde actie
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.
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.
Land | Regio |
---|---|
VS | Maryland |
VS | Idaho |
VS | New York |
VS | Californië |
Country | Population |
---|---|
United States | 304 |
Japan | 128 |
Brazil | 192 |
China | 1333 |
Voorgestelde actie
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.
Type | Prijs |
---|---|
Eén | 23 |
Twee | 39 |
Type | Kleur |
---|---|
Eén | Rood |
Eén | Blauw |
Twee | Wit |
Twee | Black |
Voorgestelde actie
Als u de gegevens hebt geladen met Gegevens toevoegen, kunt u dit oplossen in Gegevensbeheer.
Doe het volgende:
- Open in Gegevensbeheer Table2 in de tabeleditor.
-
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.
- Maak een berekend veld met de uitdrukking Lower(Table2.Type) en geef het de naam Type.
- 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.
- Als u alle waarden wilt weergeven in hoofdletters, zoals Single, maakt u het berekende veld Type in tabel Table1 en gebruikt u de uitdrukking Capitalize(Table1.Type).
- Als u alle waarden wilt weergeven in hoofdletters, zoals SINGLE, maakt u het berekende veld Type in beide tabellen en gebruikt u respectievelijk de uitdrukkingen Upper(Table1.Type) en Upper(Table2.Type).
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.
Voorgestelde actie
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.