Pular para o conteúdo principal

Referência de função de cálculo personalizada

Esta página fornece uma referência completa de todas as funções suportadas para cálculos personalizados em painéis de AI/BI . Para obter informações sobre como usar cálculos personalizados, consulte O que são cálculos personalizados?.

Funções agregadas

Todas as medidas calculadas devem ser agregadas. As seguintes operações de agregação são suportadas:

nota

Use a palavra-chave DISTINCT em funções de agregação para incluir apenas valores exclusivos na agregação. Além disso, a cláusula FILTER(WHERE condition) pode ser anexada a qualquer função de agregação para limitar os valores incluídos no cálculo.

Função

Descrição

qualquer(expr)

Retorna true se pelo menos um valor de expr no grupo for true.

qualquer_valor(expr)

Retorna algum valor de expr para um grupo de linhas.

approx_count_distinct(expr[, relativoSD])

Retorna o número estimado de valores distintos em expr.

approx_percentile ([ALL | DISTINCT] expr, percentil [, precisão])

Retorna o valor aproximado do percentil de expr no percentil especificado.

média(expr)

Retorna a média calculada em uma coluna ou expressão.

bool_or(expr)

Retorna true se pelo menos um valor de expr for true.

corr(expr1, expr2)

Retorna o coeficiente de correlação de Pearson entre expr1 e expr2.

contar(*)

Retorna o número de linhas em um grupo.

contagem(DISTINCT expr)

Retorna o número de linhas exclusivas em um grupo.

count_if(expr)

Retorna a contagem de linhas que satisfazem uma determinada condição.

primeiro(expr [, ignoreNull])

Retorna o primeiro valor de expr para um grupo.

primeiro_valor(expr [, ignoreNull])

Retorna o primeiro valor de expr para um grupo.

último(expr [, ignoreNull])

Retorna o último valor de expr para o grupo.

último_valor(expr [, ignoreNull])

Retorna o último valor de expr para o grupo.

listagg(expr [, delimitador])

Retorna a concatenação de valores não nulos no grupo.

máx(expr)

Retorna o valor máximo em uma coluna ou expressão.

max_by(expr1, expr2)

Retorna o valor de expr1 associado ao valor máximo de expr2.

média(expr)

Retorna a média calculada em uma coluna ou expressão.

mediana(expr)

Retorna a mediana de um conjunto de valores.

min(expr)

Retorna o valor mínimo em uma coluna ou expressão.

min_by(expr1, expr2)

Retorna o valor de expr1 associado ao valor mínimo de expr2.

modo(expr [, determinístico ])

Retorna o valor mais frequente para expr.

percentil(expr, porcentagem [, frequência])

Retorna o valor exato do percentil de expr no percentil especificado em um grupo.

percentile_approx(expr, porcentagem [, precisão])

Retorna o valor aproximado do percentil de expr no percentil especificado.

regr_slope(y, x)

Retorna a inclinação da linha de regressão linear para pares não nulos em um grupo.

alguns(expr)

Retorna true se pelo menos um valor de expr no grupo for true.

padrão(expr)

Retorna o desvio padrão de um conjunto de valores.

desviopadrão(expr)

Retorna o desvio padrão de um conjunto de valores.

stddev_pop(expr)

Retorna o desvio padrão da população de um conjunto de valores.

stddev_samp(expr)

Retorna o desvio padrão da amostra de um conjunto de valores.

string_agg(expr [, delimitador])

Retorna a concatenação de valores de strings não nulas no grupo.

soma(expr)

Retorna o total de valores em uma coluna ou expressão.

variância(expr)

Retorna a variância de um conjunto de valores.

Operações aritméticas

Você pode combinar expressões com as seguintes operações aritméticas:

Operação

Descrição

expr1 % expr2

Retorna o resto da divisão de expr1 por expr2.

multiplicador * multiplicando

Retorna o produto de duas expressões.

expr1 + expr2

Retorna a soma de expr1 e expr2.

+ expressão

Retorna o valor da expressão.

expr1 - expr2

Retorna a diferença ao subtrair expr2 de expr1.

- expressão

Retorna o valor negado da expressão.

dividendo / divisor

Retorna o resultado da divisão do dividendo pelo divisor.

dividendo div divisor

Retorna a parte integral da divisão de dividend por divisor.

abs(expr)

Retorna o valor absoluto da expressão numérica.

acos(expr)

Retorna o cosseno inverso (arco cosseno) de expr.

asin(expr)

Retorna o seno inverso (arco seno) de expr.

