Ir para o conteúdo principal
Workday User Guide
Última atualização: 2024-06-28
Referência rápida da expressão Prism

Referência rápida da expressão Prism

Funções de conversão

Função
Descrição
Exemplo
Cria um campo Moeda a partir de uma
NUMERIC
valor e a
TEXT
ou
INSTANCE
que contém um código de moeda válido. Quando o código da moeda não é válido, essa função retorna NULL.
BUILD_CURRENCY([Sale Price], [Currency Code])
Converte valores de dados de um tipo de campo (tipo de dados) em outro.
CAST([Region] AS Instance(eecb565181284b6a8ae8b45dc3ed1451))
CAST(99.99 AS decimal(10,3))
devoluções
99.990
.
CAST(99.99 AS decimal(20,2))
devoluções
99.99
.
CAST(99.999 AS decimal(10,2))
devoluções
100.00
.
Converte em
LONG
até
DATE
Valores, em que o número de entrada representa o número de milissegundos desde a época.
EPOCH_MS_TO_DATE(1360260240000) returns
2013-02-07T18:04:00:000Z
Usa um valor de moeda e extrai o valor numérico como um
NUMERIC
Valor
EXTRACT_AMOUNT([Salary])
Usa um
CURRENCY
e extrai o código da moeda como um
INSTANCE
Valor
EXTRACT_CODE([Salary])
Usa um
CURRENCY
e extrai o código da moeda como um
TEXT
Valor
EXTRACT_CODE_TEXT([Salary])
Converte em
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, ou
NUMERIC
até
BOOLEAN
.
TO_BOOLEAN([is_contingent])
Converte em
TEXT
valores que contêm dados válidos em formato de moeda para
CURRENCY
valores.
TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code]))
Converte em
TEXT
até
DATE
valores e especifica o formato dos elementos de data e hora na cadeia de caracteres.
TO_DATE([order_date],"yyyy.MM.dd 'at' HH:mm:ss z")
Converte em
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DOUBLE
, ou
NUMERIC
até
NUMERIC
valores com o número padrão de dígitos antes e depois do ponto decimal.
TO_DECIMAL([average_rating])
Converte em
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, ou
DOUBLE
até
DOUBLE
(um tipo de numérico)
TO_DOUBLE([average_rating])
Converte em
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, ou
DOUBLE
até
INTEGER
(número inteiro) valores. Durante a conversão
DOUBLE
Valores , tudo o que estiver após o ponto decimal será truncado (não arredondado para cima ou para baixo).
TO_INT([average_rating])
Converte em
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DECIMAL
,
DATE
, ou
DOUBLE
até
Long
(número inteiro) valores. Durante a conversão
Decimal
ou
DOUBLE
Valores , tudo o que estiver após o ponto decimal será truncado (não arredondado para cima ou para baixo).
TO_LONG([average_rating])
Converte valores de outros tipos de dados em
TEXT
Valores (caracteres)
TO_STRING([sku_number])

Funções de data

Função
Descrição
Exemplo
Adiciona o intervalo de tempo especificado a uma
DATE
Valor
DATE_ADD([invoice_date], 45, "day")
Calcula o tempo entre 2
DATE
valores (
value1
-
value2
) e o trunca para dias (contabilizando o horário de verão).
DAYS_BETWEEN([ship_date], [order_date])
Retorna a parte especificada de uma
DATE
Valor
EXTRACT("hour",[order_date])
Calcula o número inteiro de horas (ignorando minutos, segundos e milissegundos) entre duas horas.
DATE
valores (
value1
-
value2
).
HOURS_BETWEEN([ship_date],[order_date])
Calcula o número inteiro de milissegundos entre duas
DATE
valores (
value1
-
value2
).
MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
Calcula o número inteiro de minutos (ignorando segundos e milissegundos) entre duas
DATE
valores (
value1
-
value2
).
MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
Calcula o número inteiro de segundos (ignorando os milissegundos) entre duas
DATE
valores (
value1
-
value2
).
SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
Retorna a data e hora atuais do sistema como um
DATE
(sem informações de horas). Pode ser usado em outras expressões que envolvem
DATE
campos de tipo, como
YEAR_DIFF
. Observe que o valor de
TODAY
é avaliado somente no momento em que um conjunto de dados é publicado (não é reavaliado a cada consulta).
YEAR_DIFF(TODAY(), [birthdate])
Trunca a
DATE
para o formato especificado.
TRUNC(TO_DATE([order_date], "MM/dd/yyyy HH:mm:ss"), "day")
Calcula o número fracionário de anos entre duas
DATE
valores (
value1
-
value2
).
YEAR_DIFF(TODAY(), [birthdate])

Funções informativas

