Funzioni pass-through (RAWSQL)
Queste funzioni pass-through RAWSQL inviano espressioni SQL direttamente al database, senza essere prima interpretate da Tableau. Se disponi di funzioni di database personalizzate di cui Tableau non è a conoscenza, utilizza le funzioni pass-through per chiamare queste funzioni personalizzate.
Poiché Tableau non interpreta l’espressione, se necessario devi definire l’aggregazione. Puoi utilizzare la versione RAWSQLAGG di una funzione quando devi passare un’espressione aggregata.
Le funzioni pass-through di RAWSQL potrebbero non funzionare con origini dati federate (combinate in database diversi) o pubblicate.
Sintassi di RAWSQL
Le funzioni RAWSQL sono di due tipi: disaggregate e aggregate. Questo viene specificato nella prima parte del nome della funzione, ovvero RAWSQL o RAWSQLAGG. La parte finale del nome della funzione è il tipo di output, ad esempio BOOL, STR o INT. In tutte le funzioni RAWSQL, l’argomento è "sql_expr", [arg1], ...[arg2]. Quando scrivi la funzione, puoi utilizzare una sintassi di sostituzione %n per inserire il nome del campo o l’espressione corretta.
Sintassi di sostituzione %n
Generalmente, il database non riconosce i nomi dei campi mostrati in Tableau. Poiché Tableau non interpreta le espressioni SQL nelle funzioni pass-through, l’utilizzo dei nomi dei campi di Tableau nella tua espressione può causare errori. Utilizza %n per inserire il nome del campo o l’espressione corretta per un calcolo Tableau in SQL pass-through.
Ad esempio, se avessi una funzione che calcola il valore mediano di un insieme di valori, potresti richiamare tale funzione nella colonna [Vendite] di Tableau in questo modo:
RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])REALSQLAGGperché desideri specificare l’aggregazione.REALperché l’output è numerico e non necessariamente un intero.MEDIANè l’aggregazione.%1è il segnaposto per[Sales].
Funzioni RAWSQL
L’espressione SQL viene passata direttamente al database sottostante. Utilizza %n nell’espressione SQL come sintassi di sostituzione per i valori del database.
Le seguenti funzioni RAWSQL sono disponibili in Tableau:
RAWSQL_BOOL
| Sintassi | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Output | Booleano |
| Definizione | Restituisce un risultato booleano da una data espressione SQL. |
| Esempio | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])Nell’esempio, %1 è uguale a [Sales] e %2 è uguale a [Profit]. |
RAWSQLAGG_BOOL
| Sintassi | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Output | Booleano |
| Definizione | Restituisce un risultato booleano da una data espressione SQL aggregata. |
| Esempio | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) Nell’esempio, %1 è uguale a [Sales] e %2 è uguale a [Profit]. |
RAWSQL_DATE
| Sintassi | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Output | Data |
| Definizione | Restituisce un risultato data da un’espressione SQL specificata. |
| Esempio | RAWSQL_DATE("%1", [Order Date])In questo esempio, %1 è uguale a [Order Date]. |
RAWSQLAGG_DATE
| Sintassi | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Output | Data |
| Definizione | Restituisce un risultato data da un’espressione SQL aggregata specificata. |
| Esempio | RAWSQLAGG_DATE("MAX(%1)", [Order Date])In questo esempio, %1 è uguale a [Order Date]. |
RAWSQL_DATETIME
| Sintassi | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Output | Data e ora |
| Definizione | Restituisce un risultato data e ora da un’espressione SQL specificata. |
| Esempio | RAWSQL_DATETIME("%1", [Order Date])In questo esempio, %1 è uguale a [Order Date]. |
RAWSQLAGG_DATETIME
| Sintassi | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Output | Data e ora |
| Definizione | Restituisce un risultato data e ora da un’espressione SQL aggregata specificata. |
| Esempio | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])In questo esempio, %1 è uguale a [Order Date]. |
RAWSQL_INT
| Sintassi | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Output | Intero |
| Definizione | Restituisce come risultato un numero intero da una data espressione SQL. |
| Esempio | RAWSQL_INT("500 + %1", [Sales])In questo esempio, %1 è uguale a [Sales]. |
RAWSQLAGG_INT
| Sintassi | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Output | Intero |
| Definizione | Restituisce come risultato un numero intero da una data espressione SQL aggregata. |
| Esempio | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])In questo esempio, %1 è uguale a [Sales]. |
RAWSQL_REAL
| Sintassi | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Output | Numerico |
| Definizione | Restituisce un risultato numerico da un’espressione SQL specificata. |
| Esempio | RAWSQL_REAL("-123.98 * %1", [Sales])In questo esempio, %1 è uguale a [Sales] |
RAWSQLAGG_REAL
| Sintassi | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Output | Numerico |
| Definizione | Restituisce un risultato numerico da un’espressione SQL aggregata specificata. |
| Esempio | RAWSQLAGG_REAL("SUM( %1)", [Sales])In questo esempio, %1 è uguale a [Sales]. |
RAWSQL_SPATIAL
| Sintassi | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Output | Spaziale |
| Definizione | Restituisce un risultato spaziale da un’espressione SQL specificata. |
| Esempio | RAWSQL_SPATIAL("%1", [Geometry])In questo esempio, %1 è uguale a [Geometria]. |
| Nota | Non esiste alcuna versione RAWSQLAGG di questa funzione. |
RAWSQL_STR
| Sintassi | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Output | Stringa |
| Definizione | Restituisce una stringa da un’espressione SQL specificata. |
| Esempio | RAWSQL_STR("%1", [Customer Name])In questo esempio, %1 è uguale a [Nome cliente]. |
RAWSQLAGG_STR
| Sintassi | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Output | Stringa |
| Definizione | Restituisce una stringa da un’espressione SQL aggregata specificata. |
| Esempio | RAWSQLAGG_STR("AVG(%1)", [Discount])In questo esempio, %1 è uguale a [Sconto]. |