brund(expr [, d])

Retorna expr arredondado para d casas decimais usando o modo de arredondamento HALF_EVEN.

ceil(expr) ou teto(expr)

Retorna o menor inteiro não menor que expr.

cos(expr)

Retorna o cosseno de expr.

exp(expr)

Retorna e elevado à potência de expr.

chão(expr)

Retorna o maior inteiro não maior que expr.

ln(expr)

Retorna o logaritmo natural da expressão.

log(base, expr)

Retorna o logaritmo de expr com o base especificado.

log10(expr)

Retorna o logaritmo de base 10 da expressão.

mod(expr1, expr2)

Retorna o resto da divisão de expr1 por expr2.

nulo se zero (expr)

Retorna NULL se expr for 0, caso contrário, retorna expr.

pi()

Retorna o valor de pi.

pmod(expr1, expr2)

Retorna o valor positivo de expr1 mod expr2.

pow(expr1, expr2) ou potência(expr1, expr2)

Retorna o resultado de expr1 elevado à potência de expr2.

radianos(expr)

Converte graus em radianos.

rand([semente])

Retorna um valor aleatório com distribuição uniforme no intervalo de 0 (inclusivo) a 1 (exclusivo).

rodada(expr [, d])

Retorna expr arredondado para d casas decimais usando o modo de arredondamento HALF_UP.

sinal(expr)

Retorna o sinal da expressão numérica.

pecado(expr)

Retorna o seno de expr.

sqrt(expr)

Retorna a raiz quadrada de expr.

tente_adicionar(expr1, expr2)

Adiciona dois valores. Se ocorrer um erro, retorna NULL.

try_divide(dividendo, divisor)

Divide o dividendo pelo divisor. Se ocorrer um erro, retorna NULL.

try_multiply(multiplicador, multiplicando)

Multiplica dois números. Se ocorrer um erro, retorna NULL.

tente_subtrair(expr1, expr2)

Subtrai expr2 de expr1. Se ocorrer um erro, retorna NULL.

zeroifnull(expr)

Retorna 0 se expr for NULL, caso contrário retorna expr.

Funções e operadoresBoolean

Cálculos personalizados oferecem suporte a operadores básicos de comparação e Boolean . Os seguintes operadores e funções são suportados:

Operação

Descrição

expr1 != expr2

Retorna true se expr1 não for igual a expr2.

!expr

Lógico que não.

expr1 e expr2

Retorna o AND bit a bit de expr1 e expr2.

expr1 e expr2

Retorna true se expr1 e expr2 forem true.

expr1 <=> expr2

Retorna o mesmo resultado que o operador igual para operandos não nulos, mas retorna true se ambos forem null e false se um for null.

expr1 <> expr2

Retorna true se expr1 não for igual a expr2.

expr1 < expr2

Retorna true se expr1 for menor que expr2.

expr1 <= expr2

Retorna true se expr1 for menor ou igual a expr2.

expr1 = expr2

Retorna true se expr1 for igual a expr2.

expr1 == expr2

Retorna true se expr1 for igual a expr2.

expr1 > expr2

Retorna true se expr1 for maior que expr2.

expr1 >= expr2

Retorna true se expr1 for maior ou igual a expr2.

expr1 ^ expr2

Retorna o OR exclusivo bit a bit de expr1 e expr2.

expr1 | expr2

Retorna o OR bit a bit de expr1 e expr2.

expr1 || expr2

Retorna true se pelo menos um de expr1 ou expr2 for true.

~expr

Retorna o NOT bit a bit de expr.

expr1 e expr2

Retorna true se expr1 e expr2 forem true.

expr entre inferior e superior

Testa se expr está dentro do intervalo especificado (sintaxe especial).

padrão str ilike

Retorna true se str corresponder a pattern (sem distinção entre maiúsculas e minúsculas). Também pode ser usado como ilike(str, pattern [, escapeChar]).

expr em (valor1, valor2, ...)

Testa se expr corresponde a qualquer valor em uma lista (sintaxe especial).

isnan(expr)

Retorna true se expr for NaN (não um número).

não é nulo(expr)

Retorna true se expr não for NULL.

é nulo(expr)

Retorna true se expr for NULL.

padrão tipo str

Retorna true se str corresponder a pattern. Também pode ser usado como like(str, pattern [, escapeChar]).

não expr

Lógico não (operador prefixo). Também pode ser usado como not(expr).

expr1 ou expr2

Retorna true se pelo menos um de expr1 ou expr2 for true.

str expressão regular expressão regular

