Fonctions de passage direct (RAWSQL)

Ces fonctions directes RAWSQL permettent d’envoyer des expressions SQL directement vers la base de données, sans qu’elles soient préalablement interprétées par Tableau. Si vous disposez de fonctions de bases de données personnalisées dont Tableau ne connaît pas l’existence, vous pouvez utiliser ces fonctions directes pour appeler ces fonctions personnalisées.

Le cas échéant, étant donné que Tableau n’interprète pas l’expression, vous devrez définir l’agrégation. Vous pouvez utiliser la version RAWSQLAGG d’une fonction lorsque vous avez besoin de transmettre une expression agrégée.

Il peut arriver que les fonctions directes RAWSQL ne fonctionnent pas avec des sources de données fédérées (combinées à travers différentes bases de données) ou des sources de données publiées.

Syntaxe RAWSQL

Les fonctions RAWSQL sont de deux types, désagrégé et agrégé. Ce type est spécifié dans la première partie du nom de la fonction, RAWSQL ou RAWSQLAGG. La dernière partie du nom de la fonction est le type de sortie, tel que BOOL, STR ou INT. Dans toutes les fonctions RAWSQL, l’argument est "sql_expr", [arg1], ...[arg2]. Lors de l’écriture de la fonction, vous pouvez utiliser une syntaxe de substitution %n pour insérer le nom de champ correct ou l’expression correcte.

Syntaxe de substitution %n

Votre base de données ne comprend généralement pas les noms de champs affichés dans Tableau. Dans la mesure où Tableau n’interprète pas les expressions SQL que vous incluez dans les fonctions directes, l’utilisation de noms de champs Tableau dans votre expression peut entraîner des erreurs. Utilisez %n pour insérer le nom de champ correct ou l’expression correcte pour un calcul Tableau dans une fonction directe SQL.

Par exemple, imaginez que vous disposez d’une fonction calculant la valeur médiane d’un ensemble de valeurs, vous pouvez l’appeler à partir de la colonne [Sales] de Tableau, comme suit :

RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])
  • REALSQLAGG parce que vous souhaitez spécifier l’agrégation.
  • REAL parce que la sortie est numérique et n’est pas nécessairement un entier.
  • MEDIAN désigne l’agrégation.
  • %1 est l’espace réservé pour [Sales].

Fonctions RAWSQL

L’expression SQL est envoyée directement vers la base de données sous-jacente. Utilisez %n dans l’expression SQL comme syntaxe de substitution pour les valeurs de la base de données.

Les fonctions RAWSQL suivantes sont disponibles dans Tableau :

RAWSQL_BOOL

SyntaxeRAWSQL_BOOL("sql_expr", [arg1], …[argN])
SortieBooléen
DéfinitionRenvoie un résultat booléen à partir d’une expression SQL donnée.
Exemple
RAWSQL_BOOL("%1 > %2", [Sales], [Profit])

Dans cet exemple, %1 est égal à [Sales] et %2 est égal à [Profit].

RAWSQLAGG_BOOL

SyntaxeRAWSQLAGG_BOOL("sql_expr", [arg1], …[argN])
SortieBooléen
DéfinitionRenvoie un résultat booléen à partir d’une expression SQL d’agrégation.
Exemple
RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) 

Dans cet exemple, %1 est égal à [Sales] et %2 est égal à [Profit].

RAWSQL_DATE

SyntaxeRAWSQL_DATE("sql_expr", [arg1], …[argN])
SortieDate
DéfinitionRenvoie un résultat de type Date à partir d’une expression SQL donnée.
Exemple
RAWSQL_DATE("%1", [Order Date])

Dans cet exemple, %1 est égal à [Date Commande].

RAWSQLAGG_DATE

SyntaxeRAWSQLAGG_DATE("sql_expr", [arg1], …[argN])
SortieDate
DéfinitionRenvoie un résultat de type Date à partir d’une expression SQL d’agrégation donnée.
Exemple
RAWSQLAGG_DATE("MAX(%1)", [Order Date])

Dans cet exemple, %1 est égal à [Date Commande].

RAWSQL_DATETIME

SyntaxeRAWSQL_DATETIME("sql_expr", [arg1], …[argN])
SortieDatetime
DéfinitionRenvoie un résultat de type Date et heure à partir d’une expression SQL donnée.
Exemple
RAWSQL_DATETIME("%1", [Order Date])

Dans cet exemple, %1 est égal à [Date Commande].

RAWSQLAGG_DATETIME

SyntaxeRAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN])
SortieDatetime
DéfinitionRenvoie un résultat de type Date et heure à partir d’une expression SQL d’agrégation donnée.
Exemple
RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])

Dans cet exemple, %1 est égal à [Date Commande].

RAWSQL_INT

SyntaxeRAWSQL_INT("sql_expr", [arg1], …[argN])
SortieEntier
DéfinitionRenvoie un résultat entier à partir d’une expression SQL donnée.
Exemple
RAWSQL_INT("500 + %1", [Sales])

Dans cet exemple, %1 est égal à [Sales].

RAWSQLAGG_INT

SyntaxeRAWSQLAGG_INT("sql_expr", [arg1,] …[argN])
SortieEntier
DéfinitionRenvoie un résultat de nombre entier à partir d’une expression SQL d’agrégation.
Exemple
RAWSQLAGG_INT("500 + SUM(%1)", [Sales])

Dans cet exemple, %1 est égal à [Sales].

RAWSQL_REAL

SyntaxeRAWSQL_REAL("sql_expr", [arg1], …[argN])
SortieNombre
DéfinitionRenvoie un résultat numérique à partir d’une expression SQL donnée.
Exemple
RAWSQL_REAL("-123.98 * %1", [Sales])

Dans cet exemple, %1 est égal à [Sales].

RAWSQLAGG_REAL

SyntaxeRAWSQLAGG_REAL("sql_expr", [arg1,] …[argN])
SortieNombre
DéfinitionRenvoie un résultat numérique à partir d’une expression SQL d’agrégation donnée.
Exemple
RAWSQLAGG_REAL("SUM( %1)", [Sales])

Dans cet exemple, %1 est égal à [Sales].

RAWSQL_SPATIAL

SyntaxeRAWSQL_SPATIAL("sql_expr", [arg1], …[argN])
SortieGraphiques spatiaux
DéfinitionRenvoie un résultat de données spatiales à partir d’une expression SQL donnée.
Exemple
RAWSQL_SPATIAL("%1", [Geometry])

Dans cet exemple, %1 est égal à [Geometry].

RemarqueIl n’y a pas de version RAWSQLAGG de cette fonction.

RAWSQL_STR

SyntaxeRAWSQL_STR("sql_expr", [arg1], …[argN])
SortieChaîne
DéfinitionRenvoie une chaîne à partir d’une expression SQL donnée.
Exemple
RAWSQL_STR("%1", [Customer Name])

Dans cet exemple, %1 est égal à [Customer Name].

RAWSQLAGG_STR

SyntaxeRAWSQLAGG_STR("sql_expr", [arg1,] …[argN])
SortieChaîne
DéfinitionRenvoie une chaîne à partir d’une expression SQL d'agrégation donnée.
Exemple
RAWSQLAGG_STR("AVG(%1)", [Discount])

Dans cet exemple, %1 est égal à [Discount].

Merci de vos commentaires !Avis correctement envoyé. Merci