Função
Descrição
Exemplo
Devoluções
0
se o valor retornado é
NULL
, e
1
se o valor retornado é
NOT NULL
. Isso é útil para fazer outros cálculos em que você quer excluir valores NULL (como no cálculo de médias).
IS_VALID([sale_amount])

Funções de instância

Função
Descrição
Exemplo
Cria um campo Várias instâncias a partir de um ou mais campos Várias instâncias ou Instância fornecidos.
CREATE_MULTI_INSTANCE([Journal1], [Journal2], [Journal3])
Compara um campo Várias instâncias ou Instância a um campo Várias instâncias, a um campo Instância ou a uma lista de valores de instância e retorna Verdadeiro se pelo menos um valor de instância existir no primeiro argumento e Falso se nenhum deles existir .
INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
Retorna o número total de valores de instância em um campo Várias instâncias ou Instância. Essa função retorna 0 quando o campo está vazio.
INSTANCE_COUNT([Journal Lines])
Compara um campo Várias instâncias ou Instância a um campo Várias instâncias, a um campo Instância ou a uma lista de valores de instância e verifica se o primeiro argumento corresponde exatamente aos valores da instância fornecidos nos outros argumentos.
INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
Compara um campo Várias instâncias a um campo Várias instâncias, a um campo Instância ou a uma lista de valores de instância. Retorna Verdadeiro se todos os valores de instância existirem no primeiro argumento e Falso se pelo menos um não existir.
INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])

Funções lógicas

Função
Descrição
Exemplo
Avalia cada linha no conjunto de dados de acordo com uma ou mais condições de entrada e gera o resultado especificado quando as condições de entrada são atendidas.
CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN "Female" ELSE "Unknown" END
Retorna o primeiro valor válido (
NOT NULL
value) de uma lista de expressões separada por vírgulas.
COALESCE([hourly_wage] * 40 * 52, [salary])

Funções matemáticas

Função
Descrição
Exemplo
DIV
Divide dois
LONG
e retorna um valor hierárquico do tipo
LONG
(o resultado é truncado a 0 casa decimal).
DIV(TO_LONG([file_size]), 1024)
EXP
Aumenta a constante matemática
e
à potência (expoente) de um valor numérico e retorna um valor do tipo
DOUBLE
.
EXP([Value])
Retorna o maior número inteiro que é menor ou igual ao argumento de entrada.
FLOOR(32.6789) returns
32.0
Divide uniformemente os valores de dados no número especificado de buckets. Ele cria um hash do valor de entrada e atribui a esse valor um número de bucket. Valores iguais sempre terão como hash o mesmo número de bucket.
HASH([username],20)
LN
Retorna o logaritmo natural de um número. O logaritmo natural é o logaritmo da base
e
, em que
e
(número de Euler) é uma constante matemática aproximadamente igual a 2,718281828. O logaritmo natural de um número
x
é a potência para a qual a constante
e
deve ser aumentado para ser igual a
x
.
LN(2.718281828) returns
1
MOD
Divide 2
LONG
ou
INTEGER
e retorna o restante do valor do tipo
LONG
ou
INTEGER
(o resultado é truncado a 0 casa decimal).
MOD(TO_LONG([file_size]), 1024)
POW
Eleva um valor numérico à potência (expoente) de outro valor numérico e retorna um valor do tipo
DOUBLE
.
100 * POW([end_value]/[start_value], 0.2) - 1
Arredonda um valor numérico para o número especificado de casas decimais e retorna um valor do tipo
DOUBLE
.
ROUND(32.4678954,2) returns
32.47

Funções de texto

