Set-modifierare

Ett set kan modifieras genom att ett val läggs till eller ändras. En sådan ändring kan skrivas in i set-uttrycket.

Modifieraren består av ett eller flera fältnamn, som vart och ett följs av ett urval som ska göras på just det fältet. De omsluts alla av vinkelparentser: < >. Till exempel: <Year={2007,2008},Region={US}>. Fältnamn och fältvärden kan få citattecken som vanligt, exempelvis: <[Sales Region]={’West coast’, ’South America’}>.

En set-modifieraren modifierar urvalet av föregående set-identifierare. Om det inte finns någon hänvisning till en set-identifierare är det aktuella urvalstillståndet implicit.

Det finns flera sätt att definiera valet:

  • Baserat på ett annat fält
  • Baserat på elementuppsättningar (en fältvärdeslista i modifieraren)
  • Tvingande bortval

Dessa metoder beskrivs i följande underavsnitt.

Baserat på ett annat fält

Ett enkelt fall är ett urval baserat på de valda värdena i ett annat fält, exempelvis <OrderDate = DeliveryDate>. Denna modifierare tar de valda värdena från DeliveryDate och applicerar dem som ett val på OrderDate. Om det finns många distinkta värden, fler än några hundra, blir denna åtgärd processorkrävande och bör därför undvikas.

Baserad på uppsättningar av element

Det vanligaste exemplet på ett set-uttryck är ett uttryck som baseras på en lista med fältvärden som omsluts av klammerparenteser. Värdena avgränsas med kommatecken, till exempel <Year = {2007, 2008}>. Klammerparenteserna definierar en uppsättning (ett set) element, där elementen kan vara explicita fältvärden eller sökningar i fältvärden.

Citattecken behövs bara användas om värdena i listan innehåller blanksteg eller specialtecken. Värdena i listan matchas helt enkelt med fältvärdena. Den här jämförelsen är inte skiftlägeskänslig.

Om värden i listan innehåller blanksteg eller specialtecken, eller om du vill använda jokertecken, måste du omsluta värdena med citattecken. Enkla citattecken ska användas om värdena i listan är explicita fältvärden. Då görs skiftlägeskänsliga matchningar mellan värdena i listan och de enskilda fältvärdena.

Dubbla citattecken ska användas vid sökningar, dvs. strängar som innehåller jokertecken eller inleds med en relationsoperator eller ett likhetstecken. Uttrycket <Ingredient = {"*Garlic*"}> väljer till exempel alla ingredienser som innehåller strängen 'Garlic'. Dubbla citattecken kan ersättas med hakparenteser, till exempel <Ingredient = {[*Garlic*]}>. Dubbla citattecken kan även ersättas med akuta accenter, till exempel <Ingredient = {`*Garlic*`}>. Sökningar är inte skiftlägeskänsliga.

Observera:

I tidigare versioner av Qlik Sense hanterades enkla och dubbla citattecken på samma sätt, och alla strängar inom citattecken behandlades som sökningar. För att säkerställa bakåtkompatibiliteten kommer appar som skapats med äldre versioner av Qlik Sense att fungera på samma sätt som i tidigare versioner. Appar som skapats med Qlik Sense November 2017 eller senare kommer att skilja mellan enkla och dubbla citattecken.

Tvingande bortval

Slutligen finns det även möjligheten att göra Tvingande bortval för fälten i AND-läge. Om man vill forcera bortval av specifika fältvärden måste man använda ”~” framför fältnamnet.

Observera: AND-läge stöds endast med Qlik Engine API.

Examples and results:  

Exempel Resultat
sum( {1<Region= {USA} >} Sales ) Returnerar försäljningen för regionen USA och ignorerar det aktuella valet.
sum( {$<Region = >} Sales ) Returnerar försäljningen för det aktuella valet, men valet i 'Region' har tagits bort.
sum( {<Region = >} Sales )

Returnerar samma resultat som exemplet strax ovanför. När det set som ska modifieras är utelämnat antas $.

Observera: Syntaxen i de två tidigare exemplen tolkas som ”inga val” i ”Region”, dvs alla regioner som getts andra val är möjliga. Detta motsvarar inte syntaxen <Region = {}> (eller vilken annan text som helst till höger om likhetstecknet som implicit resulterar i ett tomt element-set) som tolkas som ingen region.
sum( {$<Year = {2000}, Region = {US, SE, DE, UK, FR}>} Sales ) Returnerar försäljningen för det aktuella valet, men med nya val i både "Year" och "Region".
sum( {$<~Ingredient = {“*garlic*”}>} Sales )

Fältet Ingredient är i AND-läge.

Returnerar försäljningen för det aktuella valet, men alla ingredienser som innehåller strängen "garlic" har valts bort.

sum( {$<Year = {“2*”}>} Sales ) Returnerar försäljningen för det aktuella valet, men med alla år som inleds med siffran "2", dvs mest sannolikt år 2000 och framåt, valda i fältet "Year".
sum( {$<Year = {“2*”,”198*”}>} Sales ) Enligt ovan, men nu inkluderas 1980-talet i urvalet.
sum( {$<Year = {“>1978<2004”}>} Sales ) Returnerar försäljningen för de aktuella urvalen, men med en numerisk sökning som används för att täcka in intervallet av år som försäljningen ska summeras för.

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

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