Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Requêter en Web Intelligence Rich Client

Vue d’ensemble

Comme nous l’avons évoqué, la requête sur un univers est le fournisseur de données le plus souvent utilisé pour créer des rapports Web Intelligence.

Dans ce chapitre, nous allons étudier en détail les fonctionnalités de l’éditeur de requête.

Cet éditeur comporte quatre zones principales :

  • La zone Classes et objets présente à gauche dans les données les différents objets de l’univers regroupés en classes et sous-classes.

  • La zone Objets du résultat (à droite les objets qui serviront aux requêtes) est destinée à contenir les objets qui constituent le résultat de la requête.

  • La zone Filtres de la requête permet de préciser ou de définir des conditions sur le résultat de la requête.

  • La zone Aperçu des données permet de visualiser un extrait des données renvoyées par la requête.

images/01RI20N.png

À noter que certaines de ces zones peuvent être affichées ou masquées avec les boutons en haut à gauche de cet écran.

images/03RI01N2.png

La taille de chaque zone peut être modifiée très facilement à l’aide de la souris. Lorsque le pointeur de la souris survole la limite entre deux zones, il se transforme en pointeur de redimensionnement et il est possible de déplacer la limite par...

Généralités sur l’utilisation des requêtes

Une requête, en terme général, est une demande d’information, par exemple le chiffre d’affaires des magasins pour une année particulière. Une requête SQL fait exactement la même chose, mais un certain formalisme est nécessaire pour respecter les règles d’interrogation en SQL.

SQL (Structured Query Language) désigne le langage d’interrogation des données informatiques stockées dans des bases relationnelles, il a été inventé dans les années 1970.

Ce langage n’est pas évident à maîtriser pour qui ne connaît pas les notions fondamentales associées aux bases de données relationnelles. Des logiciels comme BusinessObjects avec ses différentes déclinaisons comme WebI permettent de s’affranchir de cette connaissance.

Dans la suite de cet ouvrage, nous utiliserons explicitement l’expression "requête WebI" pour désigner une entité bâtie sous Web Intelligence Rich Client à partir d’un univers et comprenant les objets, classes, filtres, etc. utilisés sous Web Intelligence Rich Client.

De même, nous utiliserons l’expression "requête SQL" pour désigner une requête respectant le formalisme du langage SQL.

Construire une requête Web Intelligence

1. Principe

L’utilisateur, en se basant sur l’univers choisi, construit sa requête WebI dans l’éditeur de requête. Cette requête WebI est traduite en une requête SQL qui est soumise au moteur de base de données. Ce dernier renvoie le résultat qui est ensuite visualisé dans un rapport.

2. Étapes de création d’une requête

Nous allons voir comment créer en pratique une requête WebI. Dans un premier temps, et pour faire ressortir l’essentiel, nous travaillerons sur un cas simple. Par la suite, des éléments supplémentaires seront ajoutés.

Les étapes de création d’une requête WebI sont les suivantes :

  • Se connecter à Web Intelligence Rich Client.

  • Créer un document Web Intelligence.

  • Choisir les objets de la requête.

  • Exécuter la requête.

  • Paramétrer si besoin la requête (valoriser les propriétés de la requête).

  • Définir éventuellement un périmètre d’analyse.

  • Enregistrer le document contenant la requête.

Nous allons illustrer ces étapes avec un exemple concret.

En tant que directeur des ventes, vous aimeriez savoir quel est le revenu des ventes ainsi que les quantités vendues dans les magasins par année et par État.

3. Se connecter à Web Intelligence Rich Client

 Cette étape est évidemment obligatoire. Si ce n’est pas déjà fait, connectez-vous à Web Intelligence Rich Client.

4. Créer un nouveau document Web Intelligence

 Cette étape est obligatoire. Dans la barre d’outils principale, cliquez sur le bouton Nouveau. La liste des différents types d’objets à créer s’affiche sous forme d’un menu déroulant :

images/03RI108.png

5. Choisir les objets de la requête

Après avoir choisi un univers, il s’agit de choisir les objets à gauche sous l’onglet Données.

Ce sont les objets qui doivent figurer dans le résultat de la requête.

Ce choix se fait dans l’éditeur de requête.

Pour qu’un objet fasse partie d’une requête, il faut le faire figurer dans la zone Objets du résultat. Un seul objet peut être ajouté ou bien tous...

Utiliser des filtres

1. Qu’est-ce qu’un filtre ?

