Pass-Through-Funktionen (RAWSQL)
Diese RAWSQL-Pass-Through-Funktionen leiten SQL-Ausdrücke direkt in die Datenbank weiter, ohne diese durch Tableau interpretieren zu lassen. Wenn Sie über benutzerdefinierte Datenbankfunktionen verfügen, die Tableau nicht bekannt sind, können Sie diese benutzerdefinierten Funktionen über die Pass-Through-Funktionen aufrufen.
Da Tableau den Ausdruck nicht interpretiert, müssen Sie die Aggregation definieren. Wenn Sie einen aggregierten Ausdruck übergeben müssen, können Sie die RAWSQLAGG -Version einer Funktion verwenden.
RAWSQL-Pass-Through-Funktionen funktionieren möglicherweise nicht mit Verbunddatenquellen (die über verschiedene Datenbanken hinweg kombiniert wurden) oder veröffentlichten Datenquellen.
RAWSQL Syntax
Es gibt zwei Arten von RAWSQL-Funktionen: disaggregierte und aggregierte. Dies wird im ersten Teil des Funktionsnamens RAWSQL oder RAWSQLAGG angegeben. Der letzte Teil des Funktionsnamens ist der Ausgabetyp, z. B. BOOL, STR oder INT. In allen RAWSQL-Fällen ist das Argument "sql_expr", [arg1], ...[arg2]. Beim Schreiben der Funktion können Sie die Ersatzsyntax %n verwenden, um den korrekten Feldnamen oder Ausdruck einzufügen.
Ersetzungssyntax %n
Normalerweise kann Ihre Datenbank die Feldnamen, die in Tableau angezeigt werden, nicht verarbeiten. Da Tableau die SQL-Ausdrücke in den Pass-Through-Funktionen nicht interpretiert, kann eine Verwendung der Feldnamen von Tableau in Ihrem Ausdruck Fehler hervorrufen. Verwenden Sie %n, um den korrekten Feldnamen oder Ausdruck für eine Tableau-Berechnung in die SQL Pass-Through-Funktion einzufügen.
Beispiel: Sie verfügen über eine Funktion, die den Median für einen Satz an Werten berechnet. In diesem Fall können Sie die Funktion in der Tableau-Spalte [Sales] wie folgt aufrufen:
RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])REALSQLAGG, weil Sie die Aggregation spezifizieren möchten.REAL, da die Ausgabe numerisch und nicht unbedingt eine Ganzzahl ist.MEDIANist die Aggregation.%1ist der Platzhalter für[Sales].
RAWSQL-Funktionen
Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte.
In Tableau sind die nachfolgenden RAWSQL-Funktionen verfügbar:
RAWSQL_BOOL
| Syntax | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Ausgabe | Boolesch |
| Definition | Gibt für einen angegebenen SQL-Ausdruck ein boolesches Ergebnis zurück. |
| Beispiel | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])Im Beispiel steht %1 für [Sales] und %2 für [Profit]. |
RAWSQLAGG_BOOL
| Syntax | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Ausgabe | Boolesch |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck ein boolesches Ergebnis zurück. |
| Beispiel | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) Im Beispiel steht %1 für [Sales] und %2 für [Profit]. |
RAWSQL_DATE
| Syntax | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Ausgabe | Datum |
| Definition | Gibt für einen angegebenen SQL-Ausdruck ein Datumsergebnis zurück. |
| Beispiel | RAWSQL_DATE("%1", [Order Date])In diesem Beispiel steht %1 für [Order Date]. |
RAWSQLAGG_DATE
| Syntax | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Ausgabe | Datum |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck ein Datumsergebnis zurück |
| Beispiel | RAWSQLAGG_DATE("MAX(%1)", [Order Date])In diesem Beispiel steht %1 für [Order Date]. |
RAWSQL_DATETIME
| Syntax | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Ausgabe | Datum/Uhrzeit |
| Definition | Gibt für einen angegebenen SQL-Ausdruck ein Datums- und Uhrzeitergebnis zurück. |
| Beispiel | RAWSQL_DATETIME("%1", [Order Date])In diesem Beispiel steht %1 für [Order Date]. |
RAWSQLAGG_DATETIME
| Syntax | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Ausgabe | Datum/Uhrzeit |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck ein Datums- und Uhrzeitergebnis zurück. |
| Beispiel | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])In diesem Beispiel steht %1 für [Order Date]. |
RAWSQL_INT
| Syntax | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Ausgabe | Ganzzahl |
| Definition | Gibt für einen angegebenen SQL-Ausdruck eine Ganzzahl zurück. |
| Beispiel | RAWSQL_INT("500 + %1", [Sales])In diesem Beispiel steht %1 für [Sales]. |
RAWSQLAGG_INT
| Syntax | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Ausgabe | Ganzzahl |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck eine Ganzzahl zurück. |
| Beispiel | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])In diesem Beispiel steht %1 für [Sales]. |
RAWSQL_REAL
| Syntax | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Ausgabe | Numerisch |
| Definition | Gibt für einen angegebenen SQL-Ausdruck ein numerisches Ergebnis zurück. |
| Beispiel | RAWSQL_REAL("-123.98 * %1", [Sales])In diesem Beispiel steht %1 für [Sales]. |
RAWSQLAGG_REAL
| Syntax | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Ausgabe | Numerisch |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck ein numerisches Ergebnis zurück. |
| Beispiel | RAWSQLAGG_REAL("SUM( %1)", [Sales])In diesem Beispiel steht %1 für [Sales]. |
RAWSQL_SPATIAL
| Syntax | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Ausgabe | Raum |
| Definition | Gibt für einen angegebenen SQL-Ausdruck ein räumliches Ergebnis zurück. |
| Beispiel | RAWSQL_SPATIAL("%1", [Geometry])In diesem Beispiel steht %1 für [Geometry]. |
| Hinweis | Es gibt keine RAWSQLAGG-Version für diese Funktion. |
RAWSQL_STR
| Syntax | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Ausgabe | Zeichenfolge |
| Definition | Gibt für einen angegebenen SQL-Ausdruck eine Zeichenfolge zurück. |
| Beispiel | RAWSQL_STR("%1", [Customer Name])In diesem Beispiel steht %1 für [Customer Name]. |
RAWSQLAGG_STR
| Syntax | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Ausgabe | Zeichenfolge |
| Definition | Gibt für einen angegebenen aggregierten SQL-Ausdruck eine Zeichenfolge zurück. |
| Beispiel | RAWSQLAGG_STR("AVG(%1)", [Discount])In diesem Beispiel steht %1 für [Discount] (Rabatt). |
