Fonctions de passage direct (RAWSQL)
Ces fonctions de passage direct RAWSQL envoient des expressions SQL directement vers la base de données sans qu’elles ne soient interprétées par Tableau. Si vous possédez des fonctions de base de données personnalisées dont Tableau ne connaît pas l’existence, vous pouvez utiliser des fonctions de passage direct pour les exécuter.
Vous devez définir cette agrégation lorsque nécessaire car Tableau n’interprète pas cette expression. Vous pouvez utiliser la version RAWSQLAGG d’une fonction lorsque vous avez besoin de transmettre une expression agrégée.
Les fonctions de passage direct RAWSQL peuvent ne pas fonctionner avec des sources de données fédérées (combinées à partir de différentes bases de données) ou publiées.
Syntaxe RAWSQL
Les fonctions RAWSQL sont de deux types : désagrégées et agrégées. Ceci 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 ou l’expression approprié.
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 des fonctions de passage direct, l’utilisation de noms de champs de Tableau dans votre expression peut entraîner des erreurs. Vous pouvez utiliser %n pour insérer l’expression ou le nom de champ approprié d’un calcul Tableau dans la requête SQL de passage direct.
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])REALSQLAGGpour spécifier l’agrégation.REAL, car la sortie est numérique, mais pas nécessairement un entier.MEDIANreprésente l’agrégation en elle-même.%1est l’espace réservé pour[Ventes].
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
| Syntaxe | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| Sortie | Booléen |
| Définition | Renvoie 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 à [Ventes] et %2 est égal à [Profit]. |
RAWSQLAGG_BOOL
| Syntaxe | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| Sortie | Booléen |
| Définition | Renvoie 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 à [Ventes] et %2 est égal à [Profit]. |
RAWSQL_DATE
| Syntaxe | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| Sortie | Date |
| Définition | Renvoie 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 de commande]. |
RAWSQLAGG_DATE
| Syntaxe | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| Sortie | Date |
| Définition | Renvoie une date à partir d’une expression SQL d’agrégation |
| Exemple | RAWSQLAGG_DATE("MAX(%1)", [Order Date])Dans cet exemple, %1 est égal à [Date de commande]. |
RAWSQL_DATETIME
| Syntaxe | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| Sortie | Date et heure |
| Définition | Renvoie une valeur date et heure à partir d’une expression SQL donnée. |
| Exemple | RAWSQL_DATETIME("%1", [Order Date])Dans cet exemple, %1 est égal à [Date de commande]. |
RAWSQLAGG_DATETIME
| Syntaxe | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| Sortie | Date et heure |
| Définition | Renvoie une valeur date et heure à partir d’une expression SQL d’agrégation. |
| Exemple | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])Dans cet exemple, %1 est égal à [Date de commande]. |
RAWSQL_INT
| Syntaxe | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| Sortie | Entier |
| Définition | Renvoie un résultat entier à partir d’une expression SQL donnée. |
| Exemple | RAWSQL_INT("500 + %1", [Sales])Dans cet exemple, %1 est égal à [Ventes]. |
RAWSQLAGG_INT
| Syntaxe | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| Sortie | Entier |
| Définition | Renvoie 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 à [Ventes]. |
RAWSQL_REAL
| Syntaxe | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| Sortie | Numérique |
| Définition | Renvoie 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 à [Ventes]. |
RAWSQLAGG_REAL
| Syntaxe | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| Sortie | Numérique |
| Définition | Renvoie un résultat numérique à partir d’une expression SQL d’agrégation. |
| Exemple | RAWSQLAGG_REAL("SUM( %1)", [Sales])Dans cet exemple, %1 est égal à [Ventes]. |
RAWSQL_SPATIAL
| Syntaxe | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| Sortie | Données spatiales |
| Définition | Renvoie des données spatiales à partir d’une expression SQL donnée. |
| Exemple | RAWSQL_SPATIAL("%1", [Geometry])Dans cet exemple, %1 est égal à [Geometry]. |
| Remarque | Il n’y a pas de version RAWSQLAGG pour cette fonction. |
RAWSQL_STR
| Syntaxe | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| Sortie | Chaîne |
| Définition | Renvoie 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
| Syntaxe | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| Sortie | Chaîne |
| Définition | Renvoie une chaîne à partir d’une expression SQL d’agrégation. |
| Exemple | RAWSQLAGG_STR("AVG(%1)", [Discount])Dans cet exemple, %1 est égal à [Discount]. |
