---
schema_version: "1"
id: 01768e3c672686df9b065432e1afc27b1f28265df9cf4fa05e9af4eb8ec02613
title: Informazioni di riferimento sulle funzioni di Tableau Prep
collection: tableau
version: current
locale: it-it
portal_url: https://docs.salesforce.com/tableau/current/it-it/prep/prep_function_reference.md
canonical_url: https://help.tableau.com/current/prep/it-it/prep_function_reference.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 4f0f79e1d56911b93a9bbfd8faab2c64f1147572b1ce6603512705d7e4d0714e
description: Reference for Tableau Prep calculation functions across categories.
---
[Passa al contenuto principale](#main-content)

# 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

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>ABS(number)</code></td><td>Restituisce il valore assoluto del numero dato.<p>Esempi:</p><p><code>ABS(-7) = 7
</code></p><p><code>ABS([Budget Variance])</code></p>Restituisce il valore assoluto per tutti i numeri contenuti nel campo Budget Variance.</td></tr><tr><td><code>ACOS(number)</code></td><td>Restituisce l’arcocoseno del numero dato. Il risultato è in radianti.<p>Esempio:</p><p><code>ACOS(-1) = 3.14159265358979</code></p></td></tr><tr><td><code>ASIN(number)</code></td><td>Restituisce l’arcoseno di un numero dato. Il risultato è in radianti.<p>Esempio:</p><p><code>ASIN(1) = 1.5707963267949</code></p></td></tr><tr><td><code>ATAN(number)</code></td><td>Restituisce l’arcotangente di un numero dato. Il risultato è in radianti.<p>Esempio:</p><p><code>ATAN(180) = 1.5652408283942</code></p></td></tr><tr><td><code>ATAN2(y number, x number)</code></td><td>Restituisce l’arcotangente di due numeri dati (<code>x</code> e <code>y</code>). Il risultato è in radianti.<p>Esempio:</p><p><code>ATAN2(2, 1) = 1.10714871779409</code></p></td></tr><tr><td><code>CEILING(number</code>)</td><td>Arrotonda un numero al numero intero più vicino di valore uguale o superiore.<p>Esempio:</p><p><code>CEILING(3.1415) = 4</code></p></td></tr><tr><td><code>COS(number)</code></td><td>Restituisce il coseno di un angolo. Specifica l’angolo in radianti.<p>Esempio:</p><p><code>COS(PI( ) /4) = 0.707106781186548</code></p></td></tr><tr><td><code>COT(angle)</code></td><td>Restituisce la cotangente di un angolo. Specifica l’angolo in radianti.<p>Esempio:</p><p><code>COT(PI( ) /4) = 1
</code></p></td></tr><tr><td><code>DIV(integer1, integer2)</code></td><td>Restituisce la parte intera di un’operazione di divisione, in cui <code> integer1</code> è diviso per <code>integer2</code>.<p>Esempio:</p><p><code>DIV(11,2) = 5
</code></p></td></tr><tr><td><code>EXP(number)</code></td><td>Restituisce e innalzato alla potenza del numero dato.<p>Esempi:</p><p><code>EXP(2) = 7.389
EXP(-[Growth Rate]*[Time])</code></p></td></tr><tr><td><code>FLOOR(number)</code></td><td>Arrotonda un numero al numero intero più vicino di valore uguale o inferiore.<p>Esempio:</p><p><code>FLOOR(3.1415) = 3</code></p></td></tr><tr><td><code>HEXBINX(number, number)</code></td><td>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.<p>Esempio:</p><p><code>HEXBINX([Longitude], [Latitude])</code></p></td></tr><tr><td><code>HEXBINY(number, number)</code></td><td>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.<p>Esempio:</p><p><code>HEXBINY([Longitude], [Latitude])</code></p></td></tr><tr><td><code>LN(number)</code></td><td><p>Restituisce il logaritmo naturale di un numero dato. Restituisce Null se il numero è minore o uguale a 0.</p><p>Esempio:</p><p><code>LN(EXP(5)) = 5</code></p></td></tr><tr><td><code>LOG(number [, base]</code>)</td><td><p>Restituisce il logaritmo di un numero per la base data. Se il valore base viene omesso, si utilizza il valore base 10.</p><p>Esempio:</p><p><code>LOG(256, 2) = 8</code></p></td></tr><tr><td><code>MAX(number, number)</code></td><td>Restituisce il massimo dei due argomenti, che devono essere dello stesso tipo. Restituisce Null se un argomento è Null. <code>MAX </code>può anche essere applicato a un singolo campo in un calcolo aggregato.<p>Esempi:</p><p><code>MAX(4,7)</code><br><code>MAX(Sales,Profit)</code><br><code>MAX([First Name],[Last Name])</code></p></td></tr><tr><td><code>MIN(number, number)</code></td><td>Restituisce il minimo dei due argomenti, che devono essere dello stesso tipo. Restituisce Null se un argomento è Null. <code>MIN </code>può anche essere applicato a un singolo campo in un calcolo aggregato.<p>Esempi:</p><p><code>MIN(4,7)
</code></p><p><code>MIN(Sales,Profit)</code></p><p><code>MIN([First Name],[Last Name])
</code></p></td></tr><tr><td><code>PI( )</code></td><td><p>Restituisce la costante numerica pi: 3,14159.</p><p>Esempio:</p><p><code>PI() = 3.14159265358979</code></p></td></tr><tr><td><code>POWER(number, power)</code></td><td>Aumenta il numero fino alla potenza specificata.<p>Esempi:</p><p><code>POWER(5,2) = 52 = 25
POWER(Temperature, 2)</code></p><p>È inoltre possibile utilizzare il simbolo ^:</p><p><code>5^2 = POWER(5,2) = 25</code></p></td></tr><tr><td><code>RADIANS(number)</code></td><td>Converte il numero dato da gradi in radianti.<p>Esempio:</p><p><code>RADIANS(180) = 3.14159</code></p></td></tr><tr><td><code>ROUND(number, [decimals])</code></td><td>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.<p>Esempio:</p><p>Questo esempio arrotonda ogni valore di Sales a un numero intero:</p><p><code>ROUND(Sales)</code></p></td></tr><tr><td><code>SIGN(number)</code></td><td>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.<p>Esempio:</p><p>Se la media del campo dei profitti è negativa, allora</p><p><code>SIGN(AVG(Profit)) = -1</code></p></td></tr><tr><td><code>SIN(number)</code></td><td>Restituisce il seno di un angolo. Specifica l’angolo in radianti.<p>Esempi:</p><p><code>SIN(0) = 1.0</code></p><p><code>SIN(PI( )/4) = 0.707106781186548</code></p></td></tr><tr><td><code>SQRT(number)</code></td><td>Restituisce la radice quadrata di un numero.<p>Esempio:</p><p><code>SQRT(25) = 5
</code></p></td></tr><tr><td><code>SQUARE(number)</code></td><td>Restituisce il quadrato di un numero.<p>Esempio:</p><p><code>SQUARE(5) = 25</code></p></td></tr><tr><td><code>TAN(number</code>)</td><td><p>Restituisce la tangente di un angolo. Specifica l’angolo in radianti.</p><p>Esempio:</p><p><code>TAN(PI ( )/4) = 1.0</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.</p><p>Esempio:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funzioni stringa

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>ASCII(string)</code></td><td>Restituisce il codice ASCII per il primo carattere di una stringa.<p>Esempio:</p><p><code>ASCII('A') = 65</code></p></td></tr><tr><td><code>CHAR(number)</code></td><td>Restituisce il carattere codificato tramite il numero del codice ASCII.<p>Esempio:</p><p><code>CHAR(65) = 'A'</code></p></td></tr><tr><td><code>CONTAINS(string, substring)</code></td><td>Restituisce true se la stringa data contiene la sottostringa specificata.<p>Esempio:</p><p><code>CONTAINS(“Calculation”, “alcu”) = true</code></p></td></tr><tr><td><code>ENDSWITH(string, substring)</code></td><td>Restituisce true se la stringa data termina con la sottostringa <code>substring</code> specificata. Gli spazi vuoti finali vengono ignorati.<p>Esempio:</p><p><code>ENDSWITH(“Tableau”, “leau”) = true</code></p></td></tr><tr><td><code>FIND(string, substring, [start])</code></td><td>Restituisce la posizione dell’indice di <code>substring </code> nella stringa oppure 0 se la sottostringa non viene trovata. Se viene aggiunto l’argomento facoltativo start, la funzione ignora qualsiasi istanza di <code>substring </code>che appare prima della posizione dell’indice start. Il primo carattere della stringa è la posizione 1.<p>Esempi:</p><p><code>FIND("Calculation", "alcu") = 2</code></p></td></tr><tr><td><code>FINDNTH(string, substring, occurrence)</code></td><td>Restituisce la posizione dell’occorrenza n della sottostringa all’interno della stringa specificata, dove n è definito dall’argomento dell’occorrenza.<p>Esempio:</p><p><code>FINDNTH("Calculation", "a", 2) =7</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td><p>Restituisce true se una determinata stringa è una data valida.</p><p>Esempio:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>LEFT(string, number)</code></td><td>Restituisce il numero di caratteri più a sinistra della stringa.<p>Esempio:</p><p><code>LEFT("Matador", 4) = "Mata"
</code></p></td></tr><tr><td><code>LEN(string)</code></td><td>Restituisce la lunghezza della stringa.<p>Esempio:</p><p><code>LEN("Matador") = 7
</code></p></td></tr><tr><td><code>LOWER(string)</code></td><td>Restituisce la stringa con tutti i caratteri in minuscolo.<p>Esempio:</p><p><code>LOWER("ProductVersion") = "productversion"</code></p></td></tr><tr><td><code>LTRIM(string)</code></td><td>Restituisce la stringa con gli eventuali spazi iniziali rimossi.<p>Esempio:</p><p><code>Example: LTRIM(" Sales") = "Sales"</code></p></td></tr><tr><td><code>(MID(string, start, [length])</code></td><td>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.<p>Esempi:</p><p><code>MID("Calculation", 2) = "alculation"</code></p><p><code>MID("Calculation", 2, 5) ="alcul"</code></p></td></tr><tr><td><code>PROPER(string)</code></td><td>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.<p>Esempio:</p><p><code>PROPER("PRODUCT name") = "Product Name"
</code></p></td></tr><tr><td><code>REGEXP_EXTRACT(string, pattern)</code></td><td>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<p>Esempio:</p><p><code>REGEXP_EXTRACT('abc 123', '[a-z]+\\s+(\\d+)') = '123'</code></p></td></tr><tr><td><code>REGEXP_EXTRACT_NTH(string, pattern, index)</code></td><td>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.<p>Esempio:</p><p><code>REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\s+(\\d+)', 2) = '123'</code></p></td></tr><tr><td><code>REGEXP_MATCH(string, pattern)</code></td><td>Restituisce True se una sottostringa della stringa specificata corrisponde al modello dell’espressione regolare.<p>Esempio:</p><p><code>REGEXP_MATCH('-([1234].[ The.Market ])-', '\\[\\s*(\\w*\\.)(\\w*\\s*\\])') = true</code></p></td></tr><tr><td><code>REGEXP_REPLACE(string, pattern, replacement)</code></td><td>Restituisce una copia della stringa data in cui il modello di corrispondenza è sostituito dalla stringa sostitutiva.<p>Esempio:</p><p><code>REGEXP_REPLACE('abc  123', '\\s', '-') = 'abc--123'
</code></p></td></tr><tr><td><code>REPLACE(string, substring, replacement)</code></td><td>Cerca una sottostringa nella stringa e la sostituisce con la sostituzione. Se la sottostringa non viene trovata, la stringa rimane inalterata.<p>Esempio:</p><p><code>REPLACE("Calculation", "ion", "ed") = "Calculated"</code></p></td></tr><tr><td><code>RIGHT(string, number)</code></td><td>Restituisce il numero di caratteri più a destra della stringa.<p>Esempio:</p><p><code>RIGHT("Calculation", 4) = "tion"</code></p></td></tr><tr><td><code>RTRIM(string)</code></td><td>Restituisce la stringa con gli eventuali spazi finali rimossi.<p>Esempio:</p><p><code>Example: RTRIM("Market ") = "Market"</code></p></td></tr><tr><td><code>SPACE(number)</code></td><td>Restituisce una stringa composta dal numero specificato di spazi ripetuti.<p>Esempio:</p><p><code>SPACE(1) = " "</code></p></td></tr><tr><td><code>SPLIT(string, delimiter, token number)	
</code></td><td><p>Restituisce una sottostringa da una stringa, come determinato da un delimitatore che estrae i caratteri dall’inizio o dalla fine della stringa.</p><p>Esempio:</p><p><code>SPLIT('a-b-c-d', '-', 2) = 'b'</code></p></td></tr><tr><td><code>STARTSWITH(string, substring)</code></td><td>Restituisce True se la stringa inizia con <code>substring</code>. Gli spazi vuoti iniziali vengono ignorati.<p>Esempio:</p><p><code>STARTSWITH(“Joker”, “Jo”) = true
</code></p></td></tr><tr><td><code>TRIM(string)</code></td><td>Restituisce la stringa con gli spazi iniziali e finali rimossi.<p>Esempio:</p><p><code>TRIM(" Calculation ") = "Calculation"</code></p></td></tr><tr><td><code>UPPER(string)</code></td><td>Restituisce la stringa con tutti i caratteri in maiuscolo.<p>Esempio:</p><p><code>UPPER("Calculation") = "CALCULATION"
</code></p></td></tr></tbody></table>

### Funzioni aggregate

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>AVG(expression)</code></td><td>Restituisce la media di tutti i valori nell’espressione. AVG può essere utilizzato solo con campi numerici. I valori Null vengono ignorati<p>Esempio:</p><p><code>AVG([Profit])</code></p></td></tr><tr><td><code>COUNT(expression)</code></td><td>Restituisce il numero di voci di un gruppo. I valori NULL non vengono conteggiati.<p>Esempio:</p><p><code>COUNT([Customer ID])
</code></p></td></tr><tr><td><code>COUNTD(expression)</code></td><td>Restituisce il numero di elementi distinti in un gruppo. I valori NULL non vengono conteggiati. Ogni valore univoco viene conteggiato una sola volta.<p>Esempio:</p><p><code>COUNTD([Region])</code></p></td></tr><tr><td><code>MEDIAN(expression)</code></td><td>Restituisce la mediana di una singola espressione. MEDIAN può essere utilizzato solo con campi numerici. I valori NULL vengono ignorati.<p>Esempio:</p><p><code>MEDIAN([Profit])
</code></p></td></tr><tr><td><code>PERCENTILE(expression, number)</code></td><td>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.<p>Esempio:</p><p><code>PERCENTILE([Sales], 0.90)</code></p></td></tr><tr><td><code>STDEV(expression)</code></td><td>Restituisce la deviazione standard del campione dell’espressione.<p>Esempio:</p><p><code>STDEV([Profit])</code></p></td></tr><tr><td><code>STDEVP(expression)</code></td><td><p>Restituisce la deviazione standard della popolazione dell’espressione.</p><p>Esempio:</p><p><code>STDEVP([Profit])
</code></p></td></tr><tr><td><code>SUM(expression)</code></td><td><p>Restituisce la somma di tutti i valori nell’espressione. SUM può essere utilizzato solo con campi numerici. I valori NULL vengono ignorati.</p><p>Esempio:</p><p><code>SUM([Profit])
</code></p></td></tr><tr><td><code>VAR(expression)</code></td><td><p>Restituisce la varianza statistica di tutti i valori dell’espressione data sulla base di un campione della popolazione.</p><p>Esempio:</p><p><code>VAR([Height])</code></p></td></tr><tr><td><code>VARP(expression)</code></td><td><p>Restituisce la varianza statistica di tutti i valori dell’espressione data sulla base dell’intera popolazione.</p><p>Esempio:</p><p><code>VARP([Test Score])</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.</p><p>Esempio:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funzioni di conversione del tipo

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>DATE</code></td><td>Restituisce una data con un numero, una stringa o un’espressione di data.<p>Esempio:</p><p><code>DATE("2006-06-15 14:52") = 2006-06-15</code></p><p>Tieni presente che le virgolette sono obbligatorie.</p></td></tr><tr><td><code>DATETIME(expression)</code></td><td>Restituisce data e ora con un numero, una stringa o un’espressione di data.<p>Esempio:</p><p><code>DATETIME("April 15, 2004 07:59:00")</code></p><p>Tieni presente che le virgolette sono obbligatorie.</p></td></tr><tr><td><code>FLOAT(expression)</code></td><td>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.<p>Esempio:</p><p><code>FLOAT("3")= 3.000</code></p></td></tr><tr><td><code>INT(expression)</code></td><td>Restituisce un numero intero data un’espressione. Questa funzione tronca i risultati al numero intero più vicino allo zero.<p>Esempio:</p><p><code>INT(8.0/3.0) = 2 or INT(-9.7) = -9</code></p></td></tr><tr><td><code>MAKEDATE(year, month, day)</code></td><td>Restituisce un valore di data costruito a partire da un anno, un mese e un giorno del mese.<p>Esempio:</p><p><code>MAKEDATE(2014, 3, 18)</code></p></td></tr><tr><td><code>MAKEDATETIME(date, time)</code></td><td><p>Restituisce un valore di data e ora in base a un’espressione di data e un’espressione di ora.</p><p>Esempio:</p><p><code>MAKEDATETIME(#2012-11-12#, #07:59:00#)</code></p></td></tr><tr><td><code>MAKETIME(hour, minute, second)</code></td><td><p>Restituisce un valore di ora costruito a partire da ore, minuti e secondi.</p><p>Esempio:</p><p><code>MAKETIME(14, 52, 40)</code></p></td></tr><tr><td><code>STR(expression)</code></td><td><p>Restituisce una stringa data un’espressione.</p><p>Esempio:</p><p><code>STR([Age]) </code></p><p>Restituisce tutti i valori della misura Age come stringhe.</p></td></tr></tbody></table>

### Funzioni data

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>DATEADD(date_part, interval, date)</code></td><td>Aggiunge un incremento alla data specificata e restituisce la nuova data. L’incremento è definito dall’intervallo e da date_part.<p>Esempio:</p><p><code>DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEDIFF(date_part, start_date, end_date, [start_of_week])</code></td><td><p>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.</p><p>Esempio:</p><p><code>DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3</code></p></td></tr><tr><td><code>DATENAME(date_part, date, [start_of_week])</code></td><td>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.<p>Esempio:</p><p><code>DATENAME('month', #2004-04-15#) = "April"
</code></p></td></tr><tr><td><code>DATEPARSE(format, string)</code></td><td>Converte una stringa in una data nel formato specificato.<p>Esempio:</p><p><code>DATEPARSE ("dd.MMMM.yyyy", "15.April.2004") = 2004-04-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEPARTT(date_part, date, [start_of_week])</code></td><td>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.<p>Esempio:</p><p><code>DATEPART('month', #2004-04-15#) = 4</code></p></td></tr><tr><td><code>DATETRUNC(date_part, date, [start_of_week])</code></td><td>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.<p>Esempio:</p><p><code>DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
</code></p></td></tr><tr><td><code>DAY(date)</code></td><td>Restituisce il giorno della data indicata come numero intero.<p>Esempio:</p><p><code>DAY(#2004-04-12#) = 12
</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Restituisce true se una determinata stringa è una data valida.<p>Esempio:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>MONTH(date)</code></td><td><p>Restituisce il mese della data specificata come numero intero.</p><p>Esempio:</p><p><code>MONTH(#2004-04-12#) = 4</code></p></td></tr><tr><td><code>NOW()</code></td><td>Restituisce la data e l’ora correnti.<p>Esempio:</p><p><code>NOW() = 2004-05-12 1:08:21 PM
</code></p></td></tr><tr><td><code>TODAY()</code></td><td>Restituisce la data attuale.<p>Esempio:</p><p><code>TODAY() = 2004-05-12</code></p></td></tr><tr><td><code>YEAR(date)</code></td><td>Restituisce l’anno della data specificata come numero intero.<p>Esempio:</p><p><code>YEAR(#2004-04-12#) = 2004
</code></p></td></tr></tbody></table>

### Funzioni logiche

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>IFNULL(expr1, expr2)</code></td><td>Restituisce <code>&lt;expr1&gt;</code> se non è Null, altrimenti <code>&lt;expr2&gt;</code>.<p>Esempio:</p><p><code>IFNULL([Profit], 0)</code></p></td></tr><tr><td><code>IIF(test, then, else, [unknown])</code></td><td>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.<p>Esempio:</p><p><code>IIF([Profit] &gt; 0, 'Profit', 'Loss')</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Restituisce true se una determinata stringa è una data valida.<p>Esempio:</p><p><code>ISDATE("2004-04-15") = True</code></p></td></tr><tr><td><code>ISNULL(expression)</code></td><td>Restituisce True se l’espressione non contiene dati validi (<code>Null</code>).<p>Esempio:</p><p><code>ISNULL([Profit])
</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Restituisce l’espressione se non è Null, altrimenti restituisce zero. Usa questa funzione per utilizzare valori zero invece di valori Null.</p><p>Esempio:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Funzioni analitiche

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Sintassi</th><th>Descrizione</th></tr><tr><td><code>LAST_VALUE(expression, [return_last_non-null_value])</code></td><td>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.<p>Esempio:</p><p><code>{ ORDERBY [Row ID] ASC: LAST_VALUE([Category], true) } = returns the last non-null value of [Category]
</code></p></td></tr><tr><td><code>LOOKUP(expression, [offset])</code></td><td><p>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.</p><p>Il parametro [<code>offset</code>] della funzione <code>LOOKUP </code>può accettare solo un intero letterale, ad esempio 1.</p><p>Esempio:</p><p><code>{ORDERBY [DATE] ASC : LOOKUP([SALES], -1)} </code></p><p>Restituisce il valore SALES dalla riga precedente.</p></td></tr><tr><td><code>NTILE(number)</code></td><td>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.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: NTILE(3) }}</code></p></td></tr><tr><td><code>RANK()</code></td><td>Restituisce la classificazione standard della concorrenza per la riga corrente della partizione. A valori identici viene assegnata una classificazione identica.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK() }}
</code></p></td></tr><tr><td><code>RANK_DENSE()</code></td><td>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.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_DENSE() }}
</code></p></td></tr><tr><td><code>RANK_MODIFIED()</code></td><td>Restituisce la classificazione modificata della concorrenza per la riga corrente della partizione. A valori identici viene assegnata una classificazione identica.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_MODIFIED() }}</code></p></td></tr><tr><td><code>RANK_PERCENTILE()</code></td><td>Restituisce la classificazione percentile per la riga corrente della partizione.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_PERCENTILE() }}</code></p></td></tr><tr><td><code>ROW_NUMBER()</code></td><td>Restituisce un ID di riga sequenziale univoco per ogni riga.<p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: ROW_NUMBER() }}</code></p></td></tr><tr><td><code>RUNNING_AVG(expression)</code></td><td>Restituisce la media mobile dell’espressione data, dalla prima riga della partizione alla riga corrente.<p>Esempio:</p><p><code>{ PARTITION [Category] : { ORDERBY [Row ID] ASC : RUNNING_AVG([Sales]) } } = running average of Sales, per Category.
</code></p></td></tr><tr><td><code>RUNNING_SUM(expression)</code></td><td>Restituisce la somma corrente dell’espressione data, dalla prima riga della partizione alla riga corrente.<p>Esempio:</p><p><code>{ ORDERBY [Row ID] ASC : RUNNING_SUM([Sales]) } = running sum of all Sales</code></p></td></tr></tbody></table>