Função
Descrição
Exemplo
Compara dois
TEXT
argumentos que representam uma máscara CIDR e um endereço IP, e retorna
1
se o endereço IP está dentro da máscara de sub-rede especificada ou
0
caso contrário,
CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
Retorna a
TEXT
concatenando (combinando) os resultados de vários
TEXT
expressões
CONCAT([month], "/", [day], "/", [year])
Extrai o valor do identificador de cookie fornecido de uma lista delimitada por ponto e vírgula de pares de chave-valor de cookie. Essa função pode ser usada para extrair um valor de cookie específico de uma coluna combinada de cookies do registro de acesso à Web.
EXTRACT_COOKIE("SSID=ABC; vID=44", "vID") returns
44
Extrai o valor da chave fornecida de uma cadeia de caracteres que contém pares de chave-valor delimitados.
EXTRACT_VALUE("firstname;daria|lastname;hutch", "lastname", ";", "|") returns
hutch
Retorna o nome do arquivo original do sistema de arquivos de origem quando os dados vêm de um conjunto de dados base. Se você usa o Workday há pouco tempo, não tem acesso para criar ou editar conjuntos de dados base.
TO_DATE(SUBSTRING(FILE_NAME(), 0, 8), "yyyyMMdd")
Converte um código hexadecimal em
TEXT
para uma representação de texto de um endereço IP.
HEX_TO_IP(AB20FE01) returns
171.32.254.1
Retorna um número inteiro que indica a posição de um caractere em uma cadeia de caracteres que é o primeiro caractere da ocorrência de uma subcadeia de caracteres. O
INSTR
A função é semelhante à função FIND no Excel, exceto que a primeira letra é a posição 0 e a ordem dos argumentos é invertida.
INSTR([url], "http://", -1, 1)
Retorna a versão sem escape de uma sequência de escape de caracteres unicode Java como uma
TEXT
Valor
CASE WHEN [currency] == JAVA_STRING("\u00a5") THEN "yes" ELSE "no" END
Retorna a
TEXT
concatenando (combinando) os resultados de vários
TEXT
valores com o separador entre cada valor não nulo.
JOIN_STRINGS("/", [month], [day], [year])
Extrai uma
NUMERIC
de um campo em um objeto JSON.
JSON_DECIMAL([top_scores], "test_scores.2")
Extrai uma
DOUBLE
de um campo em um objeto JSON.
JSON_DOUBLE([top_scores], "test_scores.2")
Extrai um
INTEGER
de um campo em um objeto JSON.
JSON_INTEGER([top_scores], "test_scores.2")
Extrai uma
LONG
de um campo em um objeto JSON.
JSON_LONG([top_scores], "test_scores.2")
Extrai uma
TEXT
de um campo em um objeto JSON.
JSON_STRING([misc], "hobbies.0")
Retorna o número de caracteres em uma
TEXT
Valor
LENGTH([name])
Retorna vários valores de saída agrupados em uma única cadeia de pares de chave-valor separados pelos separadores de chave e par por padrão. A cadeia de caracteres retornada está em um formato que pode ser lido pelo
EXTRACT_VALUE
função.
PACK_VALUES
usa os mesmos valores de separador de chave e par que
EXTRACT_VALUE
usa (as sequências de escape Unicode
u0003
e
u0002
, respectivamente).
PACK_VALUES("ID", [custid], "Age", [age])
Executa uma correspondência de cadeia de caracteres inteira em relação a um
TEXT
com uma expressão regular e retorna a parte da cadeia de caracteres que corresponde ao primeiro grupo de captura da expressão regular.
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Avalia uma
TEXT
Um valor em relação a uma expressão regular para determinar se há uma correspondência e substitui as cadeias de caracteres correspondentes pelo valor de substituição especificado.
REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
Retorna os caracteres de um valor de cadeia de caracteres na ordem oposta.
REVERSE("123 Main Street")
Retorna os caracteres especificados de um
TEXT
com base na posição inicial e na posição final opcional fornecidas.
SUBSTRING([name], 0, 1)
Converte todos os caracteres alfabéticos de uma
TEXT
valor em minúsculas.
TO_LOWER("123 Main Street") returns
123 main street
Retorna a
TEXT
com a primeira letra de cada palavra em maiúscula.
TO_PROPER("123 Alameda de las Pulgas, San Mateo CA")
Converte todos os caracteres alfabéticos de uma
TEXT
valor para maiúsculas.
TO_UPPER("123 Main Street")
Remove os espaços à esquerda e à direita de uma
TEXT
Valor
TRIM([area_code])
Usa XML e retorna a primeira cadeia de caracteres que corresponde à expressão XPath fornecida.
XPATH_STRING([address], "//address[@type='home']/zipcode")

Funções de URL

Função
Descrição
Exemplo
Retorna a parte da autoridade de uma cadeia de caracteres de URL. A parte da autoridade de um URL é a parte que contém as informações de como localizar e se conectar ao servidor.
URL_AUTHORITY("http://user:password@mycompany.com:8012/mypage.html")
Retorna a parte do fragmento de uma cadeia de caracteres de URL.
URL_FRAGMENT("http://workday.com/news.php?topic=press#Workday%20News")
Retorna a parte do host, domínio ou endereço IP de uma cadeia de caracteres de URL.
URL_HOST("http://user:password@mycompany.com:8012/mypage.html")
Retorna a parte do caminho de uma cadeia de caracteres de URL.
URL_PATH("http://workday.com/company/contact.html")
Retorna a parte da porta de uma cadeia de caracteres de URL.
URL_PORT("http://user:password@mycompany.com:8012/mypage.html")
Retorna a parte do protocolo (ou nome do esquema URI) de uma cadeia de caracteres de URL.
URL_PROTOCOL("http://www.workday.com")
Retorna a parte de consulta de uma cadeia de caracteres de URL.
URL_QUERY("http://workday.com/news.php?topic=press&timeframe=today")
Decodifica a
TEXT
valor que foi codificado com o valor de
application/x-www-form-urlencoded
tipo de mídia
URLDECODE("N%2FA%20or%20%22not%20applicable%22")

