FieldIndex - función de script y de gráfico
FieldIndex() devuelve la posición del valor de campo value en el campo field_name (por orden de carga).
Sintaxis:
FieldIndex(field_name , value)
Tipo de datos que devuelve: Entero
Argumentos:
Argumento | Descripción |
---|---|
field_name | Nombre del campo para el que se requiere el índice. Por ejemplo, la columna de una tabla. Debe especificarse como valor de cadena. Esto implica que el nombre del campo debe escribirse entre comillas simples. |
value | El valor del campo field_name. |
Limitaciones:
-
Si no se logra encontrar value entre los valores del campo field_name, devuelve 0.
-
No se permite ordenar por valores Y en gráficos, ni ordenar por columnas de expresión en tablas cuando esta función de gráfico se utiliza en cualquiera de las expresiones del gráfico. Estas alternativas de ordenación están por lo tanto automáticamente deshabilitadas. Cuando utiliza esta función de gráfico en una visualización o tabla, la ordenación de la visualización volverá al orden de la entrada de esta función. Esta limitación no se aplica a la función de script equivalente.
Ejemplos y resultados:
Los ejemplos siguientes utilizan el campo: First name de la tabla Names.
Ejemplos | Resultados |
---|---|
Añada los datos del ejemplo a su app y ejecútelo. |
Se carga la tabla Names, como en los datos de muestra. |
Función de gráfico: En una tabla que contiene la dimensión First name, añada como medida: |
|
FieldIndex ('First name','John') |
1, porque 'John' aparece en primer lugar en el orden de carga del campo First name. Observe que en un panel de filtrado John aparecería como el número 2 desde la parte superior puesto que está ordenado alfabéticamente y no por orden de carga. |
FieldIndex ('First name','Peter') |
4, porque FieldIndex() devuelve solo un valor, que es el primero en aparecer según el orden de carga. |
Función de script: Dada la tabla Names cargada, como en los datos de ejemplo: |
|
John1: Load FieldIndex('First name','John') as MyJohnPos Resident Names; |
MyJohnPos=1, porque "John" aparece en primer lugar en el orden de carga del campo First name. Observe que en un panel de filtrado John aparecería como el número 2 desde la parte superior puesto que está ordenado alfabéticamente y no por orden de carga. |
Peter1: Load FieldIndex('First name','Peter') as MyPeterPos Resident Names; |
MyPeterPos=4, porque FieldIndex() devuelve solo un valor, que es el primero en aparecer según el orden de carga. |
Datos utilizados en el ejemplo:
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;