Funciones especializadas de flujo de trabajo
Estas funciones realizan una variedad de acciones especializadas y se pueden utilizar con todos los tipos de datos admitidos.
Coalesce
Coalesce(v1,v2,v3,…,vn): devuelve el primer valor no nulo.
Importante
Los valores pasados a la función Coalesce deben ser todos del mismo tipo (todos cadenas o todos numéricos).
Ejemplo
Coalesce(null, "naranjas", "manzanas", null, "uvas") devuelve naranjas.
Coalesce(naranjas, manzanas, uvas) devuelve un error.
Coalesce("1", "2", "3") devuelve 1.
Coalesce(null, null, null) devuelve Null.
Coalesce(toDateTime("apples"), toDateTime(1)) devuelve 1899-12-31 00:00:00 porque toDateTime("apples") devuelve null.
EscapeXMLMetacharacters
EscapeXMLMetacharacters(String): reemplaza metacaracteres XML por sus versiones con escape. Hay 5 caracteres con escape.
Carácter | Versión de escape |
|---|---|
" | " |
' | ' |
< | < |
> | > |
& | & |
Ejemplo
EscapeXMLMetacharacters("2>1&1<2")devuelve 2>1&1<2
GetVal
GetVal(index, v0,...vn)Devuelve el valor (v0, ..., vn) que se especifica en el índice con base 0.
Mensaje
Message(messageType, message, returnValue): se utiliza con una instrucción condicional para generar un mensaje en el registro de mensajes y actualizar los datos de columna con un valor especificado cuando se cumple una condición.
El tipo de mensaje y el texto se muestran en la ventana Resultados.
Parámetros
messageType: un número que corresponde al tipo de mensaje:
1: mensajes
2: advertencias
3: errores
5: errores de conversión (errores de conversión de campo)
8: archivos (entrada)
9: archivos (salida)
message: el texto del mensaje expresado como cadena entre comillas.
returnValue: un valor que se produce para los datos de la columna. Puede ser un valor numérico (por ejemplo, 0), nulo o una cadena de texto entre comillas (por ejemplo, “Falso”).
Ejemplo
En este ejemplo, la función Mensaje se utiliza dentro de una expresión condicional para generar un mensaje de error de conversión de campo y actualizar los datos de la columna con el valor “Falso” si los valores de fecha y hora dados no contienen datos de hora válidos.
If [Hora] = "0" and [Minutos] = "0", then Message (5, "Hora no válida en fecha y hora", "Falso") Else "Verdadero" Endif
Nulo
Null(): devuelve un valor nulo.
RangeMedian
RangeMedian(...): calcula la mediana de una serie de rangos agregados. Consulta Mediana de rango para obtener más información.
Soundex
Soundex(String): devuelve el Soundex de la cadena. Soundex crea un código basado en el primer carácter de la cadena más 3 caracteres basados en estos elementos:
Carácter | Soundex |
|---|---|
Caracteres no alfabéticos (números y puntuación) | -1 |
a, e, i, o, u, y, h, w | Se omite, a menos que sea el primer carácter de la cadena. |
b, f, p, v | 1 |
c, g, j, k, q, s, x, z | 2 |
d, t | 3 |
l | 4 |
m, n | 5 |
r | 6 |
Ejemplo
Si el código resultante tiene solo 2 o 3 caracteres, Soundex utiliza ceros para rellenar el código hasta 4 caracteres. Por ejemplo, en el nombre Lauren, solo se traducen las letras L, r y n (Lrn), por lo que el código Soundex resultante es L650.
Si el código resultante tiene más de 4 caracteres, se omiten todos los caracteres que aparecen después del cuarto carácter. Por ejemplo, en el nombre Patrick, las letras P, t, r, c y k pueden traducirse (Ptrck), pero el código Soundex resultante es de solo 4 caracteres: P362.
Soundex_Digits
Soundex_Digits(String): devuelve los primeros cuatro dígitos o el Soundex si no hay ninguno.
Si hay dígitos (números) en la cadena, se devuelven los primeros cuatro.
Si no hay dígitos, se devuelve el código Soundex.
Cadena de ejemplo | Soundex_Digits |
|---|---|
3825 Iris | 3825 |
55555 Main | 5555 |
14L Broadway | 14 |
Commerce Street | C562 |
L Street | L236 |
TOPNIDX
TOPNIDX(N, v0, v1, ..., vn): devuelve la posición de índice de base 0 original del valor N desde el valor máximo al ordenar los campos indexados (v0 a vn) en orden descendente. Los valores nulos se ignoran y N debe ser menor que los parámetros no nulos. Con N==0, es lo mismo que MaxIdx(...).
N: el valor N máximo de los campos indexados.v0, v1, …, vnson los campos indexados.
Ejemplo
TOPNIDX(1, [IndexedField1], 5, 7)devuelve…
0 si 5<
[IndexedField1]<71 si
[IndexedField1]< 5 o[IndexedField1]es nulo2 si
[IndexedField1]> 7
UrlEncode
UrlEncode(String): codifica una cadena UTF-16 utilizando una codificación porcentual no estándar basada en UTF-16.
Importante
Ten en cuenta que este método ya no se recomienda. En su lugar, recomendamos la nueva función UrlEncodeUTF8.
Ejemplo
UrlEncode("C:\temp\Alteryx URL Encode")devuelve C:/temp/Alteryx%20URL%20Encode.
UrlEncodeUTF8
UrlEncodeUTF8(String): codifica una cadena mediante la codificación porcentual compatible con RFC 3986*. La función convierte caracteres en unidades basadas en UTF8 y omite caracteres definidos en el conjunto de caracteres sin reservas. A diferencia de la función UrlEncode anterior, esta función no omite los delimitadores de URL comunes como "/", por lo que no es adecuada para codificar URL de ruta completa. Debes usar esta función para codificar componentes URL específicos, como parámetros de componente de consulta.
Nota
* RFC 3986 es el estándar para la codificación de URL y define un método para codificar caracteres Unicode convirtiéndolos en una secuencia de bytes UTF-8 y luego representando cada byte con un signo % (porcentaje) seguido de dos dígitos hexadecimales.
Ejemplo
UrlEncodeUTF8("C:\temp\Alteryx URL Encode")Devuelve C%3A%5Ctemp%5CAlteryx%20URL%20Encode.