Condividi tramite


Riferimento alla funzione di calcolo personalizzata

Questa pagina fornisce un riferimento completo di tutte le funzioni supportate per i calcoli personalizzati nei dashboard di intelligenza artificiale/BI. Per informazioni su come usare calcoli personalizzati, vedere Che cosa sono i calcoli personalizzati?.

Funzioni di aggregazione

Tutte le misure calcolate devono essere aggregate. Sono supportate le operazioni di aggregazione seguenti:

Annotazioni

Usare la DISTINCT parola chiave nelle funzioni di aggregazione per includere solo valori univoci nell'aggregazione. Inoltre, la FILTER(WHERE condition) clausola può essere aggiunta a qualsiasi funzione di aggregazione per limitare i valori inclusi nel calcolo.

Funzione Description
any(expr) Restituisce true se almeno un valore di expr nel gruppo è true.
any_value(expr) Restituisce un valore di expr per un gruppo di righe.
approx_count_distinct(expr[, relativeSD]) Restituisce il numero stimato di valori distinti in expr.
approx_percentile ([ALL | DISTINCT] expr, percentile [, accuratezza]) Restituisce il valore percentile approssimativo di expr in corrispondenza del percentile specificato.
avg(expr) Restituisce la media calcolata in una colonna o in un'espressione.
bool_or(expr) Restituisce true se almeno un valore di expr è true.
corr(expr1, expr2) Restituisce il coefficiente di correlazione di Pearson tra expr1 e expr2.
count(*) Restituisce il numero di righe di un gruppo.
count(DISTINCT expr) Restituisce il numero di righe univoce in un gruppo.
count_if(expr) Restituisce il numero di righe che soddisfano una determinata condizione.
first(expr [, ignoreNull]) Restituisce il primo valore di expr per un gruppo.
first_value(expr [, ignoreNull]) Restituisce il primo valore di expr per un gruppo.
last(expr [, ignoreNull]) Restituisce l'ultimo valore di expr per il gruppo.
last_value(expr [, ignoreNull]) Restituisce l'ultimo valore di expr per il gruppo.
listagg(expr [, delimiter]) Restituisce la concatenazione di valori non Null nel gruppo.
max(expr) Restituisce il valore massimo in una colonna o in un'espressione.
max_by(expr1, expr2) Restituisce il valore di expr1 associato al valore massimo di expr2.
mean(expr) Restituisce la media calcolata in una colonna o in un'espressione.
median(expr) Restituisce la median di un set di valori.
min(expr) Restituisce il valore minimo in una colonna o in un'espressione.
min_by(expr1, expr2) Restituisce il valore di expr1 associato al valore minimo di expr2.
mode(expr [, deterministic ]) Restituisce il valore più frequente per expr.
percentile(expr, percentage [, frequency]) Restituisce il valore percentile esatto di expr in corrispondenza del percentile specificato in un gruppo.
percentile_approx(expr, percentage [, accuratezza]) Restituisce il valore percentile approssimativo di expr in corrispondenza del percentile specificato.
regr_slope(y, x) Restituisce la pendenza della linea di regressione lineare per coppie non nulli in un gruppo.
some(expr) Restituisce true se almeno un valore di expr nel gruppo è true.
std(expr) Restituisce la deviazione standard di un set di valori.
stddev(expr) Restituisce la deviazione standard di un set di valori.
stddev_pop(expr) Restituisce la deviazione standard della popolazione di un set di valori.
stddev_samp(expr) Restituisce la deviazione standard del campione di un set di valori.
string_agg(expr [, delimiter]) Restituisce la concatenazione di valori stringa non Null nel gruppo.
sum(expr) Restituisce il totale dei valori in una colonna o in un'espressione.
varianza(expr) Restituisce la varianza di un set di valori.

Operazioni aritmetiche

È possibile combinare espressioni con le operazioni aritmetiche seguenti:

