Pass-Through-Funktionen (RAWSQL)
Diese RAWSQL-Pass-Through-Funktionen können verwendet werden, um SQL-Ausdrücke direkt in die Datenbank weiterzuleiten, 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.
Normalerweise kann Ihre Datenbank die Feldnamen, die in Tableau angezeigt werden, nicht verarbeiten. Da Tableau die SQL-Ausdrücke nicht interpretiert, die Sie über die Pass-Through-Funktionen einschließen, kann eine Verwendung der Feldnamen von Tableau in Ihrem Ausdruck Fehler hervorrufen. Sie können eine Ersatzsyntax verwenden, 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])
Da Tableau den Ausdruck nicht interpretiert, müssen Sie die Aggregation definieren. Sie können die nachfolgend beschriebenen RAWSQLAGG-Funktionen für aggregierte Ausdrücke verwenden.
RAWSQL-Pass-Through-Funktionen können nicht mit veröffentlichten Datenquellen oder Tableau-Extrakten verwendet werden.
Diese Funktionen können ab Tableau Desktop 8.2 andere Ergebnisse zurückgeben als in früheren Versionen von Tableau Desktop. Das liegt daran, dass Tableau jetzt ODBC für Pass-Through-Funktionen verwendet und nicht mehr OLE DB. ODBC verkürzt beim Zurückgeben tatsächlicher Werte als Ganzzahl, wohingegen OLE DB dabei rundet.
RAWSQL-Funktionen
In Tableau sind die nachfolgenden RAWSQL-Funktionen verfügbar.
RAWSQL_BOOL(“sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen SQL-Ausdruck ein boolesches Ergebnis zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte.
Beispiel
Im Beispiel steht %1 für [Sales] und %2 für [Profit].
RAWSQL_BOOL("%1 > %2", [Sales], [Profit])
RAWSQL_DATE("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen SQL-Ausdruck ein Datumsergebnis zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte.
Beispiel
In diesem Beispiel steht %1 für [Order Date].
RAWSQL_DATE(“%1”, [Order
Date])
RAWSQL_DATETIME("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen SQL-Ausdruck Datum und Uhrzeit zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Delivery Date].
Beispiel
RAWSQL_DATETIME("%1", [Order Date])
RAWSQL_INT("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen SQL-Ausdruck eine Ganzzahl zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Sales].
Beispiel
RAWSQL_INT(“500
+ %1”, [Sales])
RAWSQL_REAL("sql_expr”, [arg1], …[argN])
Gibt ein numerisches Ergebnis für einen angegebenen SQL-Ausdruck zurück, der direkt an die zugrunde liegende Datenquelle übergeben wird. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Sales].
Beispiel
RAWSQL_REAL(“-123.98 * %1”, [Sales])
RAWSQL_SPATIAL
Gibt ein räumliches Feld für einen angegebenen SQL-Ausdruck zurück, das direkt an die zugrunde liegende Datenquelle übergeben wird. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte.
Beispiel
In diesem Beispiel steht %1 für [Geometry].
RAWSQL_SPATIAL("%1", [Geometry])
RAWSQL_STR("sql_expr”, [arg1], …[argN])
Gibt eine Zeichenfolge für einen angegebenen SQL-Ausdruck zurück, der direkt an die zugrunde liegende Datenquelle übergeben wird. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Customer Name].
Beispiel
RAWSQL_STR(“%1”, [Customer Name])
RAWSQLAGG_BOOL("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen aggregierten SQL-Ausdruck ein boolesches Ergebnis zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte.
Beispiel
Im Beispiel steht %1 für [Sales] und %2 für [Profit].
RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)”, [Sales], [Profit])
RAWSQLAGG_DATE("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen aggregierten SQL-Ausdruck ein Datumsergebnis zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Order Date].
Beispiel
RAWSQLAGG_DATE(“MAX(%1)”,
[Order Date])
RAWSQLAGG_DATETIME("sql_expr”, [arg1], …[argN])
Gibt für einen angegebenen aggregierten SQL-Ausdruck ein Datums- und Uhrzeitergebnis zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Delivery Date].
Beispiel
RAWSQLAGG_DATETIME(“MIN(%1)”, [Delivery Date])
RAWSQLAGG_INT(“sql_expr”, [arg1,] …[argN])
Gibt für einen angegebenen aggregierten SQL-Ausdruck eine Ganzzahl zurück. Der SQL-Ausdruck wird direkt an die zugrunde liegende Datenbank übergeben. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Sales].
Beispiel
RAWSQLAGG_INT(“500
+ SUM(%1)”, [Sales])
RAWSQLAGG_REAL(“sql_expr”, [arg1,] …[argN])
Gibt ein numerisches Ergebnis für einen angegebenen aggregierten SQL-Ausdruck zurück, der direkt an die zugrunde liegende Datenquelle übergeben wird. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Sales].
Beispiel
RAWSQLAGG_REAL(“SUM( %1)”, [Sales])
RAWSQLAGG_STR(“sql_expr”, [arg1,] …[argN])
Gibt eine Zeichenfolge für einen angegebenen aggregierten SQL-Ausdruck zurück, der direkt an die zugrunde liegende Datenquelle übergeben wird. Verwenden Sie %n im SQL-Ausdruck als Ersatz-Syntax für Datenbankwerte. In diesem Beispiel steht %1 für [Discount] (Rabatt).
Beispiel
RAWSQLAGG_STR(“AVG(%1)”,
[Discount])