F Riferimento per l'editor di espressioni

In questa sezione vengono descritti gli elementi di espressione che è possibile utilizzare nell'editor di espressioni.

Argomenti:

Operatori SQL

Gli operatori SQL vengono utilizzati per specificare i confronti e le operazioni aritmetiche tra le espressioni.

È possibile utilizzare vari tipi di operatori SQL.

Operatore Esempio Descrizione Sintassi

BETWEEN

"COSTS"."UNIT_COST" BETWEEN 100.0 AND 5000.0

Determina se il valore è incluso tra due valori limite non inclusivi.

È possibile anteporre NOT a BETWEEN per negare la condizione.

BETWEEN [LowerBound] AND [UpperBound]

IN

"COSTS"."UNIT_COST" IN(200, 600, 'A')

Determina se il valore è presente in un set di valori.

IN ([Comma Separated List])

IS NULL

"PRODUCTS"."PROD_NAME" IS NULL

Determina se il valore è nullo.

IS NULL

LIKE

"PRODUCTS"."PROD_NAME" LIKE 'prod%'

Determina se un valore corrisponde a una stringa intera o a parte di essa. Spesso è utilizzato con caratteri jolly per indicare qualsiasi corrispondenza di stringa di caratteri pari a zero o più caratteri (%) oppure qualsiasi corrispondenza di caratteri singoli (_).

LIKE

+

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Segno più per l'aggiunta.

+

-

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Segno meno per la sottrazione.

-

* or X

SUPPORT_SERVICES_EXPENDITURE * 1.5

Segno di moltiplicazione.

*

X

/

CAPITAL_OUTLAY_EXPENDITURE/1.05

Simbolo di divisione.

/

%

 

Percentuale.

%

||

STATE||CAST(YEAR AS CHAR(4))

Concatenazione delle stringhe di caratteri.

||

(

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Parentesi aperta.

(

)

(FEDERAL_REVENUE + LOCAL_REVENUE) - TOTAL_EXPENDITURE

Parentesi chiusa.

)

>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

Segno "maggiore di". Indica valori maggiori del termine di confronto.

>

<

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

Segno "minore di". Indica valori minori del termine di confronto.

<

=

 

Segno "uguale". Indica lo stesso valore.

=

>=

 

Segno "maggiore di o uguale a". Indica valori uguali o superiori al termine di confronto.

>=

<=

 

Segno "minore di o uguale a". Indica valori uguali o inferiori al termine di confronto.

<=

<>

YEAR > 2000 and YEAR < 2016 and YEAR <> 2013

Diverso da. Indica valori superiori o inferiori, ma diversi.

<>

,

STATE in ('ALABAMA','CALIFORNIA')

Virgola, utilizzata per separare gli elementi in una lista.

,

Funzioni

Sono disponibili diversi tipi di funzioni che è possibile utilizzare nelle espressioni.

Argomenti:

Funzioni di aggregazione

Le funzioni di aggregazione consentono di eseguire operazioni su più valori per creare risultati di riepilogo.

Nella lista riportata di seguito vengono descritte le regole di aggregazione disponibili per le colonne e le colonne di misura. La lista include anche le funzioni che è possibile utilizzare durante la creazione di elementi calcolati per le analisi.

  • Impostazione predefinita: applica la regola di aggregazione predefinita presente nel modello semantico o mediante l'autore originale dell'analisi. Non disponibile per gli elementi calcolati nelle analisi.

  • Determinato dal server: applica la regola di aggregazione determinata da Oracle Analytics (ad esempio la regola definita nel modello semantico). L'aggregazione viene eseguita all'interno di Oracle Analytics per regole semplici quali Sum, Min e Max. Opzione non disponibile per le colonne di misura nel riquadro Layout o per gli elementi calcolati nelle analisi.

  • Sum: calcola la somma addizionando tutti i valori inclusi nel set di risultati. Utilizzare questa regola per gli elementi contenenti valori numerici.

  • Min: calcola il valore minimo (valore numerico più basso) delle righe incluse nel set di risultati. Utilizzare questa regola per gli elementi contenenti valori numerici.

  • Max: calcola il valore massimo (valore numerico più alto) delle righe incluse nel set di risultati. Utilizzare questa regola per gli elementi contenenti valori numerici.

  • Average: calcola il valore medio (media) di un elemento incluso nel set di risultati. Utilizzare questa regola per gli elementi contenenti valori numerici. Le medie nelle tabelle e tabelle pivot vengono arrotondate al successivo numero intero.

  • First: nel set di risultati seleziona la prima occorrenza dell'elemento per le misure. Per gli elementi calcolati, seleziona il primo membro in base alla visualizzazione nella lista Selezionati. Non disponibile nella finestra di dialogo Modifica formula colonna.

  • Last: nel set di risultati seleziona l'ultima occorrenza dell'elemento. Per gli elementi calcolati, seleziona l'ultimo membro in base alla visualizzazione nella lista Selezionati. Non disponibile nella finestra di dialogo Modifica formula colonna.

  • Conteggio: calcola il numero di righe del set di risultati con valore non nullo per l'elemento. L'elemento è in genere un nome di colonna; in questo caso viene restituito il numero di righe con valori non nulli per la colonna.

  • Count Distinct: aggiunge l'elaborazione distinta alla funzione Conteggio, ovvero ogni occorrenza distinta dell'elemento viene conteggiata solo una volta.

  • Nessuno: non applica alcuna aggregazione. Non disponibile per gli elementi calcolati nelle analisi.

  • Totale basato su report (quando applicabile): se l'opzione non è selezionata, specifica che Oracle Analytics deve calcolare il totale in base all'intero set di risultati prima di applicare qualsiasi filtro alle misure. Non disponibile nella finestra di dialogo Modifica formula colonna oppure per gli elementi calcolati nelle analisi. Opzione disponibile solo per le colonne di attributi.

