Saltar al contenido principal
Workday User Guide
Última actualización: 2024-06-28
Referencia rápida de expresiones Prism

Referencia rápida de expresiones Prism

Funciones de conversión

Función
Descripción
Ejemplo
Crea un campo de moneda a partir de un
NUMERIC
valor y un
TEXT
o
INSTANCE
que contiene un código de moneda válido. Cuando el código de moneda no es válido, esta función devuelve NULL.
BUILD_CURRENCY([Sale Price], [Currency Code])
Convierte valores de datos de un tipo de campo (tipo de datos) a otro.
CAST([Region] AS Instance(eecb565181284b6a8ae8b45dc3ed1451))
CAST(99.99 AS decimal(10,3))
devuelve
99.990
.
CAST(99.99 AS decimal(20,2))
devuelve
99.99
.
CAST(99.999 AS decimal(10,2))
devuelve
100.00
.
Conversiones
LONG
valores hasta
DATE
valores, donde el número de entrada representa el número de milisegundos desde la época.
EPOCH_MS_TO_DATE(1360260240000) returns
2013-02-07T18:04:00:000Z
Toma un valor de Moneda y extrae el importe numérico como
NUMERIC
valor
EXTRACT_AMOUNT([Salary])
Tarda un
CURRENCY
y extrae el código de moneda como
INSTANCE
valor
EXTRACT_CODE([Salary])
Tarda un
CURRENCY
y extrae el código de moneda como
TEXT
valor
EXTRACT_CODE_TEXT([Salary])
Conversiones
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, o
NUMERIC
valores hasta
BOOLEAN
.
TO_BOOLEAN([is_contingent])
Conversiones
TEXT
valores que contienen datos válidos con formato de moneda para
CURRENCY
valores
TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code]))
Conversiones
TEXT
valores hasta
DATE
y especifica el formato de los elementos de fecha y hora de la cadena.
TO_DATE([order_date],"yyyy.MM.dd 'at' HH:mm:ss z")
Conversiones
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DOUBLE
, o
NUMERIC
valores hasta
NUMERIC
valores con el número por defecto de dígitos antes y después de la coma decimal.
TO_DECIMAL([average_rating])
Conversiones
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, o
DOUBLE
valores hasta
DOUBLE
(un tipo de valores numéricos).
TO_DOUBLE([average_rating])
Conversiones
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, o
DOUBLE
valores hasta
INTEGER
(número entero) valores. Al convertir
DOUBLE
valores, todo lo que esté después del decimal se truncará (no se redondeará al alza ni a la baja).
TO_INT([average_rating])
Conversiones
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DECIMAL
,
DATE
, o
DOUBLE
valores hasta
Long
(número entero) valores. Al convertir
Decimal
o
DOUBLE
valores, todo lo que esté después del decimal se truncará (no se redondeará al alza ni a la baja).
TO_LONG([average_rating])
Convierte valores de otros tipos de datos en
TEXT
valores (caracteres).
TO_STRING([sku_number])

Funciones de fecha

Función
Descripción
Ejemplo
Añade el intervalo de tiempo especificado a un
DATE
valor
DATE_ADD([invoice_date], 45, "day")
Calcula el tiempo entre 2
DATE
valores (
value1
-
value2
) y lo trunca a días (teniendo en cuenta el horario de verano).
DAYS_BETWEEN([ship_date], [order_date])
Devuelve la parte especificada de un
DATE
valor
EXTRACT("hour",[order_date])
Calcula el número entero de horas (ignorando minutos, segundos y milisegundos) entre dos
DATE
valores (
value1
-
value2
).
HOURS_BETWEEN([ship_date],[order_date])
Calcula el número entero de milisegundos entre dos
DATE
valores (
value1
-
value2
).
MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
Calcula el número entero de minutos (ignorando segundos y milisegundos) entre dos
DATE
valores (
value1
-
value2
).
MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
Calcula el número entero de segundos (ignorando los milisegundos) entre dos
DATE
valores (
value1
-
value2
).
SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
Devuelve la fecha y hora actuales del sistema como
DATE
valor (sin información de tiempo). Se puede utilizar en otras expresiones que impliquen
DATE
campos de tipo, como
YEAR_DIFF
. Tenga en cuenta que el valor de
TODAY
solo se evalúa en el momento en que se publica un conjunto de datos (no se vuelve a evaluar con cada consulta).
YEAR_DIFF(TODAY(), [birthdate])
Trunca un
DATE
valor al formato especificado.
TRUNC(TO_DATE([order_date], "MM/dd/yyyy HH:mm:ss"), "day")
Calcula el número fraccionario de años entre dos
DATE
valores (
value1
-
value2
).
YEAR_DIFF(TODAY(), [birthdate])

