Comment exécuter un SQL valide en direct sur la base mais non accepté au travers de l’onglet Requêtes #
Problématique : exemple de SQL non supporté : #
SELECT LivraisonPays,[Chartreuse verte],[Côte de Blaye],[Guaraná Fantástica]
FROM (SELECT Demonstration.dbo.Commandes.LivraisonPays,
Demonstration.dbo.Produits.NomProduit,
Demonstration.dbo.Commandes_Details.Quantite
FROM Demonstration.dbo.Commandes
Inner Join Demonstration.dbo.Commandes_Details
On Demonstration.dbo.Commandes.NumCommande = Demonstration.dbo.Commandes_Details.NumCommande
Inner Join Demonstration.dbo.Produits
On Demonstration.dbo.Produits.CodeProduit = Demonstration.dbo.Commandes_Details.CodeProduit ) SOURCE
PIVOT (sum (Quantite)
for NomProduit in ([Chartreuse verte],[Côte de Blaye],[Guaraná Fantástica] )) AS PVT
ORDER BY LivraisonPays
Résultat :

Dans BiBOARD :

1 – CREATION D’une requête « fantôme »
Requête fantôme:
Astuce : créer une requête (sur la bonne connexion, ici SQL Server) avec le même nombre de champs et de même type et de même nom.
SELECT cast(' ' as varchar(255) )as LivraisonPays,
0 as [Chartreuse verte],
0 as [Côte de Blaye],
0 as [Guaraná Fantástica]

Enregistrer la requête. Fermer la requête
2 – CREATION du tableau de bord

3 – Interventions dans le référentiel
Modification de la colonne query_web_sql de la table query du référentiel qui contient toutes les requêtes créées au travers du studio Designer.
Principe:
UPDATE query
SET query.query_web_sql = 'REQUETE SQL'
WHERE query.query_name = 'Nom_de_la requête';
Dans l’exemple:
UPDATE query
SET query.query_web_sql = 'SELECT LivraisonPays,[Chartreuse verte],[Côte de Blaye],[Guaraná Fantástica]
FROM (SELECT Demonstration.dbo.Commandes.LivraisonPays,
Demonstration.dbo.Produits.NomProduit,
Demonstration.dbo.Commandes_Details.Quantite
FROM Demonstration.dbo.Commandes
Inner Join Demonstration.dbo.Commandes_Details
On Demonstration.dbo.Commandes.NumCommande = Demonstration.dbo.Commandes_Details.NumCommande
Inner Join Demonstration.dbo.Produits
On Demonstration.dbo.Produits.CodeProduit = Demonstration.dbo.Commandes_Details.CodeProduit ) SOURCE
PIVOT (sum (Quantite)
for NomProduit in ([Chartreuse verte],[Côte de Blaye],[Guaraná Fantástica] )) AS PVT
ORDER BY LivraisonPays'
WHERE query.query_name = 'ASTUCES_REQUETE_FANTOME';
Résultat sur le tableau de bord:

Remarque : la requête initiale consultée dans le studio continue de fonctionner et n’a pas été modifiée ; ne pas la modifier ou l’enregistrer.
Remarque : il y a maintenant incohérence dans le référentiel entre les colonnes query_sql, query_client et la colonne query_web_sql pour la requête ainsi modifiée mais ce n’est pas bloquant.