Operation Description
expr1 % expr2 Restituisce il resto della divisione di expr1 per expr2.
moltiplicatore * moltiplicando Restituisce il prodotto di due espressioni.
expr1 + expr2 Restituisce la somma di expr1 e expr2.
+ espr Restituisce il valore dell'espressione.
expr1 - expr2 Restituisce la differenza durante la sottrazione di expr2 da expr1.
- espr Restituisce il valore negato dell'espressione.
dividendo/divisore Restituisce il risultato della divisione del dividendo per il divisore.
dividendo div divisore Restituisce la parte intera della divisione di dividend per divisor.
abs(expr) Restituisce il valore assoluto dell'espressione numerica.
acos(expr) Restituisce il coseno inverso (coseno arco) di expr.
asin(expr) Restituisce il seno inverso (seno arco) di expr.
bround(expr [, d]) Arrotonda expr alle d posizioni decimali utilizzando la modalità di arrotondamento HALF_EVEN.
ceil(expr) o ceiling(expr) Restituisce il numero intero più piccolo non minore di expr.
cos(expr) Restituisce il coseno di expr.
exp(expr) Restituisce e elevato alla potenza di expr.
floor(expr) Restituisce l'intero più grande non maggiore di expr.
ln(expr) Restituisce il logaritmo naturale dell'espressione.
log(base, expr) Restituisce il logaritmo di expr con l'oggetto specificato base.
log10(expr) Restituisce il logaritmo di base 10 dell'espressione.
mod(expr1, expr2) Restituisce il resto della divisione di expr1 per expr2.
nullifzero(expr) Restituisce NULL se expr è 0, in caso contrario restituisce expr.
pi() Restituisce il valore di pi.
pmod(expr1, expr2) Restituisce il valore positivo di expr1 mod expr2.
pow(expr1, expr2) o power(expr1, expr2) Restituisce il risultato di expr1 elevato alla potenza di expr2.
radians(expr) Converte i gradi in radianti.
rand([seed]) Restituisce un valore casuale con distribuzione uniforme nell'intervallo compreso tra 0 (inclusi) e 1 (esclusivo).
round(expr [, d]) Restituisce arrotondato expr a d posizioni decimali utilizzando HALF_UP modalità di arrotondamento.
sign(expr) Restituisce il segno dell'espressione numerica.
sin(expr) Restituisce il seno di expr.
sqrt(expr) Restituisce la radice quadrata di expr.
try_add(expr1, expr2) Aggiunge due valori. Se si verifica un errore, restituisce NULL.
try_divide(dividend, divisore) Divide il dividendo per il divisore. Se si verifica un errore, restituisce NULL.
try_multiply(moltiplicatore, moltiplicatore) Moltiplica due numeri. Se si verifica un errore, restituisce NULL.
try_subtract(expr1, expr2) Sottrae expr2 da expr1. Se si verifica un errore, restituisce NULL.
zeroifnull(expr) Restituisce 0 se expr è NULL, in caso contrario restituisce expr.

Funzioni e operatori booleani

I calcoli personalizzati supportano operatori booleani e di confronto di base. Sono supportati gli operatori e le funzioni seguenti:

Operation Description
expr1 != expr2 Restituisce true se expr1 non è uguale a expr2.
!expr Non logico.
expr1 & expr2 Restituisce l'operazione AND bit a bit di expr1 e expr2.
expr1 && expr2 Restituisce true se sia expr1 che expr2 sono true.
expr1 <=> expr2 Restituisce lo stesso risultato dell'operatore uguale per gli operandi non Null, ma restituisce true se entrambi sono nulle false se uno è null.
expr1 <> expr2 Restituisce true se expr1 non è uguale a expr2.
expr1 < expr2 Restituisce true se expr1 è minore di expr2.
expr1 <= expr2 Restituisce true se expr1 è minore o uguale a expr2.
expr1 = expr2 Restituisce true se expr1 è uguale a expr2.
expr1 == expr2 Restituisce true se expr1 è uguale a expr2.
expr1 > expr2 Restituisce true se expr1 è maggiore di expr2.
expr1 >= expr2 Restituisce true se expr1 è maggiore o uguale a expr2.
expr1 ^ expr2 Restituisce l'OR esclusivo bit per bit di expr1 e expr2.
expr1 | expr2 Restituisce l'OR bit per bit di expr1 e expr2.
expr1 || expr2 Restituisce true se almeno uno di expr1 o expr2 è true.
~expr Restituisce il NOT bit per bit di expr.
expr1 e expr2 Restituisce true se sia expr1 che expr2 sono true.
expr tra limite inferiore e limite superiore Verifica se expr rientra nell'intervallo specificato (sintassi speciale).
str ilike pattern Restituisce true se str corrisponde pattern (senza distinzione tra maiuscole e minuscole). Può essere usato anche come ilike(str, pattern [, escapeChar]).
expr in (value1, value2, ...) Verifica se expr corrisponde a qualsiasi valore in un elenco (sintassi speciale).
isnan(expr) Restituisce true se expr è NaN (non un numero).
isnotnull(expr) Restituisce true se expr non è NULL.
isnull(expr) Restituisce true se expr è NULL.
modello simile a str Restituisce true se str corrisponde a pattern. Può essere usato anche come like(str, pattern [, escapeChar]).
non espr Non logico (operatore prefisso). Può essere usato anche come not(expr).
expr1 o expr2 Restituisce true se almeno uno di expr1 o expr2 è true.
str regexp regexp Restituisce true se str corrisponde all'espressione regexpregolare .
regexp_like(str, regexp) Restituisce true se str corrisponde all'espressione regexpregolare .
str rlike regexp Restituisce true se str corrisponde all'espressione regexpregolare .

