Informazioni di riferimento sulle funzioni di Tableau Prep

Le funzioni di calcolo di Tableau Prep ti consentono di utilizzare campi calcolati per creare nuovi dati utilizzando i dati già esistenti nell’origine dati.

Funzioni numeriche

SintassiDescrizione
ABS(number)Restituisce il valore assoluto del numero dato.

Esempi:

ABS(-7) = 7

ABS([Budget Variance])

Restituisce il valore assoluto per tutti i numeri contenuti nel campo Budget Variance.
ACOS(number)Restituisce l’arcocoseno del numero dato. Il risultato è in radianti.

Esempio:

ACOS(-1) = 3.14159265358979

ASIN(number)Restituisce l’arcoseno di un numero dato. Il risultato è in radianti.

Esempio:

ASIN(1) = 1.5707963267949

ATAN(number)Restituisce l’arcotangente di un numero dato. Il risultato è in radianti.

Esempio:

ATAN(180) = 1.5652408283942

ATAN2(y number, x number)Restituisce l’arcotangente di due numeri dati (x e y). Il risultato è in radianti.

Esempio:

ATAN2(2, 1) = 1.10714871779409

CEILING(number)Arrotonda un numero al numero intero più vicino di valore uguale o superiore.

Esempio:

CEILING(3.1415) = 4

COS(number)Restituisce il coseno di un angolo. Specifica l’angolo in radianti.

Esempio:

COS(PI( ) /4) = 0.707106781186548

COT(angle)Restituisce la cotangente di un angolo. Specifica l’angolo in radianti.

Esempio:

COT(PI( ) /4) = 1

DIV(integer1, integer2)Restituisce la parte intera di un’operazione di divisione, in cui integer1 è diviso per integer2.

Esempio:

DIV(11,2) = 5

EXP(number)Restituisce e innalzato alla potenza del numero dato.

Esempi:

EXP(2) = 7.389 EXP(-[Growth Rate]*[Time])

FLOOR(number)Arrotonda un numero al numero intero più vicino di valore uguale o inferiore.

Esempio:

FLOOR(3.1415) = 3

HEXBINX(number, number)Mappa una coordinata x, y alla coordinata x del contenitore esagonale più vicino. I contenitori hanno una lunghezza laterale di 1, quindi potrebbe essere necessario ridimensionare gli input in modo appropriato.

Esempio:

HEXBINX([Longitude], [Latitude])

HEXBINY(number, number)Mappa una coordinata x, y alla coordinata y del contenitore esagonale più vicino. I contenitori hanno una lunghezza laterale di 1, quindi potrebbe essere necessario ridimensionare gli input in modo appropriato.

Esempio:

HEXBINY([Longitude], [Latitude])

LN(number)

Restituisce il logaritmo naturale di un numero dato. Restituisce Null se il numero è minore o uguale a 0.

Esempio:

LN(EXP(5)) = 5

LOG(number [, base])

Restituisce il logaritmo di un numero per la base data. Se il valore base viene omesso, si utilizza il valore base 10.

Esempio:

LOG(256, 2) = 8

MAX(number, number)Restituisce il massimo dei due argomenti, che devono essere dello stesso tipo. Restituisce Null se un argomento è Null. MAX può anche essere applicato a un singolo campo in un calcolo aggregato.

Esempi:

MAX(4,7)
MAX(Sales,Profit)
MAX([First Name],[Last Name])

MIN(number, number)Restituisce il minimo dei due argomenti, che devono essere dello stesso tipo. Restituisce Null se un argomento è Null. MIN può anche essere applicato a un singolo campo in un calcolo aggregato.

Esempi:

MIN(4,7)

MIN(Sales,Profit)

MIN([First Name],[Last Name])

PI( )

Restituisce la costante numerica pi: 3,14159.

Esempio:

PI() = 3.14159265358979

POWER(number, power)Aumenta il numero fino alla potenza specificata.

Esempi:

POWER(5,2) = 52 = 25 POWER(Temperature, 2)

È inoltre possibile utilizzare il simbolo ^:

5^2 = POWER(5,2) = 25

RADIANS(number)Converte il numero dato da gradi in radianti.

Esempio:

RADIANS(180) = 3.14159

ROUND(number, [decimals])Arrotonda i numeri a un determinato numero di cifre. L’argomento decimals specifica quante posizioni decimali di precisione includere nel risultato finale. Se decimals è omesso, il numero viene arrotondato al numero intero più vicino.

Esempio:

Questo esempio arrotonda ogni valore di Sales a un numero intero:

ROUND(Sales)

