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.
  • MEDIAN ist die Aggregation.
  • %1 ist 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

SyntaxRAWSQL_BOOL("sql_expr", [arg1], …[argN])
AusgabeBoolesch
DefinitionGibt 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

SyntaxRAWSQLAGG_BOOL("sql_expr", [arg1], …[argN])
AusgabeBoolesch
DefinitionGibt 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

SyntaxRAWSQL_DATE("sql_expr", [arg1], …[argN])
AusgabeDatum
DefinitionGibt 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

SyntaxRAWSQLAGG_DATE("sql_expr", [arg1], …[argN])
AusgabeDatum
DefinitionGibt 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

SyntaxRAWSQL_DATETIME("sql_expr", [arg1], …[argN])
AusgabeDatum/Uhrzeit
DefinitionGibt 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

SyntaxRAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN])
AusgabeDatum/Uhrzeit
DefinitionGibt 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

SyntaxRAWSQL_INT("sql_expr", [arg1], …[argN])
AusgabeGanzzahl
DefinitionGibt 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

SyntaxRAWSQLAGG_INT("sql_expr", [arg1,] …[argN])
AusgabeGanzzahl
DefinitionGibt 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

SyntaxRAWSQL_REAL("sql_expr", [arg1], …[argN])
AusgabeNumerisch
DefinitionGibt 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

SyntaxRAWSQLAGG_REAL("sql_expr", [arg1,] …[argN])
AusgabeNumerisch
DefinitionGibt 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

SyntaxRAWSQL_SPATIAL("sql_expr", [arg1], …[argN])
AusgabeRaum
DefinitionGibt 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].

HinweisEs gibt keine RAWSQLAGG-Version für diese Funktion.

RAWSQL_STR

SyntaxRAWSQL_STR("sql_expr", [arg1], …[argN])
AusgabeZeichenfolge
DefinitionGibt 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

SyntaxRAWSQLAGG_STR("sql_expr", [arg1,] …[argN])
AusgabeZeichenfolge
DefinitionGibt 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).

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.