Funzioni di cast

Utilizzare le funzioni seguenti per trasformare i valori in un tipo specificato.

Funzione Description
expr :: type Esegue il cast del valore expr verso il tipo di dati di destinazione type.
bigint(expr) Esegue il cast del valore expr su BIGINT.
boolean(expr) Esegue il cast del valore expr su BOOLEAN.
cast(expr AS tipo) Esegue il cast del valore expr verso il tipo di dati di destinazione type.
date(expr) Esegue il cast del valore expr su DATE.
decimal(expr [, p [, s]]) Converte il valore expr a DECIMAL con precisione p e scala s.
double(expr) Esegue il cast del valore expr su DOUBLE.
float(expr) Esegue il cast del valore expr su FLOAT.
int(expr) Esegue il cast del valore expr su INT.
string(expr) Esegue il cast del valore expr su STRING.
timestamp(expr) Esegue il cast del valore expr su TIMESTAMP.
to_date(expr [, fmt]) Converte expr con fmt in una data.
to_timestamp(expr [, fmt]) Converte expr utilizzando fmt in un timestamp.
try_cast(expr AS tipo) Converte il valore expr al tipo di dati di destinazione type in modo sicuro.
try_to_timestamp(expr [, fmt]) Effettua il parsing di expr con fmt in modo sicuro per ottenere un timestamp.

Funzioni di data, timestamp e intervallo

Usare le funzioni seguenti per usare date, timestamp e intervalli:

Funzione Description
add_months(start_date, num_months) Restituisce la data che è num_months dopo start_date.
curdate() Restituisce la data corrente.
current_date() Restituisce la data corrente.
current_timestamp() Restituisce il timestamp corrente.
current_timezone() Restituisce il fuso orario locale della sessione corrente.
date_add(data_inizio, num_giorni) Restituisce la data che è num_days dopo start_date.
date_diff(endDate, startDate) Restituisce il numero di giorni da startDate a endDate.
date_format(expr, fmt) Converte un timestamp in una stringa nel formato fmt.
date_part(field, source) Estrae una parte specifica, ad esempio anno, mese o giorno, da una data o un timestamp.
date_sub(start_date, num_days) Restituisce la data che è num_days prima di start_date.
date_trunc(fmt, source) Tronca una data o un timestamp a un'unità specificata, ad esempio anno o mese.
dateadd(unità, valore, espressione) Aggiunge l'intervallo di tempo specificato a una data o a un timestamp.
datediff(endDate, startDate) Restituisce il numero di giorni da startDate a endDate.
day(expr) Restituisce il giorno del mese dalla data o dal timestamp.
dayname(expr) Restituisce il nome del giorno della settimana dalla data o dal timestamp.
dayofmonth(expr) Restituisce il giorno del mese dalla data o dal timestamp.
dayofweek(expr) Restituisce il giorno della settimana dalla data o dal timestamp (1 = domenica, 7 = sabato).
dayofyear(expr) Restituisce il giorno dell'anno dalla data o dal timestamp.
extract(field FROM source) Estrae una parte della data o del timestamp.
from_unixtime(unix_time [, fmt]) Converte il numero di secondi dall'epoca Unix a un timestamp.
from_utc_timestamp(timestamp, zona oraria) Interpreta il timestamp specificato come UTC e viene convertito nel fuso orario specificato.
getdate() Restituisce il timestamp corrente.
hour(expr) Restituisce il componente ora del timestamp.
last_day(expr) Restituisce l'ultimo giorno del mese a cui appartiene la data o il timestamp.
make_date(anno, mese, giorno) Crea una data dai campi anno, mese e giorno.
make_timestamp(year, month, day, hour, min, sec [, timezone]) Crea un timestamp da campi anno, mese, giorno, ora, minuto, secondo e facoltativamente fuso orario.
minuto(expr) Restituisce il componente minuto del timestamp.
month(expr) Restituisce il componente mensile della data o del timestamp.
months_between(timestamp1, timestamp2 [, roundOff]) Restituisce il numero di mesi tra timestamp1 e timestamp2.
next_day(data_inizio, giorno_della_settimana) Restituisce la prima data successiva a start_date e denominata come day_of_week.
now() Restituisce il timestamp corrente.
quarter(expr) Restituisce il trimestre dell'anno per la data o il timestamp (da 1 a 4).
second(expr) Restituisce il secondo componente del timestamp.
timediff(endDate, startDate) Restituisce la differenza tra due timestamp misurati in unità.
timestamp_micros(microsecondi) Crea un timestamp dal conteggio dei microsecondi dall'epoca Unix.
timestamp_millis(millisecondi) Crea un timestamp dal numero di millisecondi della data di inizio dell'epoca Unix.
timestamp_seconds(seconds) Crea un timestamp dal numero di secondi dall'epoca Unix.
timestampadd(unit, value, timestamp) Aggiunge l'intervallo di tempo specificato a un timestamp.
timestampdiff(unità, inizio, fine) Restituisce la differenza tra due timestamp misurati in unità.
to_date(expr [, fmt]) Converte expr con fmt in una data.
to_timestamp(expr [, fmt]) Converte expr utilizzando fmt in un timestamp.
to_unix_timestamp(expr [, fmt]) Restituisce il timestamp Unix dell'ora specificata.
to_utc_timestamp(timestamp, fuso_orario) Interpreta il timestamp specificato nel fuso orario specificato e viene convertito in UTC.
trunc(expr, fmt) Restituisce expr con la parte relativa all'ora del giorno troncata all'unità specificata dal modello fmt di formato.
unix_micros(timestamp) Restituisce il numero di microsecondi dall'epoca Unix.
unix_millis(timestamp) Restituisce il numero di millisecondi dall'epoca Unix.
unix_seconds(timestamp) Restituisce il numero di secondi dall'epoca Unix.
unix_timestamp([expr [, fmt]]) Restituisce il timestamp Unix dell'ora specificata.
weekday(expr) Restituisce il giorno della settimana dalla data o dal timestamp (0 = lunedì, 6 = domenica).
settimana_dell_anno(expr) Restituisce la settimana dell'anno dalla data o dal timestamp.
year(expr) Restituisce la componente anno della data o del timestamp.

