364
UTFORSKA vad vi kan och gör
UTFORSKA vad vi kan och gör

Stäng

Kompetensområden

Kontakta mig

Vill du veta mer och ta reda på hur vi kan hjälpa just dig? Lämna dina kontaktuppgifter

Valdation:
* Förnamn:
* Efternamn:
Företag:
Tel:
* Email:
Land:
* Meddelande:
Successfully sent!
Could not send the mail, try again later!
KAFFE ELLER TÉ? Vi kan väl ses över en kopp.

Blogg november 17, 2014

Funktionen "SubstringCount" i QlikView

Funktionen SubstringCount används för ungefär det som namnet antyder,den räknar antalet förekomster av en delsträng i en textsträng. Grundfunktionen ser ut såhär: 

SubStringCount( text , substring)

Nedan följer ett par exempel :

SubStringCount (‘Enfo Pointer’ , ‘o’) returnerar 2, eftersom ‘o’ förekommer 2 gånger i textsträigen

SubStringCount (‘a,b,c,d,e’ , ‘,’) returnerar 4, eftersom ‘,’ förekommer 4 gånger i textsträngen. Var kan man då använda den här funktionen rent praktiskt? 

En av våra kunder hade problemet att vissa tabeller i gränssnittet visade onödigt mycket information för vissa användare men inte för andra. För att lösa detta problem så lade jag in ett val in i gränssnittet där användarna själva kan välja vilka kolumner i tabellen som ska visas och inte och här använde jag mig av SubstringCount-funktionen.

För att göra ovanstående behöver man göra följande:

1.Skapa en inline-tabell i scriptet med kolumnnamnen som användaren kommer kunna välja mellan i gränssnittet (det vill säga de kolumner som du vill ska kunna vara dolda eller inte i tabellen). 

Ex. 

2.Lägg ut en Listbox i grässnittet där dessa dimensioner representeras, i det här fallet har jag valt att göra dem till kryssrutor, se sedan

3.I tabellen sen så går du in på fliken för dimensioner och sätter ett villkor för var och en av dimensionerna som ska kunna döljas.

 

Det är här funktionen kommer till användning, i villkoret skriver vi följande:

SubStringCount(Concat(dimensioner, '|'), 'Produktkod')

Som ni ser så har även en annan funktion kommit till användning här, nämligen concat-funktionen. Det som händer i funktionen, om vi tar den innifrån och ut är att concat-funktionen listar alla värden som är valda i fältet dimensioner och separera dem med ’|’, så i vårt fall så ser resultatet av concat-funktionen ut såhär:

”DKK|EUR|NOK|Produknamn|Produktkod|Produktnamn|SEK|USD”, eftersom vi har valt att kryssa i alla dimensionsval som är möjliga.

Det SubstringCount funktionen nu gör är att räkna hur många gånger strängen ”Produktkod” förekommer i den sträng som concat-funktionen har genererat. I vårt fall blir alltså resultatet = 1. Det vill säga att villkoret som vi har satt på den här dimensionen blir uppfyllt (=1) och därmed så visas dimensionen.

Om vi inte hade kryssat i Produktkod hade det ordet inte varit med i strängen som concat-funktionen genererat och därmed hade resultatet blivit 0 och villkoret hade inte uppfyllts och dimensionen hade inte visats.

>Annika Palm, konsult Business Intelligence, Enfo Pointer