Supposons maintenant qu’un utilisateur désire afficher les données de la requête précédente, mais seulement pour les ventes de cette année.

Le moyen le plus simple est d’utiliser un filtre, et plus particulièrement un filtre prédéfini.

Un filtre permet de limiter les données renvoyées par une requête. Les filtres peuvent être utilisés pour plusieurs raisons.

Sans filtrage, le volume des données est trop important pour être appréhendé correctement par un utilisateur. Par exemple, si la requête renvoie 100 000 lignes, il est difficile d’analyser ou même de consulter un tel volume de données. Un filtre permet de limiter le résultat de sorte qu’il soit consultable par un être humain. De plus, un volume important de données grève les performances du moteur de base de données.

Un filtre peut être utile pour des raisons sémantiques. Un utilisateur souhaite connaître les données répondant à un critère particulier, par exemple trouver les magasins dont le chiffre d’affaires dépasse un certain seuil.

Le concepteur de l’univers souhaite limiter les réponses consultables par tous les utilisateurs. Ainsi, certains rapports utilisent des filtres en relation avec le profil de l’utilisateur qui les consulte. Par exemple, dans un univers de gestion commerciale, un commercial ne pourra consulter que les données se rapportant à ses seuls clients.

2. Filtres de requête et filtres de rapport

Dans un document Web Intelligence, un filtre peut être utilisé à deux niveaux :

  • Au niveau des requêtes : le filtre est implémenté au niveau de la requête ayant servi à rapatrier les données. Ce type de filtre s’utilise en particulier au niveau de la clause WHERE de la requête SQL source des données du document. Ce type de filtre est qualifié de filtre de requête.

  • Au niveau des rapports : le rapport n’affiche pas la totalité des données renvoyées par la requête. Le filtre permet de masquer une partie des données contenues dans le document. Ce genre de filtres est désigné par l’expression...

Utiliser des sous-requêtes

Dans bien des cas, l’utilisation des filtres dans Web Intelligence Rich Client n’est pas suffisante pour certains types de requêtes relativement complexes, et ceci même en utilisant des filtres combinés. De plus, même si cela est possible, il est parfois plus simple et même plus élégant de recourir à un autre moyen offert par Web Intelligence : les sous-requêtes.

Formellement, une sous-requête fait partie du langage SQL, langage standard d’interrogation des bases de données. En SQL, une sous-requête B est une requête dont le résultat est utilisé pour filtrer une requête englobante A via sa clause WHERE. La requête B est donc une sous-requête de la requête A.

1. Intérêt des sous-requêtes

Les sous-requêtes offrent un mécanisme d’interrogation plus puissant et plus flexible que l’utilisation des filtres ordinaires. Il y a notamment un certain nombre de cas qu’il est difficile de traiter avec des filtres standards. Un cas fréquent est l’utilisation de comparaisons entre éléments d’une même table ou de tables différentes.

2. Exemples de sous-requêtes

Cette section explique comment créer des sous-requêtes dans Web Intelligence Rich Client à travers un exemple simple :

Dans une recherche...

Combiner des requêtes

L’utilisateur peut parfois formuler des questions difficiles qui ne peuvent pas être traduites par une seule et unique requête SQL. Dans ces conditions, il faut parfois recourir à des combinaisons de requêtes.

Il s’agit de définir des ensembles de données et de les combiner avec des opérateurs ensemblistes.

On distingue trois types de combinaisons de requêtes :

  • union

  • intersection

  • moins

L’union permet d’obtenir l’ensemble des résultats issus des deux requêtes, mais les données communes aux deux requêtes ne sont pas dupliquées.

L’intersection permet d’obtenir les données communes aux deux requêtes.

La combinaison moins retient les données appartenant à une des requêtes, mais pas à l’autre.

Pour illustrer ces notions par l’exemple, supposons que vous ayez deux requêtes renvoyant les résultats suivants :

  • Requête1 : Accessoires, Robes, Pantalons

  • Requête2 : Accessoires, Robes, Chemises

Les combinaisons de requêtes donnent les résultats suivants :

  • union : Accessoires, Robes, Pantalons, Chemises

  • intersection : Accessoires, Robes

  • Requête1 moins Requête2 : Pantalons

Seul l’opérateur moins n’est pas commutatif (Requête1 moins Requête2 est différent de Requête2 moins Requête1)....

Compléments

1. Requêtes ambiguës et contextes

Qu’est-ce qu’une requête ambiguë ?