Funzioni stringa

Usare le funzioni seguenti per trasformare le stringhe. Per trasformare le stringhe datetime, vedere Funzioni cast.

Funzione Description
base64(expr) Converte l'argomento in una stringa base64.
char(expr) Restituisce il carattere in corrispondenza del punto di codice UTF-16 fornito.
charindex(substr, str [, pos]) Restituisce la posizione della prima occorrenza di substr in str dopo la posizione pos.
concat(expr1, expr2 [, ...]) Restituisce la concatenazione degli argomenti.
concat_ws(sep [, expr1 [, ...]]) Restituisce la concatenazione di stringhe separate da sep.
contains(left, right) Restituisce true se right viene trovato in left.
convert_timezone(sourceTz, targetTz, sourceTs) Converte il timestamp sourceTs dal sourceTz fuso orario al targetTz fuso orario.
decode(expr, charSet) Converte il file binario expr in una stringa usando la codifica charSetdel set di caratteri .
endswith(left, right) Restituisce true se left termina con right.
find_in_set(str, str_array) Restituisce l'indice (in base 1) della stringa specificata nell'elenco delimitato da virgole.
format_number(expr, scale) Formati expr come #,###,###.##, arrotondati a scale posizioni decimali.
format_string(format, expr [, ...]) Restituisce una stringa formattata dalle stringhe di formato di tipo printf.
hex(expr) Converte expr in formato esadecimale.
initcap(str) Restituisce str con la prima lettera di ogni parola in maiuscolo.
instr(str, substr) Restituisce la posizione della prima occorrenza di substr in str.
lcase(str) Restituisce str con tutti i caratteri modificati in minuscolo.
left(str, len) Restituisce i caratteri più a sinistra nella stringa len.
len(expr) Restituisce la lunghezza della stringa o dell'espressione binaria.
length(expr) Restituisce la lunghezza della stringa o dell'espressione binaria.
levenshtein(str1, str2 [, threshold]) Restituisce la distanza Levenshtein tra le due stringhe date.
locate(substr, str [, pos]) Restituisce la posizione della prima occorrenza di substr in str dopo la posizione pos.
lower(str) Restituisce str con tutti i caratteri modificati in minuscolo.
lpad(str, len [, pad]) Restituisce str riempito a sinistra con pad fino a raggiungere una lunghezza di len.
ltrim(str [, trimStr]) Rimuove i caratteri iniziali da str.
md5(expr) Restituisce un checksum MD5 a 128 bit sotto forma di stringa esadecimale.
parse_url(url, partToExtract [, key]) Estrae una parte da url.
position(substr, str [, pos]) Restituisce la posizione della prima occorrenza di substr in str dopo la posizione pos.
printf(format, expr [, ...]) Restituisce una stringa formattata dalle stringhe di formato di tipo printf.
regexp_count(str, regexp) Restituisce il numero di volte in cui l'espressione regolare regexp trova corrispondenze in str.
regexp_extract(str, regexp [, idx]) Estrae un gruppo che corrisponde a regexp.
regexp_instr(str, regexp) Restituisce la posizione della prima corrispondenza di regexp in str.
regexp_replace(str, regexp, rep [, position]) Sostituisce tutte le sottostringhe di str che corrispondono regexp a rep.
regexp_substr(str, regexp) Restituisce la sottostringa che corrisponde all'espressione regexp regolare all'interno di str.
repeat(str, n) Restituisce la stringa che si ripete strn volte.
sostituisci(str, ricerca [, sostituzione]) Sostituisce tutte le occorrenze di search con replace in str.
reverse(str) Restituisce str con l'ordine dei caratteri invertiti.
right(str, len) Restituisce i caratteri a destra len della stringa str.
rtrim([trimStr,] str) Restituisce str con caratteri finali rimossi.
sha2(expr, bitLength) Restituisce la famiglia di funzioni hash SHA-2.
split_part(str, delimiter, partNum) Divide str per delimiter e restituisce la parte richiesta.
startswith(left, right) Restituisce true se left inizia con right.
substr(str, pos [, len]) Restituisce la sottostringa di str a partire da pos con lunghezza len.
substring(str, pos [, len]) Restituisce la sottostringa di str a partire da pos con lunghezza len.
substring_index(str, delim, count) Restituisce la sottostringa prima delle count occorrenze di delim.
to_char(expr [, fmt]) Converte expr in una stringa.
to_number(expr [, fmt]) Converte la stringa expr in un numero.
translate(input, from, to) Converte input sostituendo i caratteri in from con i caratteri corrispondenti in to.
trim(str [, trimStr]) Rimuove i caratteri iniziali e finali da str.
ucase(str) Restituisce str con tutti i caratteri modificati in maiuscolo.
upper(str) Restituisce str con tutti i caratteri modificati in maiuscolo.
url_encode(str) Codifica str per l'uso nei parametri di query URL.