SIGN(number)Restituisce il segno di un numero: i valori possibili di ritorno sono -1 se il numero è negativo, 0 se il numero è zero, o 1 se il numero è positivo.

Esempio:

Se la media del campo dei profitti è negativa, allora

SIGN(AVG(Profit)) = -1

SIN(number)Restituisce il seno di un angolo. Specifica l’angolo in radianti.

Esempi:

SIN(0) = 1.0

SIN(PI( )/4) = 0.707106781186548

SQRT(number)Restituisce la radice quadrata di un numero.

Esempio:

SQRT(25) = 5

SQUARE(number)Restituisce il quadrato di un numero.

Esempio:

SQUARE(5) = 25

TAN(number)

Restituisce la tangente di un angolo. Specifica l’angolo in radianti.

Esempio:

TAN(PI ( )/4) = 1.0

ZN(expression)

Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.

Esempio:

ZN([Profit]) = [Profit]

Funzioni stringa

SintassiDescrizione
ASCII(string)Restituisce il codice ASCII per il primo carattere di una stringa.

Esempio:

ASCII('A') = 65

CHAR(number)Restituisce il carattere codificato tramite il numero del codice ASCII.

Esempio:

CHAR(65) = 'A'

CONTAINS(string, substring)Restituisce true se la stringa data contiene la sottostringa specificata.

Esempio:

CONTAINS(“Calculation”, “alcu”) = true

ENDSWITH(string, substring)Restituisce true se la stringa data termina con la sottostringa substring specificata. Gli spazi vuoti finali vengono ignorati.

Esempio:

ENDSWITH(“Tableau”, “leau”) = true

FIND(string, substring, [start])Restituisce la posizione dell’indice di substring nella stringa oppure 0 se la sottostringa non viene trovata. Se viene aggiunto l’argomento facoltativo start, la funzione ignora qualsiasi istanza di substring che appare prima della posizione dell’indice start. Il primo carattere della stringa è la posizione 1.

Esempi:

FIND("Calculation", "alcu") = 2

FINDNTH(string, substring, occurrence)Restituisce la posizione dell’occorrenza n della sottostringa all’interno della stringa specificata, dove n è definito dall’argomento dell’occorrenza.

Esempio:

FINDNTH("Calculation", "a", 2) =7

ISDATE(string)

Restituisce true se una determinata stringa è una data valida.

Esempio:

ISDATE("2004-04-15") = True

LEFT(string, number)Restituisce il numero di caratteri più a sinistra della stringa.

Esempio:

LEFT("Matador", 4) = "Mata"

LEN(string)Restituisce la lunghezza della stringa.

Esempio:

LEN("Matador") = 7

LOWER(string)Restituisce la stringa con tutti i caratteri in minuscolo.

Esempio:

LOWER("ProductVersion") = "productversion"

LTRIM(string)Restituisce la stringa con gli eventuali spazi iniziali rimossi.

Esempio:

Example: LTRIM(" Sales") = "Sales"