Retorna true se str corresponder à expressão regular regexp.

regexp_like(str, regexp)

Retorna true se str corresponder à expressão regular regexp.

str rlike expressão regular

Retorna true se str corresponder à expressão regular regexp.

Funções de elenco

Use as seguintes funções para converter valores para um tipo especificado:

Função

Descrição

expr :: tipo

Converte o valor expr para o tipo de dados de destino type.

bigint(expr)

Converte o valor expr para BIGINT.

Booleano(expr)

Converte o valor expr para BOOLEAN.

cast(expr tipo AS)

Converte o valor expr para o tipo de dados de destino type.

data(expr)

Converte o valor expr para DATE.

decimal(expr [, p [, s]])

Converte o valor expr para DECIMAL com precisão p e escala s.

duplo(expr)

Converte o valor expr para DOUBLE.

flutuar(expr)

Converte o valor expr para FLOAT.

int(expr)

Converte o valor expr para INT.

strings(expr)

Converte o valor expr para STRING.

carimbo de data/hora(expr)

Converte o valor expr para TIMESTAMP.

até_data(expr [, fmt])

Converte o expr com o fmt em uma data.

to_timestamp(expr [, fmt])

Converte o expr com o fmt em um registro de data e hora.

try_cast(expr tipo AS)

Converte o valor expr para o tipo de dados de destino type com segurança.

tente_fazer_carimbo_de_data_hora(expr [, fmt])

Analisa o expr com o fmt para um registro de data e hora com segurança.

Funções de data, carimbo de data/hora e intervalo

Use as seguintes funções para trabalhar com datas, registros de data e hora e intervalos:

Função

Descrição

adicionar_meses(data_de_início, núm_meses)

Retorna a data que é num_months após start_date.

curadoria()

Retorna a data atual.

data_atual()

Retorna a data atual.

carimbo_de_data_atual()

Retorna o registro de data e hora atual.

date_add(data_de_início, núm_dias)

Retorna a data que é num_days após start_date.

date_diff(data final, data inicial)

Retorna o número de dias de startDate a endDate.

formato_de_data(expr, fmt)

Converte um registro de data e hora em uma string no formato fmt.

date_part(campo, fonte)

Extrai uma parte específica, como ano, mês ou dia, de uma data ou registro de data e hora.

date_sub(data_de_início, núm_dias)

Retorna a data que é num_days antes de start_date.

date_trunc(fmt, fonte)

Trunca uma data ou registro de data e hora para uma unidade especificada, como ano ou mês.

dateadd(unidade, valor, expr)

Adiciona o intervalo de tempo especificado a uma data ou registro de data e hora.

datediff(data final, data inicial)

Retorna o número de dias de startDate a endDate.

dia(expr)

Retorna o dia do mês a partir da data ou registro de data e hora.

nome do dia(expr)

Retorna o nome do dia da semana a partir da data ou registro de data e hora.

diadomês(expr)

Retorna o dia do mês a partir da data ou registro de data e hora.

diadasemana(expr)

Retorna o dia da semana a partir da data ou registro de data e hora (1 = domingo, 7 = sábado).

diadoano(expr)

Retorna o dia do ano a partir da data ou registro de data e hora.

extrair(campo DA fonte)

Extrai uma parte da data ou registro de data e hora.

from_unixtime(unix_time [, fmt])

Converte o número de segundos da época Unix em um registro de data e hora.

from_utc_timestamp(carimbo de data/hora, fuso horário)

Interpreta o registro de data e hora fornecido como UTC e converte para o fuso horário fornecido.

obterdata()

Retorna o registro de data e hora atual.

hora(expr)

Retorna o componente de hora do registro de data e hora.

último_dia(expr)

Retorna o último dia do mês ao qual a data ou registro de data e hora pertence.

make_date(ano, mês, dia)

Cria uma data a partir dos campos ano, mês e dia.

make_timestamp(ano, mês, dia, hora, min, seg [, fuso horário])

Cria um registro de data e hora a partir dos campos ano, mês, dia, hora, minuto, segundo e, opcionalmente, fuso horário.

minuto(expr)

Retorna o componente de minuto do registro de data e hora.

mês(expr)

Retorna o componente do mês da data ou registro de data e hora.

meses_entre(carimbo de data/hora1, carimbo de data/hora2 [, arredondamento])

Retorna o número de meses entre timestamp1 e timestamp2.

next_day(data_de_início, dia_da_semana)

Retorna a primeira data posterior a start_date e nomeada como day_of_week.

agora()