Funciones informativas

Función
Descripción
Ejemplo
Devoluciones
0
si el valor devuelto es
NULL
y
1
si el valor devuelto es
NOT NULL
. Esto es útil para realizar otros cálculos en los que desea excluir valores NULL (como al calcular promedios).
IS_VALID([sale_amount])

Funciones de instancia

Función
Descripción
Ejemplo
Crea un campo de varias instancias a partir de uno o varios campos de varias instancias o de instancia proporcionados.
CREATE_MULTI_INSTANCE([Journal1], [Journal2], [Journal3])
Compara un campo de varias instancias o de instancia con un campo de varias instancias, un campo de instancia o con una lista de valores de instancia, y devuelve verdadero si existe al menos un valor de instancia en el primer argumento y falso si ninguno de ellos existe. .
INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
Devuelve el número total de valores de instancia en un campo de varias instancias o de instancia. Esta función devuelve 0 cuando el campo está vacío.
INSTANCE_COUNT([Journal Lines])
Compara un campo de varias instancias o de instancia con un campo de varias instancias, un campo de instancia o con una lista de valores de instancia, y comprueba si el primer argumento coincide exactamente con los valores de instancia proporcionados en los otros argumentos.
INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
Compara un campo de varias instancias con un campo de varias instancias, un campo de instancia o con una lista de valores de instancia, y devuelve True si todos los valores de instancia existen en el primer argumento, y False si al menos uno no existe.
INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])

Funciones lógicas

Función
Descripción
Ejemplo
Evalúa cada fila del conjunto de datos de acuerdo con una o varias condiciones de entrada y genera el resultado especificado cuando se cumplen las condiciones de entrada.
CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN "Female" ELSE "Unknown" END
Devuelve el primer valor válido (
NOT NULL
value) de una lista de expresiones separadas por comas.
COALESCE([hourly_wage] * 40 * 52, [salary])

Funciones matemáticas

Función
Descripción
Ejemplo
DIV
Divide entre dos
LONG
values y devuelve un valor de cociente de tipo
LONG
(el resultado se trunca a 0 decimales).
DIV(TO_LONG([file_size]), 1024)
EXP
Eleva la constante matemática
e
elevado a la potencia (exponente) de un valor numérico y devuelve un valor de tipo
DOUBLE
.
EXP([Value])
Devuelve el valor entero mayor que es menor o igual que el argumento de entrada.
FLOOR(32.6789) returns
32.0
Particiona de manera uniforme los valores de datos en el número especificado de buckets. Crea un hash del valor de entrada y asigna a ese valor un número de depósito. Los valores iguales siempre generarán el mismo número de bucket.
HASH([username],20)
LN
Devuelve el logaritmo natural de un número. El logaritmo natural es el logaritmo en base
e
, donde
e
(Número de Euler) es una constante matemática aproximadamente igual a 2,718281828. El logaritmo natural de un número
x
es la potencia a la que la constante
e
debe aumentarse para ser igual
x
.
LN(2.718281828) returns
1
MOD
Divide 2
LONG
o
INTEGER
values y devuelve el valor restante de tipo
LONG
o
INTEGER
(el resultado se trunca a 0 decimales).
MOD(TO_LONG([file_size]), 1024)
POW
Eleva un valor numérico a la potencia (exponente) de otro valor numérico y devuelve un valor de tipo
DOUBLE
.
100 * POW([end_value]/[start_value], 0.2) - 1
Redondea un valor numérico al número especificado de decimales y devuelve un valor de tipo
DOUBLE
.
ROUND(32.4678954,2) returns
32.47

Funciones de texto

