FieldIndex - Skript- und Diagrammfunktion
FieldIndex() liefert die Position des Wertes value im Feld field_name (nach Lade-Reihenfolge).
Syntax:
FieldIndex(field_name , value)
Rückgabe Datentyp: ganze Zahl
Argumente:
Argument | Beschreibung |
---|---|
field_name | Name für das Feld, für das der Index erforderlich ist. Zum Beispiel die Spalte in einer Tabelle. Muss als String angegeben werden. Das heißt, der Feldname muss in einfachen Anführungszeichen stehen. |
value | Der Wert des Feldes field_name. |
Beschränkungen:
-
Ist value kein Wert des Feldes field_name, ist das Ergebnis 0.
-
Das Sortieren nach y-Werten in Diagrammen oder nach Formelspalten in Tabellen ist nicht zulässig, wenn diese Diagrammfunktion in einer der Diagrammformeln verwendet wird. Diese Sortierungsoptionen werden daher automatisch deaktiviert. Wenn Sie diese Diagrammfunktion in einer Visualisierung oder Tabelle verwenden, wird die Sortierung der Visualisierung auf die sortierte Eingabe dieser Funktion zurückgesetzt. Diese Einschränkung gilt nicht für die entsprechende Skriptfunktion.
Beispiele und Ergebnisse:
Die folgenden Beispiele verwenden das Feld: First name aus der Tabelle Names.
Beispiele | Ergebnisse |
---|---|
Fügen Sie Ihrer App die Beispieldaten hinzu und führen Sie sie aus. |
Die Tabelle Names wird wie in der Datenstichprobe geladen. |
Diagrammfunktion: Fügen Sie einer Tabelle mit der Dimension First name die folgende Kennzahl hinzu: |
|
FieldIndex ('First name','John') |
1, weil 'John' zuerst in der Lade-Reihenfolge des Feldes First name aufgeführt wird. Hinweis: In einem Filterfenster würde John als 2. von oben angezeigt werden, da alphabetisch und nicht nach Lade-Reihenfolge sortiert wird. |
FieldIndex ('First name','Peter') |
4, weil FieldIndex() nur einen Wert zurückgibt, d. h. das erste Auftreten in der Lade-Reihenfolge. |
Skriptfunktion: Vorausgesetzt, die Tabelle Names ist wie in den Beispieldaten geladen: |
|
John1: Load FieldIndex('First name','John') as MyJohnPos Resident Names; |
MyJohnPos=1, weil 'John' zuerst in der Lade-Reihenfolge des Feldes First name aufgeführt wird. Hinweis: In einem Filterfenster würde John als 2. von oben angezeigt werden, da alphabetisch und nicht nach Lade-Reihenfolge sortiert wird. |
Peter1: Load FieldIndex('First name','Peter') as MyPeterPos Resident Names; |
MyPeterPos=4, weil FieldIndex() nur einen Wert liefert, d. h. das erste Auftreten in der Lade-Reihenfolge. |
Im Beispiel verwendete Daten:
Names:
LOAD * inline [
First name|Last name|Initials|Has cellphone
John|Anderson|JA|Yes
Sue|Brown|SB|Yes
Mark|Carr|MC|No
Peter|Devonshire|PD|No
Jane|Elliot|JE|Yes
Peter|Franc|PF|Yes ] (delimiter is '|');
John1:
Load FieldIndex('First name','John') as MyJohnPos
Resident Names;
Peter1:
Load FieldIndex('First name','Peter') as MyPeterPos
Resident Names;