Retorna o registro de data e hora atual.

trimestre(expr)

Retorna o trimestre do ano para a data ou registro de data e hora (1 a 4).

segundo(expr)

Retorna o segundo componente do registro de data e hora.

diferença de tempo(data final, data inicial)

Retorna a diferença entre dois registros de data e hora medidos em unidades.

timestamp_micros(microssegundos)

Cria um registro de data e hora a partir do número de microssegundos desde a época do Unix.

timestamp_millis(milissegundos)

Cria um registro de data e hora a partir do número de milissegundos desde a época do Unix.

timestamp_seconds(segundos)

Cria um registro de data e hora a partir do número de segundos desde a época do Unix.

timestampadd(unidade, valor, registro de data e hora)

Adiciona o intervalo de tempo especificado a um registro de data e hora.

timestampdiff(unidade, começo, fim)

Retorna a diferença entre dois registros de data e hora medidos em unidades.

até_data(expr [, fmt])

Converte o expr com o fmt em uma data.

to_timestamp(expr [, fmt])

Converte o expr com o fmt em um registro de data e hora.

to_unix_timestamp(expr [, fmt])

Retorna o registro de data e hora Unix do horário fornecido.

to_utc_timestamp(carimbo de data/hora, fuso horário)

Interpreta o registro de data e hora fornecido no fuso horário fornecido e converte para UTC.

trunc(expr, fmt)

Retorna expr com a parte do tempo do dia truncada para a unidade especificada pelo modelo de formato fmt.

unix_micros(carimbo de data/hora)

Retorna o número de microssegundos desde a época do Unix.

unix_millis(carimbo de data/hora)

Retorna o número de milissegundos desde a época do Unix.

unix_seconds(carimbo de data/hora)

Retorna o número de segundos desde a época do Unix.

unix_timestamp([expr [, fmt]])

Retorna o registro de data e hora Unix do horário fornecido.

dia da semana(expr)

Retorna o dia da semana a partir da data ou registro de data e hora (0 = segunda-feira, 6 = domingo).

semanadoano(expr)

Retorna a semana do ano a partir da data ou registro de data e hora.

ano(expr)

Retorna o componente do ano da data ou do registro de data e hora.

funções de strings

Use as seguintes funções para transformar strings. Para transformar strings de data e hora, consulte Funções de conversão.

Função

Descrição

base64(expr)

Converte o argumento em strings base64.

char(expr)

Retorna o caractere no ponto de código UTF-16 fornecido.

charindex(substr, str [, pos])

Retorna a posição da primeira ocorrência de substr em str após a posição pos.

concat(expr1, expr2 [, ...])

Retorna a concatenação dos argumentos.

concat_ws(sep [, expr1 [, ...]])

Retorna a concatenação de strings separadas por sep.

contém(esquerda, direita)

Retorna true se right for encontrado em left.

convert_timezone(origemTz, destinoTz, origemTs)

Converte o registro de data e hora sourceTs do fuso horário sourceTz para o fuso horário targetTz .

decodificar(expr, conjunto de caracteres)

Traduz o binário expr para uma string usando a codificação do conjunto de caracteres charSet.

termina com(esquerda, direita)

Retorna true se left termina com right.

encontrar_no_conjunto(str, str_array)

Retorna o índice (baseado em 1) das strings fornecidas na lista delimitada por vírgulas.

format_number(expr, escala)

Formatos expr como #,###,###.##, arredondados para scale casas decimais.

format_string(formato, expr [, ...])

Retorna uma string formatada a partir de strings de formato no estilo printf.

hex(expr)

Converte expr em hexadecimal.

initcap(str)

Retorna str com a primeira letra de cada palavra em maiúscula.

instr(str, substr)

Retorna a posição da primeira ocorrência de substr em str.

lcase(str)

Retorna str com todos os caracteres alterados para minúsculas.

esquerda(str, len)

Retorna os caracteres len mais à esquerda das strings str.

len(expr)

Retorna o comprimento das strings ou da expressão binária.

comprimento(expr)

Retorna o comprimento das strings ou da expressão binária.

levenshtein(str1, str2 [, limite])

Retorna a distância de Levenshtein entre as duas strings fornecidas.

localizar(substr, str [, pos])

Retorna a posição da primeira ocorrência de substr em str após a posição pos.

inferior(str)

Retorna str com todos os caracteres alterados para minúsculas.

lpad(str, len [, pad])

Retorna str preenchido à esquerda com pad até um comprimento de len.

ltrim(str [, trimStr])

Remove caracteres iniciais de str.