### Parole chiave

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Funzione</th><th>Descrizione</th></tr><tr><td><code>AND</code></td><td>Esegue una congiunzione logica su due espressioni <p>Esempio:</p><p><code>IF (ATTR([Market]) = "New Business" AND SUM([Sales]) &gt; [Emerging Threshold] )THEN "Well Performing"</code></p></td></tr><tr><td><code>ASC</code></td><td>Definisce l’ordine crescente per le operazioni <code>ORDERBY </code>.<p>Esempio</p><p><code>{ORDERBY [Sales] ASC:RANK()}</code></p></td></tr><tr><td><code>CASE</code></td><td>Trova il primo &lt;<code>value</code>&gt; che corrisponde a <code>&lt;expr</code>&gt; e restituisce il valore &lt;<code>return</code>&gt; corrispondente.<p>Esempio:</p><p><code>CASE [RomanNumeral] WHEN "|" THEN 1 WHEN "II" THEN 2 ELSE 3 END</code></p></td></tr><tr><td><code>DESC</code></td><td>Definisce l’ordine decrescente per le operazioni <code>ORDERBY </code>. <p>Esempio:</p><p><code>{ORDERBY [Sales] DESC:RANK()}</code></p></td></tr><tr><td><code>ELSE</code></td><td>Testa una serie di espressioni e restituisce il valore &lt;<code>then</code>&gt; per la prima espressione &lt;<code>expr</code>&gt; True. <p>Esempio:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSE 'Loss' END</code></p></td></tr><tr><td><code>ELSEIF</code></td><td>Testa una serie di espressioni e restituisce il valore &lt;<code>then</code>&gt; per la prima espressione &lt;<code>expr</code>&gt; True. Equivalente all’inserimento di un’istruzione <code>if</code> all’interno di un’operazione ELSE.<p>Esempio:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>END</code></td><td>Termina un’operazione introdotta dalla direttiva corrispondente.<p>Esempio:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>{ FIXED }</code></td><td>Le espressioni Level of Detail FIXED calcolano i valori utilizzando le dimensioni specificate, senza riferimento al livello di dettaglio della vista. <p>Esempio:</p><p><code>{FIXED[Customer ID]:MIN([Order Date])}</code></p></td></tr><tr><td><code>IF</code></td><td>Crea un’istruzione condizionale (istruzione <code>IF</code>) e consente l’esecuzione solo se una condizione è True.<p>Esempio:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>NOT</code></td><td>Esegue una negazione logica su un’espressione. <p>Esempio:</p><p><code>IF NOT [Profit] &gt; 0 THEN "Unprofitable" END</code></p></td></tr><tr><td><code>OR</code></td><td>Esegue una disgiunzione logica su un’espressione. <p>Esempio:</p><p><code>IF [Profit] &lt; 0 OR [Profit] = 0 THEN "Needs Improvement" END</code></p></td></tr><tr><td><code>{ ORDERBY </code>}</td><td>Definisce l’ordine di applicazione delle funzioni analitiche. Utilizzare l’argomento facoltativo asc | desc per specificare l’ordine crescente o decrescente per ciascun campo. <p>Esempio:</p><p><code>{ORDERBY [Customer Name] ASC, [Sales] DESC: RANK() }</code></p></td></tr><tr><td><code>{ PARTITION }</code></td><td>Definisce il gruppo per le funzioni analitiche. ORDERBY deve essere all’interno della partizione. <p>Esempio:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales]: RANK()}}</code></p></td></tr><tr><td><code>THEN</code></td><td>Testa una serie di espressioni e restituisce il valore &lt;<code>then</code>&gt; per la prima espressione &lt;<code>expr</code>&gt; True. <p>Esempio:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END</code></p></td></tr><tr><td><code>WHEN</code></td><td>Trova il primo &lt;<code>value</code>&gt; che corrisponde a &lt;<code>expr</code>&gt; e restituisce il valore &lt;<code>return</code>&gt; corrispondente. <p>Esempio:</p><p><code>CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END</code></p></td></tr></tbody></table>