View Categories

Gestion des requêtes

Vue d’ensemble #

Une requête est toujours associée à un seul connecteur ODBC. Il n’est donc pas possible, dans une même requête, d’utiliser directement plusieurs connecteurs ODBC pour croiser des données provenant de différentes bases de données.

Si un besoin nécessite de travailler avec des données provenant de plusieurs connecteurs ODBC, plusieurs solutions peuvent être envisagées.

La solution à privilégier consiste à passer par le Datawarehouse. Les données issues des différents connecteurs sont alors centralisées dans une base dédiée, qui pourra ensuite être interrogée par une requête unique. Cette approche permet de maîtriser la structure des données et de conserver une séparation claire entre les sources et leur exploitation dans les applications de reporting.

Une autre possibilité consiste à utiliser un serveur lié (Linked Server) lorsque l’environnement SQL Server le permet. Cette approche permet à une requête d’accéder à des données provenant d’une autre base ou d’un autre serveur. Elle reste toutefois dépendante de la configuration de l’environnement technique et crée un couplage plus fort entre les bases de données. Elle est donc à considérer avec précaution et ne constitue pas l’approche privilégiée dans l’architecture BiBOARD.

À retenir :

Pour exploiter des données provenant de plusieurs connecteurs, il est recommandé de centraliser les données dans le Datawarehouse avant de les exploiter dans une requête. Le recours à un serveur lié peut également répondre à certains besoins, mais il dépend de l’architecture SQL Server mise en place.

Note: La règle « 1 requête = 1 connecteur ODBC » s’applique à chaque requête. En revanche, un même tableau de bord peut regrouper plusieurs composants utilisant des Datasources provenant de connecteurs ODBC différents.

Le menu contextuel des requêtes et des connexions donne accès aux fonctions:

  • Publier
  • Objets liés
Requêtes - options sur les requêtes

Publier #

Avec la fonction Publier , vous pouvez publier les requêtes et les connexions aux autres groupes.
Dans la même fenêtre vous avez un aperçu des utilisateurs qui appartiennent aux groupes à travers les deux listes:

  • Utilisateurs des groupes sélectionnés
  • Utilisateurs du groupe sélectionné

Attention : Quand on publie une connexion, toutes les requêtes de la connexion sont publiées aux groupes sélectionnés.
Les requêtes réalisées ensuite ne sont pas publiées automatiquement.

Requêtes - interface de publication

Objets liés #

Avec la fonction Objets liés, vous pouvez voir les dépendances de la requête et ouvrir un des objets en double-cliquant dessus :

Requêtes - affichages des objets liés

Bases de données #

Cette fenêtre liste toutes les bases de données et toutes les tables associées à la connexion sélectionnée lors de l’ouverture de la requête.
Un filtre de recherche est disponible en haut à droite de la fenêtre.
Le bouton droit permet d’accéder à ce menu :

Requêtes - options sur les tables du schéma

Analyser #

Pour visualiser la structure d’une table et les données qu’elle contient, il suffit de se positionner sur l’objet, de cliquer sur le bouton droit de la souris et de sélectionner Analyser.

Requêtes - Informations champs de la table

Rafraîchir #

Pour actualiser l’affichage des bases de données, un bouton Rafraîchir est disponible.

Sauvegarde schémas #

Pour partager le schémas des bases de données entre plusieurs Studio designers, exécuter cet action pour sauvegarder le schéma vers le serveur BiBOARD.
Le Studio qui partage le schéma doit avoir une connexion ODBC.
Les autres Studio peuvent maintenant recevoir le schéma sauvegardé par le serveur BiBOARD.
Note : Cette action est nécessaire à chaque changement du schéma de la base de donnée.
Faire référence aux modes des connections : Connexion local ou serveur

Création d’une requête #

Sélection des tables #

Avant de créer une requête, il est important de sélectionner la connexion sur laquelle on désire travailler (connexion active).
Cliquer ensuite, sur le bouton Nouveau, dans le bandeau.
Créons la requête « Détail Commandes » sur la connexion souhaitée.
Dans la fenêtre de droite (Base de données) développer la base Demonstration, puis Tables si ce n’est pas le cas.
Double-cliquez sur Commandes, puis sur Commandes_Details et enfin sur Produits.
Sur l’espace de travail, les tables peuvent être redimensionnées si besoin.

Voici l’écran obtenu :

Requêtes - Modélisation graphique requête

En double cliquant sur la barre de titre d’une table, on peut lui donner un ALIAS, c’est-à-dire lui donner un autre nom, sans que cela affecte la base de données.

Note : Pour copier/coller une requête vous pouvez copier le code SQL et le coller dans la nouvelle requête, ou utiliser la fonction Enregistrer sous.

Jointure #

Les jointures sont automatiquement établies entre les tables.
Si ce n’est pas le cas, changer les propriétés de la connexion. Cocher Charger les liens entre les clés.
En double-cliquant sur le lien, il est possible de le configurer.

Requêtes - Propriétés du lien

Les liaisons de type LEFT OUTER JOIN, RIGHT OUTER JOIN et FULL OUTER JOIN sont créées en cochant les différentes boîtes à cocher.
Pour créer une jointure manuellement, il suffit de faire un glisser/déposer d’un champ à l’autre.
Pour modifier le type de jointure, il faut double cliquer avec la souris sur le lien.

Sélection des champs #

Une fois la structure des tables mise en place, il faut sélectionner les zones retenues en cochant les boites associées à chaque zone.
Retenons la configuration ci-dessous :

Requêtes - Modélisation - Sélection des champs

Test de la requête #

Testons la requête par un clic sur le bouton Exécuter.

Requêtes - Aperçu du résultat de la requête

A la fin de tout travail, il est primordial d’enregistrer la requête pour que sa datasource (hub) soit automatiquement créé et/ou mise à jour (raccourci CTRL+S).

Retour en haut