Funções de janela

Função
Descrição
Exemplo
AVG
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna a média de todos os valores numéricos válidos no grupo. Ele soma todos os valores no grupo e divide pelo número de linhas válidas (NOT NULL). Você pode usar
AVG
para calcular médias móveis.
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o número total de linhas válidas (NOT NULL) no grupo. Você pode usar
COUNT
junto com outras funções para calcular agregados cumulativos.
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor da primeira linha no grupo.
LAG
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor de um campo na linha no deslocamento especificado antes (acima) da linha atual no grupo.
[Salary] - (LAG([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] ASC) )
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor da última linha no grupo.
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor de um campo na linha no deslocamento especificado após (abaixo) a linha atual no grupo.
[Salary] - (LEAD([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] DESC) )
MAX
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor máximo (mais alto) no grupo.
MAX([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
MIN
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o valor mínimo (menor) no grupo.
MIN([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
É uma função de agregação de janela usada para atribuir um número de classificação a cada linha em um grupo. Se várias linhas têm o mesmo valor de classificação (há um empate), o Workday atribui o mesmo valor de classificação às linhas em linha e ignora a posição da classificação subsequente.
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e atribui um número sequencial exclusivo a cada linha em um grupo, começando em 1 para a primeira linha em cada grupo.
ROW_NUMBER
sempre atribui um valor exclusivo a cada linha em um grupo. Você pode usar
ROW_NUMBER
para criar uma ID exclusiva para cada linha no seu conjunto de dados.
ROW_NUMBER() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
SUM
É uma função de agregação de janela que divide as linhas em grupos, as ordena por um campo e retorna o total de todos os valores no grupo. Você pode usar
SUM
para calcular totais executados.
SUM([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)

Operadores aritméticos

Operador
Significado
Exemplo
+
Adição
[amount] + 10
Adicione 10 ao valor do campo [amount].
-
Subtração
[amount] - 10
Subtraia 10 do valor do campo [amount].
*
Multiplicação
[amount] * 100
Multiplique o valor do campo [amount] por 100.
/
Divisão
[bytes] / 1024
Divida o valor do campo [bytes] por 1.024 e retorne o hierárquico.

Operadores de comparação

Operador
Significado
Exemplo
=
ou
==
Igual a
[order_date] = "12/22/2016"
>
Maior que
[age] > 18
!>
Não superior a (equivalente a
<
)
[age] !> 8
<
Menor que
[age] < 30
!<
Não inferior a (equivalente a
>=
)
[age] !< 12
>=
Maior ou igual a
[age] >= 20
<=
Menor ou igual a
[age] <= 29
<>
ou
!=
ou
^=
Diferente de
[age] <> 30
BETWEEN
min_value
AND
max_value
Teste se uma data ou valor numérico está dentro dos valores
mínimo
e
máximo
(inclusive).
[year] BETWEEN 2014 AND 2016
IN(
list
)
Testam se um valor está dentro de um conjunto.
[product_type] IN("tablet","phone","laptop")
LIKE("
pattern
")
Correspondência de padrões de caracteres inclusivos simples que não diferenciam maiúsculas de minúsculas O
*
O caractere corresponde a qualquer número de caracteres. O
?
o caractere corresponde exatamente a um (um) caractere.
[last_name] LIKE("?utch*")
Corresponde
a Kutcher
,
Hútch
, mas não
a Khutcher
ou
Muloca.
[company_name] LIKE("workday")
Corresponde
ao Workday
ou
ao workday
valor
IS NULL
Verifique se um valor ou expressão de campo é nulo (vazio).
[ship_date] IS NULL
Avalia como
verdadeiro
quando o campo
Ship_date
está vazio

Operadores lógicos

Operador
Significado
Exemplo
AND
Teste se duas condições são verdadeiras.
OR
Teste se alguma das duas condições é verdadeira.
NOT
Estorna o valor de outros operadores.
  • year
    NOT
    BETWEEN 2013 AND 2016
  • first_name
    NOT
    LIKE("Jo?n*")
    Exclui
    John
    ,
    Jonathan,
    mas não
    Jon
    ou
    Joann
  • Weekday
    NOT
    IN("Saturday", "Sunday")
  • purchase_date IS
    NOT
    NULL
    Avalia como
    verdadeiro
    quando o campo
    Purchase_date
    não está vazio