Funzione Esempio Descrizione Sintassi

AGGREGATE AT

AGGREGATE(sales AT year)

Consente di aggregare le colonne in base al livello o ai livelli specificati, presenti nella gerarchia del modello dati.

  • measure è il nome della colonna di misura.
  • level è il livello di aggregazione desiderato.

Se necessario, è possibile specificare più livelli. Non è possibile specificare un livello da una dimensione contenente i livelli utilizzati come livelli di misura per la misura specificata nel primo argomento. Ad esempio, non è possibile scrivere la funzione AGGREGATE(yearly_sales AT month) se month appartiene alla stessa dimensione tempo utilizzata come livello di misura per yearly_sales.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Consente di aggregare una misura in base a una o più colonne di dimensione.
  • measure è il nome della colonna di misura da aggregare.

  • column è la colonna di dimensione di aggregazione desiderata.
È possibile aggregare le misure in base a più colonne.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Calcola il valore medio (media) di un set numerico di valori.

AVG(expr)

AVGDISTINCT

 

Calcola il valore medio di tutti i valori distinti di un'espressione.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Classifica una determinata espressione numerica in un numero specificato di bucket di uguale larghezza. La funzione può restituire il numero di bin o uno dei due endpoint dell'intervallo di bin. numeric_expr è la misura o l'attributo numerico da sottoporre a binning. BY grain_expr1,…, grain_exprN è una lista di espressioni che definiscono la granularità alla quale viene calcolata numeric_expr. BY è obbligatorio per le espressioni di misura e facoltativo per le espressioni di attributo. WHERE è un filtro da applicare a numeric_expr prima che i valori vengano assegnati agli intervalli. INTO number_of_bins BINS è il numero di intervalli da restituire. BETWEEN min_value AND max_value indica i valori minimo e massimo utilizzati per le estremità degli intervalli più esterni. RETURNING NUMBER indica che il valore restituito deve essere il numero di intervalli (1, 2, 3, 4 e così via). Si tratta dello stato predefinito. RETURNING RANGE_LOW indica il valore più basso dell'intervallo di bin, mentre RETURNING RANGE_HIGH indica il valore più alto dell'intervallo di bin.

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Classifica i valori n più bassi dell'argomento espressione da 1 a n, dove 1 corrisponde al valore numerico più basso.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. integer è un numero intero positivo qualsiasi. Rappresenta il numero inferiore delle classificazioni visualizzate nel set di risultati, con il valore 1 che costituisce l'elemento classificato più in basso.

BottomN(expr, integer)

COUNT

COUNT(Products)

Determina il numero di elementi con un valore non nullo.

COUNT(expr)

COUNTDISTINCT

 

Aggiunge elaborazione distinta alla funzione COUNT.

expr rappresenta qualsiasi espressione.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Conta il numero di righe.

COUNT(*)

First

First(Sales)

Seleziona il primo valore restituito non nullo dell'argomento dell'espressione. La funzione First agisce al livello più dettagliato specificato nella dimensione definita in modo esplicito.

First([NumericExpression)]

Last

Last(Sales)

Seleziona l'ultimo valore restituito non nullo dell'espressione.

Last([NumericExpression)]

MAVG

 

Calcola una media mobile delle ultime n righe di dati, compresa la riga corrente, nel set di risultati.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. integer è un numero intero positivo qualsiasi. Rappresenta la media delle ultime n righe di dati.

MAVG(expr, integer)

MAX

MAX(Revenue)

Calcola il valore massimo (valore numerico più alto) delle righe che soddisfa l'argomento dell'espressione numerica.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Calcola il valore mediano delle righe che soddisfa l'argomento dell'espressione numerica. In caso di numero pari di righe, il valore mediano corrisponde alla media delle due righe centrali. Questa funzione restituisce sempre un valore di tipo double.

MEDIAN(expr)

MIN

MIN(Revenue)

Calcola il valore minimo (valore numerico più basso) delle righe che soddisfa l'argomento dell'espressione numerica.

MIN(expr)

NTILE

 

Determina la classificazione di un valore in base a un intervallo specificato dall'utente. Restituisce numeri interi che rappresentano qualsiasi intervallo di classificazione. NTILE con numTiles=100 restituisce ciò che viene comunemente denominato "percentile" con numeri da 1 a 100, dove 100 rappresenta il valore massimo dell'ordinamento.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. numTiles è un numero intero positivo non nullo che rappresenta il numero di caselle.

NTILE(expr, numTiles)

PERCENTILE

 

Calcola una classificazione percentile per ciascun valore che soddisfa l'argomento dell'espressione numerica. Gli intervalli delle classificazioni percentili sono compresi tra 0 (primo percentile) e 1 (centesimo percentile), inclusi.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Calcola la classificazione di ciascun valore che soddisfa l'argomento dell'espressione numerica. Al numero più alto viene assegnata una classificazione pari a 1 e a ciascuna classificazione successiva viene assegnato il numero intero consecutivo successivo (2, 3, 4...). Agli eventuali valori uguali viene assegnata la stessa classificazione (ad esempio 1, 1, 1, 4, 5, 5, 7...).

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Restituisce la deviazione standard di un set di valori. Il tipo restituito è sempre Double.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Restituisce la deviazione standard di un set di valori utilizzando la formula di calcolo per la deviazione standard e la varianza della popolazione.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Calcola la somma ottenuta aggiungendo tutti i valori che soddisfano l'argomento dell'espressione numerica.

