Olá, SenseUser!
Com o objetivo de trazer melhores análises, autonomia e um visual mais moderno, o Sense Analytics é um grande aliado da sua rotina.
Sendo assim, neste artigo, iremos abordar “Funções para Expressões Customizadas”, que é uma forma customizada da realização de diversos cálculos.
O intuito deste artigo é descrever como trabalhar essas funções, de forma a trazer uma representação mais significativa; dentro da plataforma do Sense Analytics, a execução dos cálculos, pelo que chamamos de Expressões Customizadas, são usadas nas seguintes situações:
- Campos Customizados (Dimensões Customizadas e Medidas Customizadas);
- Filtros Customizados;
- Cálculos de Tabela (Table Calculations).
As funções que podem ser usadas em Expressões Customizadas podem ser divididas em alguns grupos de acordo com seus usos:
- Matemáticas: Funções numéricas;
- String (Cadeias de Caracteres): Funções relacionadas a números e letras;
- Datas: Funções relacionadas a datas e horários;
- Lógicas: Funções de comparação e funções booleanas (verdadeiro/falso);
- Posicionais: Funções para interpretação de dados de diferentes linhas/colunas.
Lembrando que algumas funções só podem ser usadas em Table Calculations, como as expressões para Filtros Customizados e Campos Customizados, elas não suportam funções que convertem tipos de dados, agregam dados de múltiplas linhas ou referenciam outras linhas/colunas pivotadas.
Neste artigo exemplificamos esta diferença e utilizaremos da legenda abaixo para identificarmos onde usar cada função.
- Funções que podem ser empregadas em qualquer tipo de expressão estarão indicadas com um “Q” (Qualquer lugar);
- Funções que podem ser empregadas apenas em Table Calculations estarão indicadas com um “T” (Table Calculation).
Funções e Operadores Matemáticos
Funções matemáticas podem atuar de duas maneiras:
- Algumas funções matemáticas realizam cálculos baseados em uma única linha. Por exemplo, cálculo de raiz quadrada, multiplicação e funções similares podem ser utilizadas em uma única linha, retornando um valor distinto para cada linha. Todos os operadores matemáticos (como + ou -) também são aplicados a uma linha de cada vez;
- Outras funções matemáticas, como médias ou totais acumulados, operam sobre várias linhas. Estas funções aceitam diversas linhas como entrada e as reduzem para um único número, e apresentam este mesmo número como resultado em todas linhas.
abs [Q]
abs(valor)
Descrição:
Retorna o valor absoluto do valor de entrada.
Exemplos:
abs(5) = 5
abs(-5) = 5
abs(null) = null
acos [T]
acos(valor)
Descrição:
Retorna o cosseno inverso do valor.
asin [T]
asin(valor)
Descrição:
Retorna o seno inverso do valor.
atan [T]
atan(valor)
Descrição:
Retorna a tangente inversa do valor.
beta_dist [T]
beta_dist(valor, alfa, beta, cumulativo)
Descrição:
Retorna a posição do valor na distribuição beta com parâmetros alfa e beta. Se cumulativo = yes, retorna a probabilidade acumulada.
beta_inv [T]
beta_inv(probabilidade, alfa, beta)
Descrição:
Retorna a posição da probabilidade na distribuição cumulativa beta com os parâmetros alfa e beta.
binom_dist [T]
binom_dist(num_sucessos, num_testes, probabilidade, cumulativo)
Descrição:
Retorna a probabilidade de se obter num_sucessos sucessos em num_testes testes com a dada probabilidade de sucesso. Se cumulativo = yes, retorna a probabilidade acumulada.
binom_inv [T]
binom_inv(num_testes, probabilidade_teste, probabilidade_alvo)
Descrição:
Retorna o menor número k tal que binom(k, num_testes, probabilidade_teste, yes) >= probabilidade_alvo.
ceiling [Q]
ceiling(valor)
Descrição:
Retorna o menor inteiro maior ou igual a valor.
Exemplos:
ceiling(0,56) = 1
ceiling(-3,11) = -3
chisq_dist [T]
chisq_dist(valor, gdl, cumulativo)
Descrição:
Retorna a posição de valor na distribuição gama com gdl graus de liberdade. Se cumulativo = yes, retorna a probabilidade acumulada.
chisq_inv [T]
chisq_inv(probabilidade, gdl)
Descrição:
Retorna a posição de probabilidade na distribuição gama inversa com gdl graus de liberdade.
chisq_test [T]
chisq_test(real, esperado)
Descrição:
Retorna a probabilidade do teste chi-quadrado para interdependência entre o valor real e o valor esperado. real pode ser uma coluna ou coluna de listas, enquanto esperado deve ser do mesmo tipo.
combin [T]
combin(tamanho_espaço, tamanho_amostra)
Descrição:
Retorna o número de combinações com tamanho_amostra elementos dentro de um espaço amostral de tamanho tamanho_espaço.
confidence_norm [T]
confidence_norm(alfa, dp, n)
Descrição:
Retorna metade da largura do intervalo de confiança da distribuição normal no nível alfa de significância, desvio padrão dp e tamanho amostral n.
confidence_t [T]
confidence_t(alfa, dp, n)
Descrição:
Retorna metade da largura do intervalo de confiança da distribuição t-Student no nível de significância alfa, desvio padrão dp e tamanho amostral n.
correl [T]
correl(coluna_1, coluna_2)
Descrição:
Retorna o coeficiente de correlação entre a coluna_1 e a coluna_2.
cos [T]
cos(valor)
Descrição:
Retorna o cosseno de valor.
count [T]
count(expressão)
Descrição:
Retorna a contagem de valores não nulos na coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a contagem em cada lista individualmente.
Exemplos:
count([1,2,3,4,5,1]) = 6
count([1,2,1],[1,1],[1,2,3,4]) = ([3,2,4])
count_distinct [T]
count_distinct(expressão)
Descrição:
Retorna a contagem de valores não nulos distintos na coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a contagem em cada lista individualmente.
Exemplos:
count_distinct([1,2,3,4,5,1]) = 5
count_distinct([1,2,1],[1,1],[1,2,3,4]) = ([2,1,4])
covar_pop [T]
covar_pop(coluna_1, coluna_2)
Descrição:
Retorna a covariância de população da coluna_1 e da coluna_2.
covar_samp [T]
covar_samp(coluna_1, coluna_2)
Descrição:
Retorna a covariância da amostra da coluna_1 e da coluna_2.
degrees [T]
degrees(valor)
Descrição:
Converte valor de radianos para graus.
exp [Q]
exp(n)
Descrição:
Retorna ℇ elevado à enésima potência.
expon_dist [T]
expon_dist(valor, lambda, cumulativo)
Descrição:
Retorna a posição de valor na distribuição exponencial de parâmetro lambda lambda. Se cumulativo = yes, retorna a probabilidade acumulada.
f_dist [T]
f_dist(valor, gdl_1, gdl_2, cumulativo)
Descrição:
Retorna a posição de valor na distribuição F de parâmetros gdl_1 e gdl_2. Se cumulativo = yes, retorna a probabilidade acumulada.
f_inv [T]
f_inv(probabilidade, gdl_1, gdl_2)
Descrição:
Retorna a posição de probabilidade na distribuição F invertida cumulativa de parâmetros gdl_1 e gdl_2.
fact [T]
fact(valor)
Descrição:
Retorna o fatorial de valor.
floor [Q]
floor(valor)
Descrição:
Retorna o maior inteiro menor ou igual a valor.
Exemplos:
floor(7,98) = 7
floor(-12,63) = -13
gamma_dist [T]
gamma_dist(valor, alfa, beta, cumulativo)
Descrição:
Retorna a posição de valor na distribuição gama com parâmetros alfa e beta. Se cumulativo = yes, retorna a probabilidade acumulada.
gamma_inv [T]
gamma_inv(probabilidade, alfa, beta)
Descrição:
Retorna a posição de probabilidade na distribuição gama inversa cumulativa com parâmetros alfa e beta.
geomean [T]
geomean(expressão)
Descrição:
Retorna a média geométrica da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a média geométrica de cada lista.
hypgeom_dist [T]
hypgeom_dist(sucessos_amostra, tamanho_amostra, sucessos_pop, tamanho_pop, cumulativo)
Descrição:
Retorna a probabilidade de se obter sucessos_amostra de um dado tamanho_amostra, número de sucessos_pop e tamanho_pop. Se cumulativo = yes, retorna a probabilidade acumulada.
intercept [T]
intercept(coluna_y, coluna_x)
Descrição:
Retorna a intersecção da linha de regressão linear através dos pontos determinados por coluna_y e coluna_x.
kurtosis [T]
kurtosis(expressão)
Descrição:
Retorna o excesso amostral de Curtose da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o excesso amostral de Curtose de cada lista.
large [T]
large(expressão, n)
Descrição:
Retorna o enésimo maior valor da coluna definida por expressão, a menos que expressão seja uma coluna de listas, neste caso retorna o enésimo maior valor de cada lista.
Exemplos:
large([1,5,10,7,3]) = 10
large([1,5,10],[3,7,1]) = ([10,7])
ln [Q]
ln(valor)
Descrição:
Retorna o logaritmo natural de valor.
log [Q]
log(valor)
Descrição:
Retorna o logaritmo de base 10 de valor.
match [T]
match(valor, expressão)
Descrição:
Retorna o número da linha da primeira ocorrência de valor na coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a posição da primeira ocorrência de valor em cada lista.
Exemplos:
match(5,[1,8,3,5,7,2]) = 4
max [T]
max(expressão)
Descrição:
Retorna o valor máximo da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o máximo de cada lista.
Exemplos:
max([4,5,3,7,8,1]) = 8
mean [T]
mean(expressão)
Descrição:
Retorna a média da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a média de cada lista.
median [T]
median(expressão)
Descrição:
Retorna a mediana da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a mediana de cada lista.
min [T]
min(expressão)
Descrição:
Retorna o valor mínimo da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o valor mínimo de cada lista.
Exemplos:
min([7,8,2,6,3]) = 2
mod [Q]
mod(valor, divisor)
Descrição:
Retorna o resto da divisão de valor pelo divisor.
Exemplos:
mod(7,3) = 1
mode [T]
mode(expressão)
Descrição:
Retorna a moda da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a moda de cada lista.
multinomial [T]
multinomial(valor_1, valor_2)
Descrição:
Retorna o fatorial da soma dos argumentos dividido pelo produto de cada um de seus fatoriais.
negbinom_dist [T]
negbinom_dist(num_falhas, num_sucessos, probabildiade, cumulativo)
Descrição:
Retorna a probabilidade de se obter num_falhas falhas antes de se obter num_sucessos sucessos, com uma dada probabilidade de sucesso. Se cumulativo = yes, retorna a probabilidade acumulada.
norm_dist [T]
norm_dist(valor, média, dp, cumulativo)
Descrição:
Retorna a posição de valor na distribuição normal com a dada média e desvio padrão dp. Se cumulativo = yes, retorna a probabilidade acumulada.
norm_inv [T]
norm_inv(probabilidade, média, dp)
Descrição:
Retorna a posição de probabilidade na distribuição normal cumulativa inversa.
norm_s_dist [T]
norm_s_dist(valor, cumulativo)
Descrição:
Retorna a posição de valor na distribuição normal padrão. Se cumulativo = yes, retorna a probabilidade acumulada.
norm_s_inv [T]
norm_s_inv(probabilidade)
Descrição:
Retorna a posição de probabilidade na distribuição normal cumulativa padrão.
percent_rank [T]
percent_rank(coluna, valor)
Descrição:
Retorna o rank de valor na coluna como uma porcentagem de 0 a 1 (inclusivo), onde coluna define a coluna, campo, lista ou alcance contendo os dados a serem considerados; e valor é a coluna com os valores pelos quais os ranks serão determinados.
percentile [T]
percentile(coluna_valor, valor_percentil)
Descrição:
Retorna o valor da coluna definida pela expressão coluna_valor, a menos que a expressão defina uma coluna de listas, neste caso retorna o valor percentil para cada lista. valor_percentil deve ser um valor entre 0 e 1, ou a função retornará null.
pi [T]
pi()
Descrição:
Retorna o valor de pi.
poisson_dist [T]
poisson_dist(valor, lambda, cumulativo)
Descrição:
Retorna a posição de valor na distribuição de Poisson de parâmetro lambda. Se cumulativo = yes, retorna a probabilidade acumulada.
power [Q]
power(base,n)
Descrição:
Retorna base elevada a enésima potência.
product [T]
product(expressão)
Descrição:
Retorna o produto da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o produto de cada lista.
rand [Q]
rand()
Descrição:
Retorna um valor aleatório entre 0 e 1.
rank [T]
rank(valor, expressão)
Descrição:
Retorna o rank do valor da coluna definida por expressão. Caso a expressão define múltiplas listas, esta função retorna o tamanho relativo de valor em casa lista.
rank_avg [T]
rank_avg(valor, expressão)
Descrição:
Retorna o rank médio de valor na coluna definida por expressão, a menos que expressão retorne uma coluna de listas, neste caso retorna a média de rank de valor em cada lista.
round [Q]
round(valor, num_decimais)
Descrição:
Retorna valor arredondado para um número de casas decimais num_decimais.
Exemplos:
round(17.12, 1) = 17.1
running_product [T]
running_product(coluna_valor)
Descrição:
Retorna o produto acumulado dos valores na coluna_valor.
running_total [T]
running_total(coluna_valor)
Descrição:
Retorna o valor acumulado dos valores na coluna_valor.
sin [T]
sin(valor)
Descrição:
Retorna o seno de valor.
skew [T]
skew(expressão)
Descrição:
Retorna a assimetria amostral da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a assimetria amostral de cada lista.
slope [T]
slope(coluna_y, coluna_x)
Descrição:
Retorna a inclinação da linha de regressão linear através dos pontos determinados pelas colunas coluna_y e coluna_x.
small [T]
small(expressão, n)
Descrição:
Retorna o enésimo menor valor da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o enésimo menor valor de cada lista.
Exemplos:
large([1,5,10,7,3]) = 1
large([1,5,10],[3,7,1]) = ([1,1])
sqrt [Q]
sqrt(valor)
Descrição:
Retorna a raiz quadrada de valor.
stddev_pop [T]
sdtdev_pop(expressão)
Descrição:
Retorna o desvio padrão populacional da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o desvio padrão populacional de cada lista.
stddev_samp [T]
stddev_samp(expressão)
Descrição:
Retorna o desvio padrão amostral da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o desvio padrão amostral de cada lista.
sum [T]
sum(expressão)
Descrição:
Retorna a soma da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a soma de cada lista.
Exemplos:
sum([1,5,10,7,3]) = 26
sum([1,5,10],[3,7,1]) = ([16,11])
t_dist [T]
t_dist(valor, gdl, cumulativo)
Descrição:
Retorna a posição de valor na distribuição de t-Student com gdl graus de liberdade. Se cumulativo = yes, retorna a probabilidade acumulada.
t_inv [T]
t_inv(probabilidade, gdl)
Descrição:
Retorna a posição de probabilidade na distribuição normal cumulativa inversa com gdl graus de liberdade.
t_test [T]
t_test(coluna_1, coluna_2, caudas, tipo)
Descrição:
Retorna o resultado de um test t-Student com os dados da coluna_1 e coluna_2, usando 1 ou 2 caudas. Se tipo: 1 = pareado; 2 = homoscedástico; 3 = heteroscedástico.
tan [T]
tan(valor)
Descrição:
Retorna a tangente de valor.
Exemplos:
var_pop [T]
var_pop(expressão)
Descrição:
Retorna a variância populacional da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a variância populacional de cada lista.
var_samp [T]
var_samp(expressão)
Descrição:
Retorna a variância amostral da lista definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna a variância de cada lista.
weibull_dist [T]
weibull_dist(valor, forma, escala, cumulativo)
Descrição:
Retorna a posição de valor na distribuição de Weibull com parâmetros forma e escala. Se cumulativo = yes, retorna a probabilidade acumulada.
z_test [T]
z_test(dados, valor, dp)
Descrição:
Retorna o valor-p de uma cauda do teste-z utilizando os dados e desvio padrão dp no valor médio hipotetizado.
Funções de String
Funções de String atuam em frases, palavras ou letras, que são coletivamente chamadas de “strings” (cadeias de caracteres). Com estas funções podemos capitalizar letras ou palavras, extrair trechos de frases, substituir elementos de uma palavra ou frase, etc. Também existem funções úteis para conversão de tipo de dados neste grupo.
concat [Q]
concat(valor1, valor2, ...)
Descrição:
Retorna valor-1, valor-2, … , valor-n unidos como uma string.
Exemplos:
concat([“seja”,” “,”bem-vindo”] = “seja bem-vindo”
contains [Q]
contains(string, string_busca)
Descrição:
Retorna Yes se a string contiver string_busca, caso contrário retorna No.
Exemplos:
contains(“seja bem-vindo”,”bem”) = Yes
contains(“seja bem-vindo”,”sejabem”) = No
length [Q]
length(string)
Descrição:
Retorna o número de caracteres contidos em string.
Exemplos:
length(“seja bem-vindo”) = 14
lower [Q]
lower(string)
Descrição:
Retorna string com todos caracteres convertidos para minúsculas.
Exemplos:
lower(“Seja Bem-Vindo”) = “seja bem-vindo”
position [Q]
position(string, string_busca)
Descrição:
Retorna o índice do início de string_busca em string se existir, caso contrário retorna 0.
Exemplos:
position(“seja bem-vindo”, “bem”) = 6
position(“seja bem-vindo”, “presunto”) = 0
replace [Q]
replace(string, string_antiga, string_nova)
Descrição:
Retorna string com todas as ocorrências de string_antiga substituídas por string_nova.
Exemplos:
replace(“seja mal-vindo”, “mal”, “bem”) = “seja bem-vindo”
split [T]
split(string, delimitador)
Descrição:
Retorna uma lista de strings contendo string dividida em trechos por delimitador.
Exemplos:
split(“seja, ,bem,-,vindo”, “,”) = ([“seja”,” “,”bem”,”-”,”vindo”])
substring [Q]
substring(string, posição_inicial, comprimento)
Descrição:
Retorna a substring de string que se inicia em posição_inicial e tenha comprimento igual a comprimento. A posição_inicial começa em 1, com 1 indicando o primeiro caracter da string, 2 indicando o segundo, etc.
Exemplos:
substring(“seja bem-vindo”, 6, 9) = “bem-vindo”
to_number [T]
to_number(string)
Descrição:
Retorna o número representado por string, ou null caso string não possa ser convertida.
Exemplos:
to_number(“19.548”) = 19.548
to_number(“seja bem-vindo”) = null
to_string [T]
to_string(valor)
Descrição:
Retorna a representação em string de valor, ou uma string vazia caso valor seja null.
Exemplos:
to_number(“19.548”) = null
to_number(“seja bem-vindo”) = “seja bem-vindo”
upper [Q]
upper(string)
Descrição:
Retorna string com todos caracteres convertidos em maiúsculas.
Exemplos:
upper(“seja bem-vindo”) = “SEJA BEM-VINDO”
Funções de Data
Funções de Data permitem a realização de operações com datas e horários.
add_days [Q]
add_days(número, data)
Descrição:
Adiciona número dias a data.
Exemplos:
add_days(4, 2022-01-01) = 2022-01-05
add_hours [Q]
add_hours(número, data)
Descrição:
Adiciona número horas a data.
Exemplos:
add_hours(4, 2022-01-01 01:00:00) = 2022-01-01 05:00:00
add_minutes [Q]
add_minutes(número, data)
Descrição:
Adiciona número minutos a data.
Exemplos:
add_minutes(4, 2022-01-01 01:00:00) = 2022-01-01 01:04:00
add_months [Q]
add_months(número, data)
Descrição:
Adiciona número meses a data.
Exemplos:
add_months(4, 2022-01-01) = 2022-05-01
add_seconds [Q]
add_seconds(número, data)
Descrição:
Adiciona número segundos a data.
Exemplos:
add_seconds(4, 2022-01-01 01:00:00) = 2022-01-01 01:00:04
add_years [Q]
add_years(número, data)
Descrição:
Adiciona número anos a data.
Exemplos:
add_years(4, 2022-01-01) = 2026-01-01 05:00:00
date [Q]
date(ano, mês, dia)
Descrição:
Retorna uma data no formato “Ano-Mês-Dia” ou null se a data for inválida.
Exemplos:
date(2022,01,01) = 2022-01-01
date(2022,”batata”,01) = null
date_time [Q]
(ano, mês, dia, horas, minutos, segundos)
Descrição:
Retorna uma data no formato “Ano-Mês-Dia Horas:Minutos:Segundos” ou null se a data for inválida.
Exemplos:
date(2022,01,01,01,00,00) = 2022-01-01 01:00:00
date(2022,”batata”,01, 01, 00, 00) = null
diff_days [Q]
diff_days(data_início, data_fim)
Descrição:
Retorna o número de dias entre data_início e data_fim.
Exemplos:
diff_days(2022-01-01, 2022-01-05) = 4
diff_hours [Q]
diff_hours(data_início, data_fim)
Descrição:
Retorna o número de horas entre data_início e data_fim.
Exemplos:
diff_hours(2022-01-01 01:00:00, 2022-01-01 11:00:00) = 10
diff_minutes [Q]
diff_minutes(data_início, data_fim)
Descrição:
Retorna o número de minutos entre data_início e data_fim.
Exemplos:
diff_minutes(2022-01-01 01:00:00, 2022-01-01 01:30:00) = 30
diff_months [Q]
diff_months(data_início, data_fim)
Descrição:
Retorna o número de meses entre data_início e data_fim.
Exemplos:
diff_months(2022-01-01 01:00:00, 2022-03-01 1:00:00) = 2
diff_seconds [Q]
diff_seconds(data_início, data_fim)
Descrição:
Retorna o número de segundos entre data_início e data_fim.
Exemplos:
diff_seconds(2022-01-01 01:00:45, 2022-01-01 1:00:00) = 45
diff_years [Q]
diff_years(data_início, data_fim)
Descrição:
Retorna o número de anos entre data_início e data_fim.
Exemplos:
diff_years(2022-01-01 01:00:00, 2023-01-01 1:00:00) = 1
extract_days [Q]
extract_days(data)
Descrição:
Extrai os dias de data.
Exemplos:
extract_days(2022-08-17 03:27:45) = 17
extract_hours [Q]
extract_hours(data)
Descrição:
Extrai as horas de data.
Exemplos:
extract_hours(2022-08-17 03:27:45) = 3
extract_minutes [Q]
extract_minutes(data)
Descrição:
Extrai os minutos de data.
Exemplos:
extract_minutes(2022-08-17 03:27:45) = 27
extract_months [Q]
extract_months(data)
Descrição:
Extrai o mês de data.
Exemplos:
extract_months(2022-08-17 03:27:45) = 8
extract_seconds [Q]
extract_seconds(data)
Descrição:
Extrai os segundos de data.
Exemplos:
extract_seconds(2022-08-17 03:27:45) = 45
extract_years [Q]
extract_years(data)
Descrição:
Extrai o ano de data.
Exemplos:
extract_years(2022-08-17 03:27:45) = 2022
now [Q]
now()
Descrição:
Retorna a data e horário atual.
Exemplos:
now() = 2022-07-01 11:50:37
to_date [T]
to_date(string)
Descrição:
Retorna a data e horário correspondentes à string. Aceita os formatos AAAA, AAAA-MM, AAAA-MM-DD, AAAA-MM-DD hh, AAAA-MM-DD hh:mm ou AAAA-MM-DD hh:mm:ss.
Exemplos:
to_date(“2022-08-17 03:27:45”) = 2022-08-17 03:27:45
trunc_days [Q]
trunc_days(data)
Descrição:
Trunca data para dias.
Exemplos:
trunc_days(2022-08-17 03:27:45) = 2022-08-17
trunc_hours [Q]
trunc_hours(data)
Descrição:
Trunca data para horas.
Exemplos:
trunc_hours(2022-08-17 03:27:45) = 2022-08-17 03:00:00
trunc_minutes [Q]
trunc_minutes(data)
Descrição:
Trunca data para minutos.
Exemplos:
trunc_minutes(2022-08-17 03:27:45) = 2022-08-17 03:27:00
trunc_months [Q]
trunc_months(data)
Descrição:
Trunca data para meses.
Exemplos:
trunc_months(2022-08-17 03:27:45) = 2022-08-01
trunc_years [Q]
trunc_years(data)
Descrição:
Trunca data para anos.
Exemplos:
trunc_years(2022-08-17 03:27:45) = 2022-01-01
Funções Lógicas
Funções Lógicas e Operadores são usadas para avaliar se determinadas condições são verdadeiras ou falsas. Expressões utilizando estes operadores e funções tomam como entrada um determinado valor, comparam-no contra um critério e retornam “Yes” se o critério for cumprido e “No” se não for. Também existem vários operadores lógicos para comparar e combinar expressões lógicas.
case [Q]
case(when(expressão, valor_se_verdadeiro), when(expressão, valor_se_verdadeiro), valor_falsos)
Descrição:
Possibilita uso de lógica condicional com múltiplas condições e resultados. Retorna valor_se_verdadeiro para a primeira expressão cujo valor seja yes. Retorna valor_falsos caso nenhuma expressão seja verdadeira.
Exemplos:
case(
when(tipo = “recorrente”, “MRR”),
when(tipo = “anual”, “ARR”),
“pontual”)
coalesce [Q]
coalesce(valor_1, valor_2, valor_3, ...)
Descrição:
Retorna o primeiro valor não nulo dentre valor_1, valor_2, valor_3, … , valor_n se encontrado. Se todos forem nulos, retorna null. Pode ser utilizada para remover valores inválidos de uma coluna, substituindo-os por null.
Exemplos:
coalesce([null, null, 30, “batata”]) = 30
if [Q]
if(expressão, valor_verdadeiro, valor_falso)
Descrição:
Retorna valor_verdadeiro caso expressão tenha valor yes, e valor_falso caso tenha valor no.
Exemplos:
if(tipo = “recorrente”, “MRR”, “pontual”)
is_null [Q]
is_null(valor)
Descrição:
Retorna Yes caso valor seja nulo, e No caso contrário.
Exemplos:
is_null(null) = Yes
is_null(30) = No
Operadores Lógicos
Os seguintes operadores podem ser utilizados com qualquer tipo de dados:
=
valor_1 = valor_2
Descrição:
Retorna Yes se valor_1 for igual a valor_2 e No caso contrário.
Exemplos:
(30 = 30) = Yes
(30 = 20) = No
!=
valor_1 != valor_2
Descrição:
Retorna Yes se valor_1 for diferente de valor_2 e No caso contrário.
Exemplos:
(30 != 30) = No
(30 != 20) = Yes
Os seguintes operadores somente podem ser utilizados com números e datas:
>
valor_1 > valor_2
Descrição:
Retorna Yes se valor_1 for maior que valor_2 e No caso contrário.
Exemplos:
(30 > 40) = No
(30 > 20) = Yes
<
valor_1 < valor_2
Descrição:
Retorna Yes se valor_1 for menor que valor_2 e No caso contrário.
Exemplos:
(30 < 40) = Yes
(30 < 20) = No
>=
valor_1 >= valor_2
Descrição:
Retorna Yes se valor_1 for maior ou igual a valor_2 e No caso contrário.
Exemplos:
(30 >= 30) = Yes
(30 >= 20) = Yes
(30 >= 31) = No
<=
valor_1 <= valor_2
Descrição:
Retorna Yes se valor_1 for menor ou igual a valor_2 e No caso contrário.
Exemplos:
(30 <= 30) = Yes
(30 <= 20) = No
(30 <= 31) = Yes
Estes seguintes operadores lógicos podem ser empregados para combinar diferentes expressões:
AND
valor_1 AND valor_2
Descrição:
Retorna Yes caso ambos valor_1 e valor_2 tenham valor Yes, retorna No caso contrário.
Exemplos:
((30 = 30) AND (20 < 42)) = Yes
((30 = 30) AND (10 >= 12)) = No
OR
valor_1 OR valor_2
Descrição:
Retorna Yes caso pelo menos um dentre valor_1 e valor_2 tenha valor Yes, retorna No caso contrário.
Exemplos:
((30 = 29) OR (20 > 42)) = No
((30 = 30) OR (10 >= 12)) = Yes
((30 = 30) OR (10 > 9)) = Yes
NOT
NOT valor
Descrição:
Retorna Yes caso valor tenha valor No, e retorna No caso tenha valor Yes.
Exemplos:
NOT (30 = 30) = No
NOT (30 = 29) = Yes
Constantes Lógicas
Constantes lógicas podem ser usadas em expressões para determinar valores lógicos. Estas devem ser inseridas sempre em minúsculo e detêm os seguintes significados:
yes
Descrição:
Representa valor verdadeiro, True.
no
Descrição:
Representa valor falso, False.
null
Descrição:
Representa valor nulo, Null.
É importante notar que as constantes yes e no são símbolos especiais que detém os significados de true e false em expressões. Por outro lado, usar aspas como “yes” ou “no” cria strings literais.
Expressões lógicas são avaliadas como verdadeiras ou falsas sem necessidade de uma função if(), por exemplo:
if(${campo} > 100, yes, no)
é equivalente à:
${campo} > 100
Combinando os operadores AND e OR
Operadores AND são avaliados antes de operadores OR, a menos que seja indicado o contrário através de parênteses. Por exemplo, a seguinte expressão sem nenhum parêntese adicional:
if( ${campo_1} > 2 OR ${campo_2} =3 AND ${campo_3} , "OK", "Problema")
equivale a:
if( ${campo_1} > 2 OR (${campo_2} =3 AND ${campo_3}) , "OK", "Problema")
Funções Posicionais
Na criação de Table Calculations podemos empregar a transformação posicional para extrair determinados campos em diferentes linhas ou colunas pivotadas. Também conseguimos criar listas e recuperar índice de linhas e colunas.
Totais de Colunas e Linhas
Se forem ativados os totais na tabela, eles podem ser referenciados utilizando as os seguintes sufixos :
:total [Q]
${campo:total}
Descrição:
Retorna o total da coluna de campo.
:row_total [Q]
${campo:row_total}
Descrição:
Retorna o total da linha de campo.
Funções relacionadas a Linhas
Algumas dessas funções utilizam a posição relativa das linhas, então alterar a ordenação das linhas afeta os resultados.
index [T]
index(expressão, n)
Descrição:
Retorna o valor do enésimo elemento da coluna definida por expressão, a menos que expressão defina uma coluna de listas, neste caso retorna o valor do enésimo elemento de cada lista.
Exemplos:
index([20,12,40,325], 3) = 40
list [T]
list(valor_1, valor_2, ...)
Descrição:
Cria uma lista com os valores de entrada.
Exemplos:
list(30, 20, 14, 53) = [30, 20, 14, 53]
lookup [T]
lookup(valor, coluna_busca, coluna_resultado)
Descrição:
Retorna o valor na coluna_resultado que está na mesma linha que valor na coluna_busca.
offset [T]
offset(coluna, deslocamento)
Descrição:
Retorna o valor da linha (n + deslocamento) na coluna, onde n é o número da linha atual.
offset_list [T]
offset_list(coluna, deslocamento, quantidade)
Descrição:
Retorna uma lista com quantidade valores iniciando na linha (n + deslocamento) na coluna, onde n é o número da linha atual.
row [T]
row()
Descrição:
Retorna o número da linha atual.
Funções relacionadas a Colunas Pivotadas
Algumas dessas funções utilizam a posição relativa das colunas, então alterar a ordenação das colunas afeta os resultados.
pivot_column [T]
pivot_column()
Descrição:
Retorna o índice da coluna pivotada atual.
pivot_index [T]
pivot_index(expressão, índice)
Descrição:
Avalia expressão no contexto da coluna pivotada na posição índice (1 para primeiro pivô, 2 para segundo pivô, etc.). Retorna nulo para resultados não pivotados.
pivot_offset [T]
pivot_offset(expressão, deslocamento)
Descrição:
Retorna o valor da expressão na posição (n + deslocamento), onde n é a posição da coluna pivotada atual. Retorna nulo para resultados não pivotados.
pivot_offset_list [T]
pivot_offset_list(expressão, deslocamento, quantidade)
Descrição:
Retorna uma lista de quantidade valores em expressão iniciando na posição (n + deslocamento), onde n é o índice de pivô atual.
pivot_row [T]
pivot_row(expressão)
Descrição:
Retorna o valor pivotado de expressão como uma lista. Retorna nulo para resultados não pivotados.
pivot_where [T]
pivot_where(expressão_filtro, expressão)
Descrição:
Retorna o valor de expressão para a coluna pivotada que unicamente satisfaça a expressão_filtro ou nulo se múltiplas ou nenhuma coluna cumprir a condição.
Funções de Filtragem para Filtros e Campos Customizados
Funções de Filtragem permitem a utilização de expressões de filtro para obter resultados filtrados. Filtros funcionam em filtros customizados, medidas customizadas e dimensões customizadas, mas não em table calculations.
matches_filter
matches_filter(campo, `expressão_de_filtro`)
Descrição:
Retorna Yes se valor de campo for igual à expressão_filtro e No caso contrário.
Exemplos:
Para mais detalhes e exemplos, recomendamos procurar mais informações no artigo de Expressões de Filtro.
Restaram dúvidas? Entre em contato com o nosso time de Customer Experience (suporte@sensedata.com.br).
Comentários
0 comentário
Por favor, entre para comentar.