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 Kombinationen erstellt.
Syntax:
SubField(text, delimiter[, field_no ])
Return data type: String
Arguments:
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. Verwenden Sie den Wert 1, um den ersten Teilstring zurückzugeben, den Wert 2, um den zweiten Teilstring zurückzugeben, usw.
|
Example:
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App 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;
Name | FirstName | Surname |
---|---|---|
Dave Owen | Dave | Owen |
Joe Tem | Joe | Tem |
Example:
Dieses Beispiel zeigt, wie durch die Verwendung mehrerer Instanzen der Funktion Subfield() jeweils ohne den Parameter field_no aus demselben LOAD-Befehl heraus kartesische Produkte aller Kombinationen erstellt werden. Die Option DISTINCT dient dazu, zu verhindern, dass doppelte Datensätze erstellt werden.
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App 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 '|');
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 |