Función
Descripción
Ejemplo
Compara dos
TEXT
argumentos que representan una máscara CIDR y una dirección IP, y devuelve
1
si la dirección IP se encuentra dentro de la máscara de subred especificada o
0
si no es así.
CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
Devuelve un
TEXT
concatenando (combinando) los resultados de varios
TEXT
expresiones
CONCAT([month], "/", [day], "/", [year])
Extrae el valor del identificador de cookie dado de una lista delimitada por punto y coma de pares clave/valor de cookie. Esta función se puede utilizar para extraer un valor de cookie concreto de una columna de cookie de registro de acceso web combinado.
EXTRACT_COOKIE("SSID=ABC; vID=44", "vID") returns
44
Extrae el valor de la clave dada de una cadena que contiene pares clave/valor delimitados.
EXTRACT_VALUE("firstname;daria|lastname;hutch", "lastname", ";", "|") returns
hutch
Devuelve el nombre de archivo original del sistema de archivos de origen cuando los datos proceden de un conjunto de datos base. Si es la primera vez que utiliza Workday, no tiene acceso para crear ni editar conjuntos de datos base.
TO_DATE(SUBSTRING(FILE_NAME(), 0, 8), "yyyyMMdd")
Convierte un valor codificado en hexadecimal
TEXT
valor a una representación de texto de una dirección IP.
HEX_TO_IP(AB20FE01) returns
171.32.254.1
Devuelve un número entero que indica la posición de un carácter dentro de una cadena que es el primer carácter de la aparición de una subcadena. El
INSTR
La función es similar a la función FIND de Excel, excepto que la primera letra es la posición 0 y el orden de los argumentos se invierte.
INSTR([url], "http://", -1, 1)
Devuelve la versión sin escape de una secuencia de escape de caracteres Unicode de Java como
TEXT
valor
CASE WHEN [currency] == JAVA_STRING("\u00a5") THEN "yes" ELSE "no" END
Devuelve un
TEXT
concatenando (combinando) los resultados de varios
TEXT
valores con el separador entre cada valor no nulo.
JOIN_STRINGS("/", [month], [day], [year])
Extrae un
NUMERIC
valor de un campo en un objeto JSON.
JSON_DECIMAL([top_scores], "test_scores.2")
Extrae un
DOUBLE
valor de un campo en un objeto JSON.
JSON_DOUBLE([top_scores], "test_scores.2")
Extrae un
INTEGER
valor de un campo en un objeto JSON.
JSON_INTEGER([top_scores], "test_scores.2")
Extrae un
LONG
valor de un campo en un objeto JSON.
JSON_LONG([top_scores], "test_scores.2")
Extrae un
TEXT
valor de un campo en un objeto JSON.
JSON_STRING([misc], "hobbies.0")
Devuelve el recuento de caracteres de un
TEXT
valor
LENGTH([name])
Devuelve varios valores de salida empaquetados en una sola cadena de pares clave-valor separados por los separadores de clave y par por defecto. La cadena devuelta tiene un formato que puede ser leído por el
EXTRACT_VALUE
función
PACK_VALUES
utiliza la misma clave y los mismos valores de separador de par que
EXTRACT_VALUE
utiliza (las secuencias de escape Unicode
u0003
y
u0002
, respectivamente).
PACK_VALUES("ID", [custid], "Age", [age])
Realiza una coincidencia de cadena completa con un
TEXT
value con una expresión regular y devuelve la parte de la cadena que coincide con el primer grupo de captura de la expresión regular.
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Evalúa un
TEXT
valor con una expresión regular para determinar si hay una coincidencia y sustituye las cadenas coincidentes por el valor de sustitución especificado.
REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
Devuelve los caracteres de un valor de cadena en orden inverso.
REVERSE("123 Main Street")
Devuelve los caracteres especificados de un
TEXT
basado en la posición inicial y final opcionales dadas.
SUBSTRING([name], 0, 1)
Convierte todos los caracteres alfabéticos de un
TEXT
valor en minúsculas.
TO_LOWER("123 Main Street") returns
123 main street
Devuelve un
TEXT
con la primera letra de cada palabra en mayúscula.
TO_PROPER("123 Alameda de las Pulgas, San Mateo CA")
Convierte todos los caracteres alfabéticos de un
TEXT
valor en mayúsculas.
TO_UPPER("123 Main Street")
Elimina los espacios iniciales y finales de un
TEXT
valor
TRIM([area_code])
Toma XML y devuelve la primera cadena que coincide con la expresión XPath dada.
XPATH_STRING([address], "//address[@type='home']/zipcode")

Funciones de URL

Función
Descripción
Ejemplo
Devuelve la parte de autoridad de una cadena de URL. La parte de autoridad de una URL es la parte que tiene la información sobre cómo localizar y conectarse al servidor.
URL_AUTHORITY("http://user:password@mycompany.com:8012/mypage.html")
Devuelve la parte del fragmento de una cadena de URL.
URL_FRAGMENT("http://workday.com/news.php?topic=press#Workday%20News")
Devuelve la parte de host, dominio o dirección IP de una cadena de URL.
URL_HOST("http://user:password@mycompany.com:8012/mypage.html")
Devuelve la parte de la ruta de una cadena de URL.
URL_PATH("http://workday.com/company/contact.html")
Devuelve la parte de puerto de una cadena de URL.
URL_PORT("http://user:password@mycompany.com:8012/mypage.html")
Devuelve la parte de protocolo (o nombre de esquema de URI) de una cadena de URL.
URL_PROTOCOL("http://www.workday.com")
Devuelve la parte de consulta de una cadena de URL.
URL_QUERY("http://workday.com/news.php?topic=press&timeframe=today")
Descodifica un
TEXT
valor que se ha codificado con el
application/x-www-form-urlencoded
tipo de elemento multimedia
URLDECODE("N%2FA%20or%20%22not%20applicable%22")