Funzioni varie

Sono supportate anche le funzioni seguenti:

Funzione Description
AGGREGA SU Calcola i valori tra intervalli di tempo o altri set ordinati per le misure.
CASE expr { WHEN opt1 THEN res1 } [...] [ELSE def] END Restituisce resN per il primo optN uguale a expr o def se nessuno corrisponde.
CASE { WHEN cond1 THEN res1 } [...] [ELSE def] END Restituisce resN per la prima condN che risulta vera, oppure def se non ne viene trovata nessuna.
coalesce(expr1, expr2 [, ...]) Restituisce il primo argomento non Null.
decode(expr, search, result [, search, result]... [, valore predefinito]) Confronta expr con ogni valore di ricerca e restituisce il risultato corrispondente.
get_json_object(json_txt, path) Estrae un oggetto JSON da json_txt in corrispondenza dell'oggetto specificato path.
greatest(expr [, ...]) Restituisce il valore massimo di tutti i parametri.
hash(expr1 [, expr2 ...]) Restituisce un valore hash degli argomenti.
if(condition, true_value, false_value) Restituisce true_value se condition è true, altrimenti restituisce false_value.
iff(condition, true_value, false_value) Restituisce true_value se condition è true, altrimenti restituisce false_value.
ifnull(expr1, expr2) Restituisce expr2 se expr1 è null o expr1 in caso contrario.
json_array_length(jsonArray) Restituisce il numero di elementi nella matrice JSON più esterna.
least(expr [, ...]) Restituisce il valore minimo di tutti i parametri.
monotonically_increasing_id() Restituisce numeri interi a 64 bit che aumentano in modo monotonico.
nullif(expr1, expr2) Restituisce NULL se expr1 uguale a expr2, in caso contrario restituisce expr1.
nvl(expr1, expr2) Restituisce expr2 se expr1 è NULL o expr1 in caso contrario.
nvl2(expr1, expr2, expr3) Restituisce expr2 se expr1 non è NULL, altrimenti expr3.
schema_of_json(json [, opzioni]) Restituisce lo schema nel formato DDL della stringa JSON.