Comment : Référence : |
La fonction DB_EXPR insère une expression SQL native exactement comme celle entrée dans le SQL natif généré pour une requête FOCUS ou SQL.
La fonction DB_EXPR peut être utilisée dans une commande DEFINE, un DEFINE dans un fichier maître, une clause WHERE, une commande FILTER FILE, un filtre dans un fichier maître, ou une instruction SQL. Elle peut être utilisée dans une commande COMPUTE si la requête est une requête agrégée (utilise la commande SUM, WRITE, ou ADD) et contient une commande d'affichage unique. L'expression doit renvoyer une valeur unique.
DB_EXPR(native_SQL_expression)
où :
est une chaîne SQL native partielle valide pour l'insertion dans le SQL généré par la requête. La chaîne SQL doit contenir des guillemets doubles (") autour de chaque référence de champ, à moins que la fonction ne soit utilisée dans un DEFINE avec une phrase WITH.
La requête TABLE suivante contre la source de données WF_RETAIL utilise la fonction DB_EXPR dans la commande COMPUTE pour appeler les deux fonctions DB2. Elle appelle la fonction BIGINT pour convertir les revenus au carré à un type de données BIGINT, puis utilise la fonction CHAR pour convertir cette valeur en alphanumérique.
TABLE FILE WF_RETAIL SUM REVENUE NOPRINT AND COMPUTE BIGREV/A31 = DB_EXPR(CHAR(BIGINT("REVENUE" * "REVENUE") ) ) ; AS 'Alpha Square Revenue' BY REGION ON TABLE SET PAGE NOPAGE END
WF_RETAIL est un exemple de source de données que vous pouvez créer en effectuant un clic droit sur une application sur la console Web du serveur de rapports et en sélectionnant Nouveau puis Exemples à partir du menu contextuel.
La trace montre que l'expression de la fonction DB_EXPR a été insérée dans une instruction DB2 SELECT :
SELECT
T11."REGION",
SUM(T1."Revenue"),
((CHAR(BIGINT( SUM(T1."Revenue") * SUM(T1."Revenue")) ) ))
FROM
wrd_fact_sales T1,
wrd_dim_customer T5,
wrd_dim_geography T11
WHERE
(T5."ID_CUSTOMER" = T1."ID_CUSTOMER") AND
(T11."ID_GEOGRAPHY" = T5."ID_GEOGRAPHY")
GROUP BY
T11."REGION "
ORDER BY
T11."REGION "
FOR FETCH ONLY;
END
La sortie est :
Information Builders |