md5(expr)

Retorna uma soma de verificação MD5 de 128 bits como uma string hexadecimal.

parse_url(url, partToExtract [, key])

Extrai uma parte de url.

posição(substr, str [, pos])

Retorna a posição da primeira ocorrência de substr em str após a posição pos.

printf(formato, expr [, ...])

Retorna uma string formatada a partir de strings de formato no estilo printf.

regexp_count(str, regexp)

Retorna o número de vezes que a expressão regular regexp corresponde em str.

regexp_extract(str, regexp [, idx])

Extrai um grupo que corresponde a regexp.

regexp_instr(str, regexp)

Retorna a posição da primeira correspondência de regexp em str.

regexp_replace(str, regexp, rep [, posição])

Substitui todas as substrings de str que correspondem a regexp por rep.

regexp_substr(str, regexp)

Retorna a substring que corresponde à expressão regular regexp dentro de str.

repetir(str, n)

Retorna as strings que se repetem str n vezes.

substituir(str, pesquisar [, substituir])

Substitui todas as ocorrências de search por replace em str.

reverso(str)

Retorna str com a ordem dos caracteres invertida.

direita(str, len)

Retorna os caracteres len mais à direita das strings str.

rtrim([trimStr,] str)

Retorna str com caracteres finais removidos.

sha2(expr, comprimento do bit)

Retorna a família SHA-2 de funções hash.

split_part(str, delimitador, partNum)

Divide str por delimiter e retorna a parte solicitada.

começa com(esquerda, direita)

Retorna true se left começar com right.

substr(str, pos [, len])

Retorna a substring de str começando em pos com comprimento len.

substring(str, pos [, len])

Retorna a substring de str começando em pos com comprimento len.

substring_index(str, delim, contagem)

Retorna a substring antes de count ocorrências de delim.

to_char(expr [, fmt])

Converte expr em strings.

para_número(expr [, fmt])

Converte strings expr em um número.

traduzir(entrada, de, para)

Traduz input substituindo caracteres em from por caracteres correspondentes em to.

aparar(str [, trimStr])

Remove caracteres iniciais e finais de str.

ucase(str)

Retorna str com todos os caracteres alterados para maiúsculas.

superior(str)

Retorna str com todos os caracteres alterados para maiúsculas.

url_encode(str)

Codifica str para uso em parâmetros de consulta de URL.

Funções diversas

As seguintes funções também são suportadas:

Função

Descrição

AGREGADO SOBRE

Calcula valores em intervalos de tempo ou outros conjuntos ordenados para medidas.

CASO expr { QUANDO opt1 ENTÃO res1 } [...] [SENÃO def] FIM

Retorna resN para o primeiro optN que for igual a expr ou def se nenhum corresponder.

CASO { QUANDO cond1 ENTÃO res1 } [...] [SENÃO def] FIM

Retorna resN para o primeiro condN avaliado como verdadeiro, ou def se nenhum for encontrado.

coalescer(expr1, expr2 [, ...])

Retorna o primeiro argumento não nulo.

decodificar(expr, pesquisa, resultado [, pesquisa, resultado]... [, default])

Compara expr a cada valor de pesquisa e retorna o resultado correspondente.

get_json_object(json_txt, caminho)

Extrai um objeto JSON de json_txt no path especificado.

maior(expr [, ...])

Retorna o maior valor de todos os parâmetros.

hash(expr1 [, expr2 ...])

Retorna um valor hash dos argumentos.

if(condição, valor_verdadeiro, valor_falso)

Retorna true_value se condition for true, caso contrário retorna false_value.

iff(condição, valor_verdadeiro, valor_falso)

Retorna true_value se condition for true, caso contrário retorna false_value.

ifnull(expr1, expr2)

Retorna expr2 se expr1 for null ou expr1 caso contrário.

json_array_length(jsonArray)

Retorna o número de elementos no array JSON mais externo.

menos(expr [, ...])

Retorna o menor valor de todos os parâmetros.

id_crescente_monotonicamente()

Retorna inteiros de 64 bits monotonicamente crescentes.

nulose(expr1, expr2)

Retorna NULL se expr1 for igual a expr2, caso contrário retorna expr1.

nvl(expr1, expr2)

Retorna expr2 se expr1 for NULL ou expr1 caso contrário.

nvl2(expr1, expr2, expr3)

Retorna expr2 se expr1 não for NULL ou expr3 caso contrário.

schema_of_json(JSON [, opções])

Retorna o esquema no formato DDL das strings JSON .