Compartir a través de


array_iff()

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Función iif para elementos en matrices dinámicas.

Las array_iff() funciones y array_iif() son equivalentes

Sintaxis

array_iff(condition_array, when_true, when_false)

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
condition_array dynamic ✔️ Matriz de valores booleanos o numéricos.
when_true dinámico o escalar ✔️ Matriz de valores o valor primitivo. Este será el resultado cuando condition_array sea true.
when_false dinámico o escalar ✔️ Matriz de valores o valor primitivo. Este será el resultado cuando condition_array sea false.

Nota:

  • La longitud del valor devuelto será la misma que la condition_array de entrada.
  • Los valores numéricos de condición se consideran true si no son iguales a 0.
  • Los valores de condición no numéricos y no booleanos serán NULL en el índice correspondiente del valor devuelto.
  • Si when_true o when_false es menor que condition_array, los valores que faltan se tratarán como null.

Devoluciones

Devuelve una matriz dinámica de los valores tomados del when_true o when_false valores de matriz, según el valor correspondiente de la matriz de condiciones.

Ejemplos

print condition=dynamic([true,false,true]), if_true=dynamic([1,2,3]), if_false=dynamic([4,5,6]) 
| extend res= array_iff(condition, if_true, if_false)

Salida

condición if_true if_false res
[true, false, true] [1, 2, 3] [4, 5, 6] [1, 5, 3]

Valores de condición numérica

print condition=dynamic([1,0,50]), if_true="yes", if_false="no" 
| extend res= array_iff(condition, if_true, if_false)

Salida

condición if_true if_false res
[1, 0, 50] no [Sí, no, sí]

Valores de condición no numéricos y no booleanos

print condition=dynamic(["some string value", datetime("01-01-2022"), null]), if_true=1, if_false=0
| extend res= array_iff(condition, if_true, if_false)

Salida

condición if_true if_false res
[true, false, true] 1 0 [null, null, null]

Longitudes de matriz no coincidentes

print condition=dynamic([true,true,true]), if_true=dynamic([1,2]), if_false=dynamic([3,4]) 
| extend res= array_iff(condition, if_true, if_false)

Salida

condición if_true if_false res
[true, true, true] [1, 2] [3, 4] [1, 2, null]