Gå till huvudinnehåll Gå till ytterligare innehåll

Använda mappning som ett alternativ till länkning

Join-prefixet i Qlik Sense är ett kraftfullt sätt att kombinera flera datatabeller i datamodellen.

En nackdel är att de kombinerade tabellerna kan bli stora och skapa prestandaproblem. Ett alternativ till Join i situationer när du behöver slå upp ett enda värde från en annan tabell är att använda mappning i stället. Detta kan göra så att du slipper läsa in onödiga data som gör beräkningarna långsammare och kan skapa beräkningsfel, eftersom joins kan ändra antalet poster i tabellerna.

En mappningstabell består av två kolumner: ett jämförelsefält (indata) och ett mappningsvärdesfält (utdata).

I det här exemplet har vi en tabell med order (Orders) och behöver veta kundens länder, som finns lagrade i kundtabellen (Customers).

Orders-datatabell
OrderIDOrderDateShipperIDFreightCustomerID
129872007-12-011273
129882007-12-011654
129892007-12-022322
129902007-12-031763
Customers-datatabell
CustomerIDNamnLand...
1DataSalesSpanien...
2BusinessCorpItalien...
3TechCoTyskland...
4MobechoFrankrike...

För att slå upp landet (Country) för en kund behöver vi en mappningstabell som ser ut så här:

Mappningstabell
CustomerIDLand
1Spanien
2Italien
3Tyskland
4Frankrike

Mappningstabellen, som vi kallar MapCustomerIDtoCountry, är definierad i skriptet enligt följande:

MapCustomerIDtoCountry: Mapping LOAD CustomerID, Country From Customers ;

Nästa steg är att tillämpa mappningen med hjälp av funktionen ApplyMap när vi laddar sorteringstabellen:

Orders: LOAD *, ApplyMap('MapCustomerIDtoCountry', CustomerID, null()) as Country From Orders ;

Den tredje parametern av funktionen ApplyMap används för att definiera vad som ska returneras när ett värde inte hittas i mappningstabellen, i det här fallet Null().

Tabellen som skapas ser ut så här:

Resultattabell
OrderIDOrderDateShipperIDFreightCustomerIDLand
129872007-12-011273Tyskland
129882007-12-011654Frankrike
129892007-12-022322Italien
129902007-12-031763Tyskland

Mer information

 

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!