(MID(string, start, [length])Restituisce la stringa a partire dalla posizione dell’indice start. Il primo carattere della stringa è la posizione 1. Se viene aggiunto l’argomento facoltativo lenght, la stringa restituita include solo quel numero di caratteri.

Esempi:

MID("Calculation", 2) = "alculation"

MID("Calculation", 2, 5) ="alcul"

PROPER(string)Converte una stringa di testo in modo che la prima lettera di ogni parola sia in maiuscolo e le lettere rimanenti siano in minuscolo. Anche gli spazi e i caratteri non alfanumerici, come la punteggiatura, fungono da separatori.

Esempio:

PROPER("PRODUCT name") = "Product Name"

REGEXP_EXTRACT(string, pattern)Restituisce una sottostringa della stringa specificata che corrisponde al gruppo di acquisizione all’interno del modello di espressione regolare. Il modello di espressione regolare richiede esattamente un gruppo di acquisizione

Esempio:

REGEXP_EXTRACT('abc 123', '[a-z]+\\s+(\\d+)') = '123'

REGEXP_EXTRACT_NTH(string, pattern, index)Restituisce una sottostringa della stringa specificata utilizzando il modello dell’espressione regolare. La porzione della stringa è abbinata al gruppo di acquisizione nth, dove n è l’indice dato.

Esempio:

REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\s+(\\d+)', 2) = '123'

REGEXP_MATCH(string, pattern)Restituisce True se una sottostringa della stringa specificata corrisponde al modello dell’espressione regolare.

Esempio:

REGEXP_MATCH('-([1234].[ The.Market ])-', '\\[\\s*(\\w*\\.)(\\w*\\s*\\])') = true

REGEXP_REPLACE(string, pattern, replacement)Restituisce una copia della stringa data in cui il modello di corrispondenza è sostituito dalla stringa sostitutiva.

Esempio:

REGEXP_REPLACE('abc 123', '\\s', '-') = 'abc--123'

REPLACE(string, substring, replacement)Cerca una sottostringa nella stringa e la sostituisce con la sostituzione. Se la sottostringa non viene trovata, la stringa rimane inalterata.

Esempio:

REPLACE("Calculation", "ion", "ed") = "Calculated"

RIGHT(string, number)Restituisce il numero di caratteri più a destra della stringa.

Esempio:

RIGHT("Calculation", 4) = "tion"

RTRIM(string)Restituisce la stringa con gli eventuali spazi finali rimossi.

Esempio:

Example: RTRIM("Market ") = "Market"

SPACE(number)Restituisce una stringa composta dal numero specificato di spazi ripetuti.

Esempio:

SPACE(1) = " "

SPLIT(string, delimiter, token number)

Restituisce una sottostringa da una stringa, come determinato da un delimitatore che estrae i caratteri dall’inizio o dalla fine della stringa.

Esempio:

SPLIT('a-b-c-d', '-', 2) = 'b'

STARTSWITH(string, substring)Restituisce True se la stringa inizia con substring. Gli spazi vuoti iniziali vengono ignorati.

Esempio:

STARTSWITH(“Joker”, “Jo”) = true

TRIM(string)Restituisce la stringa con gli spazi iniziali e finali rimossi.

Esempio:

TRIM(" Calculation ") = "Calculation"

UPPER(string)Restituisce la stringa con tutti i caratteri in maiuscolo.

Esempio:

UPPER("Calculation") = "CALCULATION"

Funzioni aggregate

SintassiDescrizione
AVG(expression)Restituisce la media di tutti i valori nell’espressione. AVG può essere utilizzato solo con campi numerici. I valori Null vengono ignorati

Esempio:

AVG([Profit])

COUNT(expression)Restituisce il numero di voci di un gruppo. I valori NULL non vengono conteggiati.

Esempio:

COUNT([Customer ID])

COUNTD(expression)Restituisce il numero di elementi distinti in un gruppo. I valori NULL non vengono conteggiati. Ogni valore univoco viene conteggiato una sola volta.

Esempio:

COUNTD([Region])

MEDIAN(expression)Restituisce la mediana di una singola espressione. MEDIAN può essere utilizzato solo con campi numerici. I valori NULL vengono ignorati.

Esempio:

MEDIAN([Profit])

PERCENTILE(expression, number)Calcolo aggregato che restituisce il valore percentile dell’espressione data corrispondente al numero specificato. I valori validi per il numero sono compresi tra 0 e 1. PERCENTILE([espressione], 0,50) restituirà sempre il valore mediano dell’espressione.

Esempio:

PERCENTILE([Sales], 0.90)

STDEV(expression)Restituisce la deviazione standard del campione dell’espressione.

Esempio:

STDEV([Profit])

STDEVP(expression)

Restituisce la deviazione standard della popolazione dell’espressione.

Esempio:

STDEVP([Profit])

SUM(expression)

Restituisce la somma di tutti i valori nell’espressione. SUM può essere utilizzato solo con campi numerici. I valori NULL vengono ignorati.

Esempio:

SUM([Profit])

VAR(expression)

Restituisce la varianza statistica di tutti i valori dell’espressione data sulla base di un campione della popolazione.

Esempio:

VAR([Height])

VARP(expression)

Restituisce la varianza statistica di tutti i valori dell’espressione data sulla base dell’intera popolazione.

Esempio:

VARP([Test Score])

ZN(expression)

Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.

Esempio:

ZN([Profit]) = [Profit]

Funzioni di conversione del tipo

SintassiDescrizione
DATERestituisce una data con un numero, una stringa o un’espressione di data.

Esempio:

DATE("2006-06-15 14:52") = 2006-06-15

Tieni presente che le virgolette sono obbligatorie.

DATETIME(expression)Restituisce data e ora con un numero, una stringa o un’espressione di data.

Esempio:

DATETIME("April 15, 2004 07:59:00")

Tieni presente che le virgolette sono obbligatorie.

FLOAT(expression)Restituisce un numero a virgola mobile data un’espressione di qualsiasi tipo. Questa funzione richiede numeri non formattati, il che significa che è necessario escludere virgole e altri simboli.

Esempio:

FLOAT("3")= 3.000

INT(expression)Restituisce un numero intero data un’espressione. Questa funzione tronca i risultati al numero intero più vicino allo zero.

Esempio:

INT(8.0/3.0) = 2 or INT(-9.7) = -9

MAKEDATE(year, month, day)Restituisce un valore di data costruito a partire da un anno, un mese e un giorno del mese.

Esempio:

MAKEDATE(2014, 3, 18)

MAKEDATETIME(date, time)

Restituisce un valore di data e ora in base a un’espressione di data e un’espressione di ora.

Esempio:

MAKEDATETIME(#2012-11-12#, #07:59:00#)

MAKETIME(hour, minute, second)

Restituisce un valore di ora costruito a partire da ore, minuti e secondi.

Esempio:

MAKETIME(14, 52, 40)

STR(expression)

Restituisce una stringa data un’espressione.

Esempio:

STR([Age])

Restituisce tutti i valori della misura Age come stringhe.

Funzioni data

SintassiDescrizione
DATEADD(date_part, interval, date)Aggiunge un incremento alla data specificata e restituisce la nuova data. L’incremento è definito dall’intervallo e da date_part.

Esempio:

DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM

DATEDIFF(date_part, start_date, end_date, [start_of_week])

Restituisce la differenza tra due date, sottraendo start_date da end_date. La differenza è espressa in unità di date_part. Se start_of_week è omesso, il giorno di inizio della settimana viene determinato dal giorno di inizio configurato per l’origine dati.

Esempio:

DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3

DATENAME(date_part, date, [start_of_week])Restituisce una parte della data specificata come stringa, dove la parte è definita da date_part. Se start_of_week è omesso, il giorno di inizio della settimana viene determinato dal giorno di inizio configurato per l’origine dati.

Esempio:

DATENAME('month', #2004-04-15#) = "April"

DATEPARSE(format, string)Converte una stringa in una data nel formato specificato.

Esempio:

DATEPARSE ("dd.MMMM.yyyy", "15.April.2004") = 2004-04-15 12:00:00 AM

DATEPARTT(date_part, date, [start_of_week])Restituisce una parte della data specificata come numero intero, dove la parte è definita da date_part. Se start_of_week è omesso, il giorno di inizio della settimana viene determinato dal giorno di inizio configurato per l’origine dati.

Esempio:

DATEPART('month', #2004-04-15#) = 4

DATETRUNC(date_part, date, [start_of_week])Tronca la data specificata in base a quanto specificato da date_part e restituisce la nuova data. Se start_of_week è omesso, il giorno di inizio della settimana viene determinato dal giorno di inizio configurato per l’origine dati.

Esempio:

DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM

DAY(date)Restituisce il giorno della data indicata come numero intero.

Esempio:

DAY(#2004-04-12#) = 12

ISDATE(string)Restituisce true se una determinata stringa è una data valida.

Esempio:

ISDATE("2004-04-15") = True

MONTH(date)

Restituisce il mese della data specificata come numero intero.

Esempio:

MONTH(#2004-04-12#) = 4

NOW()Restituisce la data e l’ora correnti.

Esempio:

NOW() = 2004-05-12 1:08:21 PM

TODAY()Restituisce la data attuale.

Esempio:

TODAY() = 2004-05-12

YEAR(date)Restituisce l’anno della data specificata come numero intero.

Esempio:

YEAR(#2004-04-12#) = 2004

Funzioni logiche

SintassiDescrizione
IFNULL(expr1, expr2)Restituisce <expr1> se non è Null, altrimenti <expr2>.

Esempio:

IFNULL([Profit], 0)

IIF(test, then, else, [unknown])Controlla se una condizione è soddisfatta e restituisce un valore per TRUE, un altro valore per FALSE e un terzo valore opzionale o NULL se sconosciuto.

Esempio:

IIF([Profit] > 0, 'Profit', 'Loss')

ISDATE(string)Restituisce true se una determinata stringa è una data valida.

Esempio:

ISDATE("2004-04-15") = True

ISNULL(expression)Restituisce True se l’espressione non contiene dati validi (Null).

Esempio:

ISNULL([Profit])

ZN(expression)

Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.

Esempio:

ZN([Profit]) = [Profit]

Funzioni analitiche

SintassiDescrizione
LAST_VALUE(expression, [return_last_non-null_value])Restituisce l’ultimo valore dell’espressione data, dalla prima riga della partizione alla riga corrente. Accetta un secondo parametro booleano facoltativo per restituire l’ultimo valore non Null.

Esempio:

{ ORDERBY [Row ID] ASC: LAST_VALUE([Category], true) } = returns the last non-null value of [Category]

LOOKUP(expression, [offset])

Restituisce il valore dell’espressione data in una riga di destinazione, specificato come offset relativo rispetto alla riga corrente. Se la riga di destinazione non è determinabile, restituisce NULL.

Il parametro [offset] della funzione LOOKUP può accettare solo un intero letterale, ad esempio 1.

Esempio:

{ORDERBY [DATE] ASC : LOOKUP([SALES], -1)}

Restituisce il valore SALES dalla riga precedente.

NTILE(number)Distribuisce le righe in una partizione selezionata in un numero specificato di gruppi o sezioni. Con questa funzione l’insieme dei valori (6,9,9,14) distribuiti su 3 sezioni verrebbe assegnato alle sezioni (1,2,2,3) in ordine crescente.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: NTILE(3) }}

RANK()Restituisce la classificazione standard della concorrenza per la riga corrente della partizione. A valori identici viene assegnata una classificazione identica.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK() }}

RANK_DENSE()Restituisce la classificazione densa per la riga corrente della partizione. A valori identici è assegnata una classificazione identica, ma nella sequenza numerica non vengono inseriti intervalli.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_DENSE() }}

RANK_MODIFIED()Restituisce la classificazione modificata della concorrenza per la riga corrente della partizione. A valori identici viene assegnata una classificazione identica.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_MODIFIED() }}

