FieldIndex — funkcja skryptu i funkcja wykresu
Funkcja FieldIndex() zwraca pozycję wartości pola value w polu field_name (według kolejności ładowania).
Składnia:
FieldIndex(field_name , value)
Typ zwracanych danych: integer
Argumenty:
Argument | Opis |
---|---|
field_name | Nazwa pola, dla którego wymagany jest indeks. Na przykład kolumna w tabeli. Argument musi być podany jako wartość ciągu znaków. Oznacza to, że nazwa pola musi być ujęta w pojedyncze cudzysłowy. |
value | Wartość w polu field_name. |
Ograniczenia:
-
Jeśli nie można znaleźć wartości value wśród wartości pola field_name, zwracana jest wartość 0.
-
Sortowanie według wartości Y w wykresach albo sortowanie według kolumn wyrażeń w tabelach jest niedozwolone, jeśli w dowolnym z wyrażeń wykresu używana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Gdy użyjesz tej funkcji wykresu w wizualizacji lub tabeli, sortowanie wizualizacji powróci do posortowanych danych wejściowych tej funkcji. To ograniczenie nie dotyczy równoważnej funkcji skryptu.
Przykłady i wyniki:
W poniższych przykładach stosowane jest pole: First name z tabeli Names.
Przykłady | Wyniki |
---|---|
Dodaj przykładowe dane do aplikacji i uruchom ją. |
Załadowano tabelę Names, tak jak w danych z próby. |
Funkcja wykresu: w tabeli zawierającej wymiar First name dodaj jako miarę: |
|
FieldIndex ('First name','John') |
1, ponieważ wartość John pojawia się jako pierwsza w kolejności ładowania pola First name. Warto zauważyć, że w panelu filtrowania imię John pojawiłoby się jako drugie od góry, ponieważ podlega sortowaniu alfabetycznemu, nie tak, jak w kolejności ładowania. |
FieldIndex ('First name','Peter') |
4, ponieważ funkcja FieldIndex() zwraca tylko jedną wartość (pierwsze wystąpienie w kolejności ładowania). |
Funkcja skryptu: przy założeniu, że tabela Names jest załadowana, jak w danych przykładowych: |
|
John1: Load FieldIndex('First name','John') as MyJohnPos Resident Names; |
MyJohnPos=1, ponieważ wartość John pojawia się jako pierwsza w kolejności ładowania pola First name. Warto zauważyć, że w panelu filtrowania imię John pojawiłoby się jako drugie od góry, ponieważ podlega sortowaniu alfabetycznemu, nie tak, jak w kolejności ładowania. |
Peter1: Load FieldIndex('First name','Peter') as MyPeterPos Resident Names; |
MyPeterPos=4, ponieważ funkcja FieldIndex() zwraca tylko jedną wartość (pierwsze wystąpienie w kolejności ładowania). |
Dane zastosowane w przykładzie:
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;