Jokertecken i data

Man kan använda jokertecken i data. Det finns två olika godkända jokertecken: stjärnsymbolen, som tolkas som alla värden i ett fält, och en valfri symbol, som tolkas som alla övriga värden i detta fält.

Stjärnsymbolen

Stjärnsymbolen tolkas som alla (listade) värden i ett fält, det vill säga ett värde som listats någon annanstans i den här tabellen. Om den används i något av systemfälten (USERID, PASSWORD, NTNAME eller SERIAL) i en tabell som laddats i skriptets behörighetssektion, tolkas den som alla (även inte listade) möjliga värden i detta fält.

Stjärnsymbolen accepteras inte i informationsfiler. Den kan inte heller användas i nyckelfält, d.v.s. fält som länkar tabeller.

Det finns inget standardtecken för stjärnsymbolen, men ett sådant kan definieras i skriptet. Mer information om hur en star-sats skapas i skriptet finns i Star.

OtherSymbol

Det kan i många fall vara av nytta att i en tabell definiera en symbol som representerar alla övriga värden, d.v.s. alla värden som inte uttryckligen finns i de data som laddats. Detta görs med hjälp av den speciella variabeln OtherSymbol. För att definiera denna OtherSymbol så att den behandlas som ‘alla övriga värden’, använd följande syntax:

SET OTHERSYMBOL=<sym>;

före en LOAD- eller SELECT-sats. <sym> kan vara valfri sträng.

När den definierade symbolen dyker upp i en intern tabell, definierar QlikView den som alla icke tidigare inlästa värden i fältet som innehåller symbolen. Värden som förekommer efter OtherSymbol kommer därför inte att beaktas.

För att nollställa denna funktion, använd

SET OTHERSYMBOL=;

Exempel:  

Table Customers

CustomerID Name
1 ABC Inc.
2 XYZ Inc.
3 ACME INC
+ Undefined

Table Orders

CustomerID Name
1 1234
3 1243
5 1248
7 1299

Skriv följande sats i skriptet före den punkt där den första av ovanstående tabeller laddas:

SET OTHERSYMBOL=+;

Referenser till CustomerID utöver 1, 2 eller 3, t.ex. att klicka på OrderID 1299, resulterar i Undefined under Name.

Observera: OtherSymbol är inte avsedd att användas för att skapa outer joins mellan tabeller.

Hjälpte den här informationen?

Varför var informationen inte till hjälp och hur kan vi förbättra den?