SUM(expr)

SUMDISTINCT

 

Calcola la somma ottenuta dall'aggiunta di tutti i valori distinti che soddisfano l'argomento espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

SUM(DISTINCT expr)

TOPN

 

Classifica i valori n più alti dell'argomento espressione da 1 a n, dove 1 corrisponde al valore numerico più alto.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. integer è un numero intero positivo qualsiasi. Rappresenta il numero superiore delle classificazioni visualizzate nel set di risultati, con il valore 1 che costituisce l'elemento classificato più in alto.

TOPN(expr, integer)

Funzioni analitiche

Le funzioni di analitica consentono di esplorare i dati usando modelli quali previsione, linea di tendenza e cluster. In alternativa, è possibile trascinare la selezione delle funzioni di analitica nell'editor della cartella di lavoro.

In alternativa, è possibile aggiungere previsioni, linee di tendenza e cluster a una cartella di lavoro selezionandoli nella scheda Analitica del Pannello dati nell'editor della cartella di lavoro. Vedere Aggiungere funzioni di analitica statistica alle visualizzazioni.

Funzione Esempio Descrizione Sintassi

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

Raccoglie un set di record in gruppi, in base a una o più espressioni di input utilizzando gli algoritmi K-Means o di cluster gerarchico.

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

EVALUATE_SCRIPT

EVALUATE_SCRIPT('filerepo://obiee.Outliers.xml', 'isOutlier', 'algorithm=kmeans;id=%1;arg1=%2;arg2=%3;useRandomSeed=False;', customer_number, expected_revenue, customer_age)

Esegue uno script Python come specificato in script_file_path, passando una o più colonne o espressioni letterali come input. L'output della funzione è determinato da output_column_name.

EVALUATE_SCRIPT(script_file_path, output_column_name, options, [runtime_binded_options])

FORECAST

Esempio di previsione dei ricavi in base al giorno

In questo esempio viene selezionata la previsione dei ricavi in base al giorno.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Esempio di previsione dei ricavi in base all'anno e al trimestre

In questo esempio viene selezionata la previsione dei ricavi in base all'anno e al trimestre.

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

Crea un modello di serie temporali della misura specificata nelle serie utilizzando il livellamento esponenziale (ETS), ARIMA stagionale o ARIMA. Questa funzione consente di ottenere una previsione per il set di periodi specificato dall'argomento numPeriods.

Vedere anche le opzioni aggiuntive della funzione FORECAST riportate di seguito.

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

Dove:

  • measure rappresenta la misura da prevedere, ad esempio i dati relativi ai ricavi.

  • series rappresenta la granularità temporale utilizzata per la creazione del modello di previsione. Si tratta di una lista di una o più colonne della dimensione tempo. Se si omette series, la granularità temporale viene determinata dalla query.

  • output_column_name rappresenta i nomi di colonna validi di forecast, low, high e predictionInterval.

  • options rappresenta una lista di stringhe di coppie di nomi e valori separate da punti e virgola (;). Il valore può includere %1 ... %N, specificato in runtime_binded_options.

  • runtime_binded_options rappresenta una lista separata da virgole di colonne e opzioni. I valori per queste colonne ed opzioni vengono valutati e risolti durante l'esecuzione della singola query.

Vedere anche le opzioni aggiuntive della funzione FORECAST riportate di seguito.

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

Classifica un record come valore anomalo in base a una o più espressioni di input utilizzando gli algoritmi K-Means, di cluster gerarchico o di rilevamento dei valori anomali in più variabili.

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

Adatta un modello lineare e restituisce i valori o il modello adattati. Questa funzione può essere utilizzata per adattare una curva lineare su due misure.

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

Oracle consiglia di applicare una linea di tendenza utilizzando la proprietà Aggiungi statistiche durante la revisione di una visualizzazione. Vedere Adeguare le proprietà della visualizzazione.

Adatta un modello lineare, polinomiale o esponenziale e restituisce i valori o il modello adattati. numeric_expr rappresenta il valore Y della tendenza mentre series (colonne relative al tempo) rappresenta il valore X.

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

Opzioni della funzione FORECAST Nella tabella seguente vengono elencate le opzioni che è possibile utilizzare con la funzione FORECAST.

Nome opzione Valori Descrizione
numPeriods Numero intero Il numero di periodi per la previsione.
predictionInterval Da 0 a 100, dove i valori più alti specificano una confidenza maggiore. Il livello di probabilità per la previsione.
modelType

ETS (Livellamento esponenziale)

SeasonalArima

ARIMA

Il modello da utilizzare per la previsione.
useBoxCox

TRUE

FALSE

Se TRUE, utilizzare la trasformazione Box-Cox.
lambdaValue Non applicabile

Parametro di trasformazione Box-Cox.

Ignorare se NULL o quando useBoxCox è FALSE.

In caso contrario, i dati vengono trasformati prima che il modello venga stimato.

trendDamp

TRUE

FALSE

Si tratta di un valore specifico del modello di livellamento esponenziale.

Se TRUE, utilizzare la tendenza attenuata. Se FALSE o NULL, utilizzare la tendenza non attenuata.

errorType

Non applicabile

Si tratta di un valore specifico del modello di livellamento esponenziale.
trendType

N (nessuno)

A (additivo)

M (moltiplicativo)

Z (selezionato automaticamente)

Si tratta di un valore specifico del modello di livellamento esponenziale
seasonType

N (nessuno)

A (additivo)

M (moltiplicativo)

Z (selezionato automaticamente)

