Ga naar hoofdinhoud

SubField - script- en grafiekfunctie

Subfield() wordt gebruikt voor het extraheren van onderdelen van subtekenreeksen van een bovenliggend tekenreeksveld, waarbij de oorspronkelijke recordvelden bestaat uit twee of meer onderdelen met een scheidingsteken ertussen.

De functie Subfield() kan bijvoorbeeld worden gebruikt om voornaam en achternaam te extraheren vanuit een lijst met records die bestaat uit volledige namen, de samenstellende delen van een padnaam of voor het extraheren van gegevens uit tabellen met door komma's gescheiden waarden.

Als u de functie Subfield() gebruikt in een opdracht LOAD terwijl de optionele parameter field_no wordt weggelaten, wordt één complete record gegenereerd voor elke subtekenreeks. Als meerdere velden worden geladen met Subfield(), worden de cartesische producten van alle combinaties gemaakt.

Syntaxis:  

SubField(text, delimiter[, field_no ])

Retourgegevenstypen: tekenreeks

Argumenten:  

Argumenten voor SubField
Argument Beschrijving
text De oorspronkelijke tekenreeks. Dit kan een hard gecodeerde tekst, een variabele, een uitbreiding met dollarteken of een andere uitdrukking zijn.
delimiter Een teken binnen de invoerreeks text die de tekenreeks opsplitst in samenstellende delen.
field_no

Het optionele derde argument is een geheel getal waarmee wordt opgegeven welke van de subtekenreeksen van de bovenliggende tekenreeks text moeten worden geretourneerd.

  • Als field_no een positieve waarde is, worden subtekenreeksen van links naar rechts geëxtraheerd.
  • Als field_no een negatieve waarde is, worden subtekenreeksen van rechts naar links geëxtraheerd.
Tip SubField() kan worden gebruikt in plaats van complexe combinaties van functies zoals Len(), Right(), Left(), Mid() en andere tekenreeksfuncties.

Voorbeelden en resultaten:  

Voorbeelden 1-3
Voorbeeld Resultaat
SubField('abc;cde;efg', ';', 2) Retourneert 'cde'
SubField('', ';', 1) Retourneert NULL
SubField(';', ';', 1) Retourneert een lege tekenreeks

Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.

FullName:

LOAD * inline [

Name

'Dave Owen'

'Joe Tem'

];

 

SepNames:

Load Name,

SubField(Name, ' ',1) as FirstName,

SubField(Name, ' ',-1) as Surname

Resident FullName;

Drop Table FullName;

Voorbeeld 4
Name FirstName Surname
Dave Owen Dave Owen
Joe Tem Joe Tem

Stel dat u een variabele hebt met de padnaam vMyPath,

Set vMyPath=\Users\ext_jrb\Documents\Qlik\Sense\Apps;.

In een diagram met tekst en afbeeldingen kunt u bijvoorbeeld de volgende meting toevoegen:
SubField(vMyPath, '\',-3), hetgeen resulteert in 'Qlik', omdat het de derde subtekenreeks vanaf de rechterzijde van de variabele vMyPath is.

Dit voorbeeld laat zien hoe meerdere rijen worden gemaakt op basis van een enkele instantie van Subfield().

Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.

LOAD DISTINCT

Player,

SubField(Project,',') as Project;

 

Load * inline [

Player|Project

Neil|Music,OST

Jo|Music

Mike|Music,OST,Video

] (delimiter is '|');

Voorbeeld 5
Player Project
Neil Music
Neil OST
Jo Music
Mike Music
Mike OST
Mike Video

In dit voorbeeld wordt getoond hoe met het gebruik van meerdere exemplaren van de functie Subfield(), elk zonder de parameter field_no, binnen dezelfde LOAD-instructie cartesische producten van alle combinaties worden gemaakt. De optie DISTINCT wordt gebruikt om te voorkomen dat gedupliceerde records worden gemaakt.

Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.

LOAD DISTINCT

Instrument,

SubField(Player,',') as Player,

SubField(Project,',') as Project;

 

Load * inline [

Instrument|Player|Project

Guitar|Neil,Mike|Music,Video

Guitar|Neil|Music,OST

Synth|Neil,Jen|Music,Video,OST

Synth|Jo|Music

Guitar|Neil,Mike|Music,OST

] (delimiter is '|');

Voorbeeld 6
Instrument Player Project
Guitar Mike Music
Guitar Mike Video
Guitar Mike OST
Guitar Neil Music
Guitar Neil Video
Guitar Neil OST
Synth Jen Music
Synth Jen Video
Synth Jen OST
Synth Jo Music
Synth Neil Music
Synth Neil Video
Synth Neil OST

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!

Neem deel aan het Analytics Modernization Program

Remove banner from view

Moderniseer zonder uw waardevolle QlikView-apps op het spel te zetten met het Analytics Modernization Program. Klik hier voor meer informatie of om contact op te nemen: ampquestions@qlik.com