RANK_PERCENTILE()Restituisce la classificazione percentile per la riga corrente della partizione.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_PERCENTILE() }}

ROW_NUMBER()Restituisce un ID di riga sequenziale univoco per ogni riga.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: ROW_NUMBER() }}

RUNNING_AVG(expression)Restituisce la media mobile dell’espressione data, dalla prima riga della partizione alla riga corrente.

Esempio:

{ PARTITION [Category] : { ORDERBY [Row ID] ASC : RUNNING_AVG([Sales]) } } = running average of Sales, per Category.

RUNNING_SUM(expression)Restituisce la somma corrente dell’espressione data, dalla prima riga della partizione alla riga corrente.

Esempio:

{ ORDERBY [Row ID] ASC : RUNNING_SUM([Sales]) } = running sum of all Sales

Parole chiave

FunzioneDescrizione
ANDEsegue una congiunzione logica su due espressioni

Esempio:

IF (ATTR([Market]) = "New Business" AND SUM([Sales]) > [Emerging Threshold] )THEN "Well Performing"

ASCDefinisce l’ordine crescente per le operazioni ORDERBY .

Esempio

{ORDERBY [Sales] ASC:RANK()}

CASETrova il primo <value> che corrisponde a <expr> e restituisce il valore <return> corrispondente.