Si tratta di un valore specifico del modello di livellamento esponenziale
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (impostazione predefinita)

Il criterio di informazione utilizzato nella selezione del modello.

Funzioni di conversione

Le funzioni di conversione convertono un valore da un formato a un altro.

Funzione Esempio Descrizione Sintassi

CAST

CAST(hiredate AS CHAR(40)) FROM employee

Modifica il tipo di dati di un'espressione o un valore nullo in un altro tipo di dati. Ad esempio, è possibile assegnare un valore customer_name (un tipo di dati CHAR o VARCHAR) oppure un valore birthdate (un valore data e ora).

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

Esegue il test di un'espressione per verificare se restituisce un valore nullo e, in tal caso, assegna il valore specificato all'espressione.

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF (NQ_SESSION.GEOGRAPHY_LEVEL), Country, State, City), Revenue FROM Sales

Utilizza le informazioni esterne per restituire la colonna appropriata che può essere visualizzata dall'utente collegato.

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

Confronta due espressioni. Se sono uguali, la funzione restituisce NULL. Se non sono uguali, la funzione restituisce la prima espressione. Non è possibile specificare il valore NULL per la prima espressione.

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

Converte i valori stringa del formato DateTime nel tipo di dati DateTime.

To_DateTime([espressione], [valore])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

Fa riferimento al valore di una variabile di modello semantico in un filtro.

Utilizzare le variabili expr come argomenti della funzione VALUEOF. Fare riferimento alle variabili di modello semantico statico per nome.

VALUEOF(expr)

Funzioni di data e ora

Le funzioni di data e ora consentono di gestire i dati in base ai tipi DATE e DATETIME.

Funzione Esempio Descrizione Sintassi

CURRENT_Date

CURRENT_DATE

Restituisce la data corrente.

La data è determinata dal sistema su cui è in esecuzione Oracle BI.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Restituisce l'ora corrente con il numero specificato di cifre di precisione, ad esempio: HH:MM:SS.SSS

Se non è stato specificato alcun argomento, la funzione restituisce la precisione predefinita.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Restituisce la data/indicatore orario corrente con il numero specificato di cifre di precisione.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Restituisce il nome del giorno della settimana per un'espressione di data specificata.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Restituisce il numero corrispondente al giorno del mese per un'espressione di data specificata.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Restituisce un numero compreso tra 1 e 7 corrispondente al giorno della settimana per un'espressione di data specificata. Ad esempio, 1 corrisponde sempre a Domenica, 2 corrisponde a Lunedì e così via fino a Sabato che restituisce 7.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Restituisce un numero compreso tra 1 e 366 corrispondente al giorno dell'anno per un'espressione di data specificata.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Restituisce un numero compreso tra 1 e 92 corrispondente al giorno del trimestre per l'espressione di data specificata.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Restituisce un numero compreso tra 0 e 23 corrispondente all'ora per un'espressione di tempo specificata. Ad esempio, 0 corrisponde alle 12.00 e 23 corrisponde alle 23.00.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Restituisce un numero compreso tra 0 e 59 corrispondente al minuto per un'espressione di tempo specificata.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Restituisce un numero compreso tra 1 e 12 corrispondente al mese per un'espressione di data specificata.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Restituisce il nome del mese per un'espressione di data specificata.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Restituisce un numero compreso tra 1 e 3 corrispondente al mese del trimestre per un'espressione di data specificata.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Restituisce l'indicatore orario corrente. La funzione NOW è equivalente alla funzione CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Restituisce un numero compreso tra 1 e 4 corrispondente al trimestre dell'anno per un'espressione di data specificata.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Restituisce un numero compreso tra 0 e 59 corrispondente ai secondi per un'espressione di tempo specificata.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Aggiunge un numero specificato di intervalli a un indicatore orario e restituisce un singolo indicatore orario.

Sono disponibili le opzioni di intervallo seguenti: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Restituisce il numero totale di intervalli specificati tra due indicatori orari.

Utilizzare gli stessi intervalli di TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Restituisce un numero compreso tra 1 e 13 corrispondente alla settimana del trimestre per l'espressione di data specificata.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Restituisce un numero compreso tra 1 e 53 corrispondente alla settimana dell'anno per l'espressione di data specificata.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Restituisce l'anno per l'espressione di data specificata.

YEAR(expr)

Funzioni di estrazione della data

Queste funzioni calcolano o arrotondano per difetto i valori dell'indicatore orario al periodo di tempo specificato più vicino, ad esempio ora, giorno, settimana, mese e trimestre.

È possibile usare gli indicatori orario calcolati per aggregare i dati utilizzando una granularità diversa. Ad esempio, è possibile applicare la funzione EXTRACTDAY() alle date degli ordini di vendita per calcolare un indicatore orario per la mezzanotte del giorno in cui si verificano gli ordini, in modo da poter aggregare i dati in base al giorno.

Funzione Esempio Descrizione Sintassi

Estrazione del giorno

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM restituisce 2/22/1967 12:00:00 AM.
  • 9/2/2022 10:38:21 AM restituisce 9/2/2022 12:00:00 AM.

Restituisce un indicatore orario per la mezzanotte (12:00) del giorno in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input è 3:02:01 AM del 22 febbraio, la funzione restituisce l'indicatore orario 12:00:00 AM del 22 febbraio.

EXTRACTDAY(expr)

Estrazione dell'ora

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM restituisce 2/22/1967 3:00:00 AM.
  • 6/17/1999 11:18:30 PM restituisce 6/17/1999 11:00:00 PM.