Une requête ambiguë est une requête pour laquelle plusieurs résultats peuvent être obtenus, chacun d’eux pouvant recevoir une interprétation différente. C’est le concepteur d’univers qui détermine ces différentes interprétations et WebI les propose lors de la construction d’une requête.

Chacune des interprétations possibles est appelée contexte.

Lorsqu’un utilisateur utilise des objets pouvant générer plusieurs résultats, dans une requête, WebI tente de déterminer une interprétation cohérente en utilisant les autres objets employés par le constructeur de la requête. Si cette interprétation est non ambiguë, WebI accepte la requête, sinon il demande à l’utilisateur de choisir un des contextes possibles en affichant une boîte de dialogue contenant les choix possibles.

Pour puiser un exemple dans un autre univers que notre univers de démonstration, supposons qu’un univers d’objets de commande et de facturation contienne des objets Produit et Client et que l’utilisateur fasse une requête avec seulement ces deux objets.

WebI ne sait pas si l’utilisateur désire avoir les produits commandés par les clients ou les produits qui ont été facturés aux clients car il lui manque l’information sur le lien qui existe entre ces deux objets.

Mise en œuvre des contextes

Vous pouvez paramétrer la manière avec...

Autres fournisseurs de données

1. Interroger une source de données en Excel

Il est maintenant possible d’utiliser comme source de données d’un document WebI un fichier Excel.

Dans ce cas, il n’y a pas besoin d’avoir un univers pour interroger les données.

Vous désirez requêter sur un classeur Excel contenant les états avec leur nombre d’habitants.

Ce classeur s’appelle Nb_Habitant.xlsx.

Dans un premier temps, il faut choisir la source de données.

 Si le classeur est présent dans la rubrique Excel, sélectionnez-le, sinon cliquez sur le bouton Autres.

images/03RI51N3.PNG

 Sélectionnez le fichier dans son emplacement, ici :

images/03RI52N3.PNG

Une boîte de dialogue est affichée afin de préciser certains paramètres.

La localisation et le nom du rapport sont rappelés.

Il est possible de choisir la feuille de calcul contenant les données. Dans cet exemple, il n’y a qu’une feuille.

À l’intérieur de la feuille choisie, vous pouvez sélectionner toute la feuille ou seulement une plage de la feuille (définie par ses références (exemple A1:D100) ou par son nom).

Vous pouvez spécifier aussi si la première ligne contient les noms des colonnes. Si tel est le cas, les objets du fournisseur de données seront nommés en fonction de cette première ligne.

images/03RI53N3.PNG

 Validez vos choix en cliquant sur le bouton OK.

L’écran de définition d’une requête avec une source de données Excel apparaît.

images/03RI53aN3.PNG

La définition d’une requête sur Excel est sensiblement différente de la définition d’une requête sur un univers.

Le bouton Modifier les paramètres en bas à gauche permet de visualiser et de modifier les paramètres vus à l’écran précédent.

Les propriétés des objets de la requête sont indiquées, après la sélection d’un objet dans le panneau Objets du résultat, dans la zone en haut à gauche.

Par exemple, l’objet Etat est un objet de qualification Dimension et de type...

Paralléliser les requêtes

Depuis la version SAP BI 4.2, une nouvelle fonctionnalité a été ajoutée : la parallélisation des requêtes. Elle améliore les performances d’un document WebI au moment du rafraîchissement.

Auparavant, si un document WebI était constitué de quatre requêtes, nécessitant respectivement 10 secondes de temps d’exécution, 20 secondes, 7 secondes et 13 secondes, celles-ci s’exécutaient l’une après l’autre en 50 secondes au total. Dans la version 4.2, un nouveau dispositif permet de traiter les quatre requêtes en parallèle, en 20 secondes dans notre exemple (sous réserve que la performance de la base de données sous-jacente n’en soit pas affectée).

Cette fonctionnalité est définie dans la conception de l’univers, au niveau des propriétés de la connexion.

Elle est aussi modifiable via la CMC.

images/03RI59N3.PNG

Cette fonctionnalité présente quelques restrictions d’utilisation :

Il ne peut y avoir plus de quatre requêtes simultanées sur la même connexion de base de données.

Certains types de connexions ne supportent pas la parallélisation des fournisseurs de données :

  • Les classeurs Excel.

  • Les vues d’analyse.

  • Les Web Services.

La parallélisation des requêtes fonctionne pour...