Esempio:

CASE [RomanNumeral] WHEN "|" THEN 1 WHEN "II" THEN 2 ELSE 3 END

DESCDefinisce l’ordine decrescente per le operazioni ORDERBY .

Esempio:

{ORDERBY [Sales] DESC:RANK()}

ELSETesta una serie di espressioni e restituisce il valore <then> per la prima espressione <expr> True.

Esempio:

IF [Profit] > 0 THEN 'Profitable' ELSE 'Loss' END

ELSEIFTesta una serie di espressioni e restituisce il valore <then> per la prima espressione <expr> True. Equivalente all’inserimento di un’istruzione if all’interno di un’operazione ELSE.

Esempio:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

ENDTermina un’operazione introdotta dalla direttiva corrispondente.

Esempio:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

{ FIXED }Le espressioni Level of Detail FIXED calcolano i valori utilizzando le dimensioni specificate, senza riferimento al livello di dettaglio della vista.

Esempio:

{FIXED[Customer ID]:MIN([Order Date])}

IFCrea un’istruzione condizionale (istruzione IF) e consente l’esecuzione solo se una condizione è True.

Esempio:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

NOTEsegue una negazione logica su un’espressione.

Esempio:

IF NOT [Profit] > 0 THEN "Unprofitable" END

OREsegue una disgiunzione logica su un’espressione.

Esempio:

IF [Profit] < 0 OR [Profit] = 0 THEN "Needs Improvement" END

{ ORDERBY }Definisce l’ordine di applicazione delle funzioni analitiche. Utilizzare l’argomento facoltativo asc | desc per specificare l’ordine crescente o decrescente per ciascun campo.

Esempio:

{ORDERBY [Customer Name] ASC, [Sales] DESC: RANK() }

{ PARTITION }Definisce il gruppo per le funzioni analitiche. ORDERBY deve essere all’interno della partizione.

Esempio:

{PARTITION [Customer]: {ORDERBY [Sales]: RANK()}}

THENTesta una serie di espressioni e restituisce il valore <then> per la prima espressione <expr> True.

Esempio:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END

WHENTrova il primo <value> che corrisponde a <expr> e restituisce il valore <return> corrispondente.

Esempio:

CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!