Restituisce un indicatore orario per l'inizio dell'ora in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input è 11:18:30 PM, la funzione restituisce l'indicatore orario 11:00:00 PM.

EXTRACTHOUR (expr)

Estrazione dell'ora del giorno

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 restituisce 2000/01/01 10:00:00.
  • 2014/08/13 11:10:00 restituisce 2000/01/01 11:00:00

Restituisce un indicatore orario in cui l'ora è uguale all'ora del valore di input con i valori predefiniti per anno, mese, giorno, minuti e secondi.

EXTRACTHOUROFDAY(expr)

Estrazione dei millisecondi

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 restituisce 1997/01/07 15:32:02.150.
  • 1997/01/07 18:42:01.265 restituisce 1997/01/07 18:42:01.265.
Restituisce un indicatore orario contenente i millisecondi del valore di input. Ad esempio, se l'indicatore orario di input è 15:32:02.150, la funzione restituisce l'indicatore orario 15:32:02.150.

EXTRACTMILLISECOND(expr)

Estrazione dei minuti

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM restituisce 6/17/1999 11:18:00 PM.
  • 9/2/2022 10:38:21 AM restituisce 9/2/2022 10:38:00 AM.

Restituisce un indicatore orario per l'inizio del minuto in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input è 11:38:21 AM, la funzione restituisce l'indicatore orario 11:38:00 AM.

EXTRACTMINUTE (expr)

Estrazione del mese

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM restituisce 2/1/1967 12:00:00 AM.
  • 6/17/1999 11:18:00 PM restituisce 6/1/1999 12:00:00 AM.

Restituisce un indicatore orario per il primo giorno del mese in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input è 22 febbraio, la funzione restituisce l'indicatore orario 1 febbraio.

EXTRACTMONTH(expr)

Estrazione del trimestre

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM restituisce 1/1/1967 12:00:00 AM, il primo giorno del primo trimestre fiscale.
  • 6/17/1999 11:18:00 PM restituisce 4/1/1999 12:00:00 AM, il primo giorno del secondo trimestre fiscale.

  • 9/2/2022 10:38:21 AM restituisce 7/1/2022 12:00:00 AM, il primo giorno del terzo trimestre fiscale.

    Suggerimento: usare QUARTER (expr) per calcolare solo il trimestre ordinale dall'indicatore orario restituito.

Restituisce un indicatore orario per il primo giorno del trimestre in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input si verifica nel terzo trimestre fiscale, la funzione restituisce l'indicatore orario 1 luglio.

EXTRACTQUARTER(expr)

Estrazione dei secondi

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 restituisce 1997/01/07 15:32:02.
  • 1997/01/07 20:44:18.163 restituisce 1997/01/07 20:44:18.

Restituisce un indicatore orario contenente il valore di input. Ad esempio, se l'indicatore orario di input è 15:32:02.150, la funzione restituisce l'indicatore orario 15:32:02.

EXTRACTSECOND(expr)

Estrazione della settimana

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 restituisce 2014/09/21.

  • 2014/08/13 11:10:00 restituisce 2014/08/10.

Restituisce la data del primo giorno della settimana (domenica) in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input è mercoledì 24 settembre, la funzione restituisce l'indicatore orario domenica 21 settembre.

EXTRACTWEEK(expr)

Estrazione dell'anno

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 restituisce 1967/01/01 00:00:00.
  • 1999/06/17 23:18:00 restituisce 1999/01/01 00:00:00.

Restituisce un indicatore orario per il primo gennaio dell'anno in cui si verifica il valore di input. Ad esempio, se l'indicatore orario di input si verifica nel 1967, la funzione restituisce l'indicatore orario 1 gennaio 1967.

EXTRACTYEAR (expr)

Funzioni di visualizzazione

Le funzioni di visualizzazione agiscono sul set di risultati di una query.

Funzione Esempio Descrizione Sintassi

BottomN

BottomN(Sales, 10)

Restituisce gli n valori più bassi dell'espressione, classificati dal più basso al più alto.

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

Calcola l'espressione utilizzando il filtro preaggregato fornito.

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

Calcola una media mobile delle ultime n righe di dati, compresa la riga corrente, nel set di risultati.

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

Calcola una somma mobile delle ultime n righe di dati, compresa la riga corrente.

La somma della prima riga è uguale all'espressione numerica della prima riga. La somma della seconda riga viene calcolata in base alla somma delle prime due righe di dati e così via. Quando viene raggiunta l'ennesima riga, la somma viene calcolata in base alle ultime n righe di dati.

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

Determina la classificazione di un valore in base a un intervallo specificato dall'utente. Restituisce numeri interi che rappresentano qualsiasi intervallo di classificazione. L'esempio mostra un intervallo compreso tra 1 e 100, con le vendite più basse = 1 e le vendite più alte = 100.

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

Calcola una classificazione in percentuale per ciascun valore che soddisfa l'argomento dell'espressione numerica. Gli intervalli delle classificazioni percentili sono compresi tra 0 (primo percentile) e 1 (centesimo percentile), inclusi.

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

Calcola la classificazione di ciascun valore che soddisfa l'argomento dell'espressione numerica. Al numero più alto viene assegnata una classificazione pari a 1 e a ciascuna classificazione successiva viene assegnato il numero intero consecutivo successivo (2, 3, 4...). Agli eventuali valori uguali viene assegnata la stessa classificazione (ad esempio 1, 1, 1, 4, 5, 5, 7...).

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

Accetta un set di record come input e conta il numero di record rilevato fino a quel momento.

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

Accetta un set di record come input e indica il valore massimo in base ai record rilevati fino a quel momento. Il tipo di dati specificato deve supportare l'ordinamento.

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