Funciones de ventana

Función
Descripción
Ejemplo
AVG
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el promedio de todos los valores numéricos válidos del grupo. Suma todos los valores del grupo y los divide por el número de filas válidas (NOT NULL). Puede utilizar
AVG
para calcular las medias móviles.
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el número total de filas válidas (NOT NULL) en el grupo. Puede utilizar
COUNT
junto con otras funciones para calcular agregados acumulativos.
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el valor de la primera fila del grupo.
LAG
Es una función de agregado de ventana que divide las filas en grupos, ordena las filas por un campo y devuelve el valor de un campo de la fila en el desplazamiento especificado antes (por encima) de la fila actual del grupo.
[Salary] - (LAG([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] ASC) )
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el valor de la última fila del grupo.
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el valor de un campo de la fila en el desplazamiento especificado después (por debajo) de la fila actual del grupo.
[Salary] - (LEAD([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] DESC) )
MAX
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el valor máximo (más alto) del grupo.
MAX([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
MIN
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el valor mínimo (más bajo) del grupo.
MIN([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
Es una función de agregado de ventana que se utiliza para asignar un número de clasificación a cada fila de un grupo. Si varias filas tienen el mismo valor de clasificación (hay un empate), Workday asigna el mismo valor de clasificación a las filas empatadas y omite la siguiente posición de clasificación.
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
Es una función de agregado de ventanas que divide las filas en grupos, las ordena por un campo y asigna un número secuencial exclusivo a cada fila de un grupo, comenzando por 1 para la primera fila de cada grupo.
ROW_NUMBER
siempre asigna un valor exclusivo a cada fila de un grupo. Es posible que desee utilizar
ROW_NUMBER
para crear un ID exclusivo para cada fila de su conjunto de datos.
ROW_NUMBER() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
SUM
Es una función de agregado de ventana que divide las filas en grupos, las ordena por un campo y devuelve el total de todos los valores del grupo. Puede utilizar
SUM
para calcular los totales acumulados.
SUM([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)

Operadores aritméticos

Operador
Significado
Ejemplo
+
Suma
[amount] + 10
Añada 10 al valor del campo [amount].
-
Resta
[amount] - 10
Reste 10 del valor del campo [amount].
*
Multiplicación
[amount] * 100
Multiplique el valor del campo [amount] por 100.
/
División
[bytes] / 1024
Divida el valor del campo [bytes] entre 1024 y devuelva el cociente.

Operadores de comparación

Operador
Significado
Ejemplo
=
o
==
Igual a
[order_date] = "12/22/2016"
>
Mayor que
[age] > 18
!>
No superior a (equivalente a
<
)
[age] !> 8
<
Menor que
[age] < 30
!<
No menos de (equivalente a
>=
)
[age] !< 12
>=
Mayor o igual que
[age] >= 20
<=
Menor o igual que
[age] <= 29
<>
o
!=
o
^=
Distinto de
[age] <> 30
BETWEEN
min_value
AND
max_value
Compruebe si una fecha o un valor numérico se encuentran dentro de los valores
mínimo
y
máximo
(ambos incluidos).
[year] BETWEEN 2014 AND 2016
IN(
list
)
Probar si un valor está dentro de un conjunto.
[product_type] IN("tablet","phone","laptop")
LIKE("
pattern
")
Cotejo de patrón de caracteres simple e inclusivo que no distingue entre mayúsculas y minúsculas. El
*
el carácter coincide con cualquier número de caracteres. El
?
el carácter coincide exactamente con 1 (un solo) carácter.
[last_name] LIKE("?utch*")
Coincide con
Kutcher
,
hutch
pero no
con Krutcher
ni
con crutch
[company_name] LIKE("workday")
Coincide con
Workday
o
workday
valor
IS NULL
Compruebe si un valor de campo o una expresión es nulo (vacío).
[ship_date] IS NULL
Se evalúa como
verdadero
cuando el campo
fecha_envío
está vacío.

Operadores lógicos

Operador
Significado
Ejemplo
AND
Pruebe si dos condiciones son verdaderas.
OR
Pruebe si alguna de las dos condiciones es verdadera.
NOT
Invierte el valor de otros operadores.
  • year
    NOT
    BETWEEN 2013 AND 2016
  • first_name
    NOT
    LIKE("Jo?n*")
    Excluye
    a John
    ,
    jonny
    pero no a
    Jon
    ni a
    Joann.
  • Weekday
    NOT
    IN("Saturday", "Sunday")
  • purchase_date IS
    NOT
    NULL
    Se evalúa como
    verdadero
    cuando el campo
    de fecha_compra
    no está vacío.