Zu Hauptinhalt springen

SubField - Skript- und Diagrammfunktion

Subfield() wird zur Extrahierung von Teilstring-Komponenten aus einem übergeordneten Stringfeld verwendet, bei dem die Ursprungsdatensatzfelder aus zwei oder mehr Teilen bestehen, die durch ein Trennzeichen getrennt sind.

Die Funktion Subfield() kann zum Beispiel verwendet werden, um Vor- und Nachnamen aus einer Liste von Datensätzen, die aus Vor- und Nachname bestehen, die Komponenten eines Pfadnamens oder Daten aus kommagetrennten Tabellen zu extrahieren.

Wenn Sie die Funktion Subfield() in einem LOAD-Befehl ohne den optionalen Parameter field_no verwenden, wird für jeden Teilstring ein vollständiger Datensatz generiert. Wenn mehrere Felder mit Subfield() geladen werden, werden die kartesischen Produkte aller Kombination erstellt.

Syntax:  

SubField(text, delimiter[, field_no ])

Rückgabe Datentyp: String

Argumente:  

SubField-Argumente
Argument Beschreibung
text Der Original-String. Dabei kann es sich um hartcodierten Text, eine Variable, eine Dollarzeichenerweiterung oder eine andere Formel handeln.
delimiter Ein Zeichen in der Eingabe text, das den String in Komponenten aufteilt.
field_no

Das optionale dritte Argument ist eine Ganzzahl, die angibt, welcher der Teilstrings des übergeordneten Strings text geliefert werden soll.

  • Wenn field_no ein positiver Wert ist, werden Teilstrings von links nach rechts extrahiert.
  • Wenn field_no ein negativer Wert ist, werden Teilstrings von rechts nach links extrahiert.
Tipphinweis SubField() kann anstelle komplexer Kombinationen von Funktionen wie Len(), Right(), Left(), Mid() und anderen Stringfunktionen verwendet werden.

Beispiele und Ergebnisse:  

Beispiele 1-3
Beispiel Ergebnis
SubField('abc;cde;efg', ';', 2) Liefert 'cde'
SubField('', ';', 1) Liefert NULL
SubField(';', ';', 1) Liefert einen leeren String

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

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;

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

Angenommen, Ihre Variable enthält einen Pfadnamen vMyPath,

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

In einem Diagramm mit Text und Abbildungen können Sie eine Kennzahl wie die folgende hinzufügen:
SubField(vMyPath, '\',-3). Dies ergibt 'Qlik', da es sich um den dritten Teilstring von rechts der Variable vMyPath handelt.

Dieses Beispiel zeigt das Erzeugen mehrerer Zeilen aus einer einzelnen Instanz von Subfield().

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

LOAD DISTINCT

Player,

SubField(Project,',') as Project;

 

Load * inline [

Player|Project

Neil|Music,OST

Jo|Music

Mike|Music,OST,Video

] (delimiter is '|');

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

Dieses Beispiel zeigt, wie durch Verwendung mehrerer Instanzen der Funktion Subfield(), bei der jeweils der Parameter field_no ausgelassen wurde, innerhalb des gleichen LOAD-Befehls kartesianische Produkte aller Kombinationen erstellt werden. Die Option DISTINCT wird verwendet, um das Erstellen duplizierter Datensätze zu vermeiden.

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

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 '|');

Beispiel 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

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!

Nehmen Sie am Analyse-Modernisierungsprogramm teil

Remove banner from view

Modernisieren Sie mit dem Analyse-Modernisierungsprogramm, ohne Ihre wertvollen QlikView-Apps zu gefährden. Klicken Sie hier für weitere Informationen oder kontaktieren Sie uns: ampquestions@qlik.com