Accetta un set di record come input e indica il valore minimo in base ai record rilevati fino a quel momento. Il tipo di dati specificato deve supportare l'ordinamento.

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

Calcola una somma parziale in base ai record rilevati fino a quel momento.

La somma della prima riga è uguale all'espressione numerica della prima riga. La somma della seconda riga viene calcolata in base alla somma delle prime due righe di dati e così via.

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

Restituisce gli n valori più alti dell'espressione, classificati dal più alto al più basso.

TOPN([NumericExpression], [integer])

Suggerimenti sull'uso delle funzioni di visualizzazione

  • FILTER: se si crea un report utilizzando un'area argomenti, utilizzare le gerarchie definite nell'area argomenti anziché filtrare le colonne della gerarchia direttamente in un calcolo. In altre parole, se un'area argomenti presenta una gerarchia per Tempo\Anno fiscale\Trimestre fiscale, non usare:

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

Funzioni di valutazione

Le funzioni di valutazione sono funzioni di database che possono essere utilizzate per passare espressioni per ottenere calcoli avanzati.

Le funzioni di database incorporate possono richiedere una o più colonne. Per far riferimento alle colonne si usa il formato %1 ... %N all'interno della funzione. Le colonne effettive devono essere elencate dopo la funzione.

Funzione Esempio Descrizione Sintassi

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

Passa la funzione di database specificata con colonne di riferimento facoltative come parametri al database per la valutazione.

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

Passa la funzione di database specificata con colonne di riferimento facoltative come parametri al database per la valutazione. Questa funzione è destinata alle funzioni di aggregazione con clausola GROUP BY.

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

Funzioni matematiche

Le funzioni matematiche descritte in questa sezione eseguono operazioni matematiche.

Funzione Esempio Descrizione Sintassi

ABS

ABS(Profit)

Calcola il valore assoluto di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

ABS(expr)

ACOS

ACOS(1)

Calcola l'arcocoseno di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

ACOS(expr)

ASIN

ASIN(1)

Calcola l'arcoseno di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

ASIN(expr)

ATAN

ATAN(1)

Calcola l'arcotangente di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

ATAN(expr)

ATAN2

ATAN2(1, 2)

Calcola l'arcotangente di y /x, dove y è la prima espressione numerica e x è la seconda espressione numerica.

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

Arrotonda un'espressione numerica non intera al successivo numero intero più alto. Se l'espressione numerica restituisce un numero intero, la funzione CEILING restituisce tale numero.

CEILING(expr)

COS

COS(1)

Calcola il coseno di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

COS(expr)

COT

COT(1)

Calcola la cotangente di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

COT(expr)

DEGREES

DEGREES(1)

Converte un'espressione da radianti a gradi.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

DEGREES(expr)

EXP

EXP(4)

Invia il valore alla potenza specificata. Calcola e elevata all'ennesima potenza, dove e è la base dell'algoritmo naturale.

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

Recupera un bit in una determinata posizione in un numero intero. Restituisce un numero intero pari a 0 o 1 corrispondente alla posizione del bit.

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

Arrotonda un'espressione numerica non intera al successivo numero intero più basso. Se l'espressione numerica restituisce un numero intero, la funzione FLOOR restituisce tale numero.

FLOOR(expr)

LOG

LOG(1)

Calcola il logaritmo naturale di un'espressione.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

LOG(expr)

LOG10

LOG10(1)

Calcola il logaritmo di base 10 di un'espressione.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

LOG10(expr)

MOD

MOD(10, 3)

Divide la prima espressione numerica per la seconda espressione numerica e restituisce la parte resto del quoziente.

MOD(expr1, expr2)

PI

PI()

Restituisce il valore costante di pi.

PI()

POWER

POWER(Profit, 2)

Utilizza la prima espressione numerica elevandola alla potenza specificata nella seconda espressione numerica.

POWER(expr1, expr2)

RADIANS

RADIANS(30)

Converte un'espressione da gradi a radianti.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

RADIANS(expr)

RAND

RAND()

Restituisce un numero pseudo casuale compreso tra 0 e 1.

RAND()

RANDFromSeed

RAND(2)

Restituisce un numero pseudo casuale basato su un valore di partenza. Per un determinato valore di partenza viene generato lo stesso set di numeri casuali.

RAND(expr)

ROUND

ROUND(2.166000, 2)

Arrotonda un'espressione numerica a n cifre di precisione.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

integer rappresenta qualsiasi numero intero positivo corrispondente al numero di cifre di precisione.

ROUND(expr, integer)

SIGN

SIGN(Profit)

Restituisce quanto riportato di seguito.

  • 1 se l'argomento dell'espressione numerica restituisce un numero positivo;

  • -1 se l'argomento dell'espressione numerica restituisce un numero negativo;

  • 0 se l'argomento dell'espressione numerica restituisce zero.

SIGN(expr)

SIN

SIN(1)

Calcola il seno di un'espressione numerica.

SIN(expr)

SQRT

SQRT(7)

Calcola la radice quadrata dell'argomento dell'espressione numerica. Quest'ultima deve restituire un numero non negativo.

SQRT(expr)

TAN

TAN(1)

Calcola la tangente di un'espressione numerica.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

Tronca la parte decimale di un numero per restituire il numero di posizioni specificato partendo dal separatore decimale.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

integer rappresenta qualsiasi numero intero positivo corrispondente al numero di caratteri a destra della posizione decimale da restituire.

TRUNCATE(expr, integer)

Funzioni Aggregato parziale

Le funzioni Aggregato parziale consentono di eseguire operazioni su più valori per creare risultati di riepilogo.

Funzione Esempio Descrizione Sintassi

MAVG

 

Calcola una media mobile delle ultime n righe di dati, compresa la riga corrente, nel set di risultati.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. integer è un numero intero positivo qualsiasi. Rappresenta la media delle ultime n righe di dati.

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

Calcola una somma mobile delle ultime n righe di dati, compresa la riga corrente.

expr rappresenta qualsiasi espressione che restituisce un valore numerico. integer è un numero intero positivo qualsiasi. Rappresenta la somma delle ultime n righe di dati.

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

Calcola una somma parziale in base ai record rilevati fino a quel momento.

expr rappresenta qualsiasi espressione che restituisce un valore numerico.

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

Accetta un set di record come input e conta il numero di record rilevato fino a quel momento.

expr rappresenta un'espressione di un tipo di dati qualsiasi.

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

Accetta un set di record come input e indica il valore massimo in base ai record rilevati fino a quel momento.

expr rappresenta un'espressione di un tipo di dati qualsiasi.

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

Accetta un set di record come input e indica il valore minimo in base ai record rilevati fino a quel momento.

expr rappresenta un'espressione di un tipo di dati qualsiasi.

RMIN(expr)

Funzioni di stringa

Le funzioni di stringa consentono di eseguire varie operazioni di manipolazione sui caratteri. Vengono applicate su stringhe di caratteri.

Funzione Esempio Descrizione Sintassi

ASCII

ASCII('a')

Converte una stringa di caratteri singoli nel codice ASCII corrispondente, tra 0 e 255. Se l'espressione restituisce più caratteri, viene restituito il codice ASCII corrispondente al primo carattere dell'espressione.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

Restituisce la lunghezza, in bit, di una stringa specificata. Ogni carattere Unicode ha una lunghezza di 2 byte (corrispondente a 16 bit).

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

BIT_LENGTH(expr)

CHAR

CHAR(35)

Converte un valore numerico compreso tra 0 e 255 nel valore del carattere corrispondente in codice ASCII.

expr rappresenta qualsiasi espressione che restituisce un valore numerico compreso tra 0 e 255.

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

Restituisce la lunghezza, in numero di caratteri, di una stringa specificata. Gli spazi iniziali e finali non vengono contati.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

Concatena due stringhe di caratteri.

exprs rappresenta le espressioni, separate da virgole, che restituiscono stringhe di caratteri.

Con CONCAT è necessario utilizzare dati di tipo RAW e non dati formattati.

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

Inserisce una stringa di caratteri specificata in una determinata posizione di un'altra stringa di caratteri.

expr1 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa di caratteri di destinazione.

integer1 rappresenta qualsiasi numero intero positivo corrispondente al numero di caratteri dall'inizio della stringa di destinazione dove la seconda stringa deve essere inserita.

integer2 rappresenta qualsiasi numero intero positivo corrispondente al numero di caratteri nella stringa di destinazione sostituiti dalla seconda stringa.

expr2 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa di caratteri da inserire nella stringa di destinazione.

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

Restituisce un numero specificato di caratteri dalla sinistra di una stringa.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

integer rappresenta qualsiasi numero intero positivo corrispondente al numero di caratteri dalla sinistra della stringa da restituire.

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

Restituisce la lunghezza, in numero di caratteri, di una stringa specificata. La lunghezza viene restituita escludendo qualsiasi carattere vuoto finale.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

Restituisce la posizione numerica di una stringa di caratteri in un'altra stringa di caratteri. Se la stringa di caratteri non viene trovata nella stringa in cui viene eseguita la ricerca, la funzione restituisce un valore pari a 0.

expr1 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa da cercare.

expr2 rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

Identifica la stringa da cercare.

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

Analogamente alla funzione LOCATE, restituisce la posizione numerica di una stringa di caratteri in un'altra stringa di caratteri. LOCATEN include un argomento numero intero che consente di specificare la posizione di partenza per iniziare la ricerca.

expr1 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa da cercare.

expr2 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa da cercare.

integer è qualsiasi numero intero positivo (diverso da zero) che rappresenta la posizione da cui iniziare la ricerca della stringa di caratteri.

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

Converte una stringa di caratteri in lettere minuscole.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

Restituisce il numero di byte di una stringa specificata.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

Restituisce la posizione numerica di strExpr1 in un'espressione di caratteri. Se strExpr1 non viene trovata, la funzione restituisce 0.

expr1 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa da cercare nella stringa di destinazione. Ad esempio, "d".

expr2 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Identifica la stringa di destinazione da cercare. Ad esempio, "abcdef".

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

Ripete n volte un'espressione specificata.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

integer rappresenta qualsiasi numero intero positivo che indica il numero di volte che la stringa di caratteri deve essere ripetuta.

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

Sostituisce uno o più caratteri di un'espressione di caratteri specificata con uno o più caratteri.

expr1 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Questa è la stringa in cui i caratteri devono essere sostituiti.

expr2 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Questa seconda stringa identifica i caratteri della prima stringa che devono essere sostituiti.

expr3 rappresenta qualsiasi espressione che restituisce una stringa di caratteri. Questa terza stringa specifica i caratteri da sostituire nella prima stringa.

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

Restituisce un numero specificato di caratteri dalla destra di una stringa.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

integer rappresenta qualsiasi numero intero positivo corrispondente al numero di caratteri dalla destra della stringa da restituire.

RIGHT(expr, integer)

SPACE

SPACE(2)

Inserisce spazi vuoti.

integer rappresenta qualsiasi numero intero positivo corrispondente al numero di spazi da inserire.

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

Crea una nuova stringa a partire da un numero fisso di caratteri nella stringa originale.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

startPos è qualsiasi numero intero positivo che rappresenta il numero di caratteri dall'inizio del lato sinistro della stringa da cui deve iniziare il risultato.

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

Analogamente a SUBSTRING, crea una nuova stringa iniziando da un numero fisso di caratteri nella stringa originale.

SUBSTRINGN include un argomento numero intero che consente di specificare la lunghezza della nuova stringa, in numero di caratteri.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

startPos è qualsiasi numero intero positivo che rappresenta il numero di caratteri dall'inizio del lato sinistro della stringa da cui deve iniziare il risultato.

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

Cancella i caratteri iniziali e finali specificati da una stringa di caratteri.

char rappresenta qualsiasi carattere singolo. Se si omettono questa specifica e gli apici obbligatori, un carattere vuoto viene utilizzato come valore predefinito.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

Cancella i caratteri iniziali specificati da una stringa di caratteri.

char rappresenta qualsiasi carattere singolo. Se si omettono questa specifica e gli apici obbligatori, un carattere vuoto viene utilizzato come valore predefinito.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

Cancella i caratteri finali specificati da una stringa di caratteri.

char rappresenta qualsiasi carattere singolo. Se si omettono questa specifica e gli apici obbligatori, un carattere vuoto viene utilizzato come valore predefinito.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

Converte una stringa di caratteri in lettere maiuscole.

expr rappresenta qualsiasi espressione che restituisce una stringa di caratteri.

UPPER(expr)

Funzioni di sistema

La funzione di sistema USER restituisce i valori relativi alla sessione. Ad esempio, il nome utente utilizzato per collegarsi.

Funzione Esempio Descrizione Sintassi

DATABASE

 

Restituisce il nome dell'area argomenti a cui si è collegati.

DATABASE()

USER

 

Restituisce il nome utente per il modello semantico a cui si è connessi.

USER()

Funzioni di serie temporali

Le funzioni di serie temporali consentono di aggregare e prevedere dati in base alle dimensioni tempo. Ad esempio, è possibile utilizzare la funzione AGO per calcolare i ricavi dell'anno precedente.

I membri delle dimensioni tempo devono trovarsi a livello della funzione o a un livello inferiore. Pertanto, è necessario progettare nella query una o più colonne che identifichino in modo univoco i membri al livello o al di sotto del livello definito.

Funzione Esempio Descrizione Sintassi

AGO

SELECT Year_ID, AGO(sales, year, 1)

Calcola il valore aggregato di una misura in un periodo di tempo precedente specificato. Ad esempio, per calcolare i ricavi mensili dell'anno precedente, utilizzare AGO(Revenue, Year, 1, SHIP_MONTH). Per calcolare i ricavi trimestrali nell'ultimo trimestre, utilizzare AGO(Revenue, Quarter, 1).

AGO(MEASURE, TIME_LEVEL, OFFSET)

Dove:

  • MEASURE rappresenta la misura per il calcolo, ad esempio Revenue.
  • TIME_LEVEL rappresenta l'intervallo di tempo, che deve essere Year, Quarter, Month, Week o Day.
  • OFFSET rappresenta il numero di intervalli di tempo per il calcolo a ritroso. Ad esempio, 1 per un anno.

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

Calcola il totale di una misura nel periodo che inizia con le unità di tempo x e termina con le unità di tempo y a partire dall'ora corrente. Ad esempio, PERIODROLLING può calcolare le vendite per un periodo che inizia in un trimestre precedente al trimestre corrente e termina in un periodo successivo al trimestre corrente.

PERIODROLLING(measure, x [,y])

Dove:

  • MEASURE rappresenta il nome di una colonna di misura.
  • X è un numero intero che rappresenta l'offset rispetto all'ora corrente.
  • Y è un numero intero che rappresenta il numero di unità di tempo in base alle quali verrà calcolata la funzione.
  • HIERARCHY è un argomento facoltativo che rappresenta il nome di una gerarchia in una dimensione tempo, ad esempio YR, MON, DAY, che si desidera utilizzare per calcolare la finestra temporale.

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

Calcola il valore aggregato di una misura a partire dall'inizio di un periodo di tempo fino al periodo di tempo più recente, ad esempio i calcoli da inizio anno.

Ad esempio, per calcolare le vendite da inizio anno, utilizzare TODATE(sales, year).

TODATE(MEASURE, TIME_LEVEL)

Dove:

  • MEASURE rappresenta un'espressione che fa riferimento ad almeno una colonna di misura, ad esempio sales.
  • TIME_LEVEL rappresenta l'intervallo di tempo, che deve essere Year, Quarter, Month, Week o Day.

Costanti

È possibile utilizzare le costanti per includere date e ore fisse specifiche nelle cartelle di lavoro e nei report.

Costante Esempio Descrizione Sintassi

DATE

DATE '2026-04-09'

Crea una data specifica in un calcolo o in un'espressione.

DATE 'yyyy-mm-dd'

TIME

TIME '12:00:00'

Crea un'ora specifica in un calcolo o in un'espressione.

TIME 'hh:mi:ss'

TIMESTAMP

TIMESTAMP '2026-04-09 12:00:00'

Crea un indicatore orario specifico in un calcolo o in un'espressione.

TIMESTAMP 'yyyy-mm-dd hh:mi:ss'

Tipi

Nelle espressioni, è possibile utilizzare tipi di dati come CHAR, INT e NUMERIC.

Ad esempio, quando si creano espressioni CAST, si utilizzano tipi che modificano il tipo di dati di un'espressione o un valore nullo in un altro tipo di dati.