Blog ENI : Toute la veille numérique !
Dernière chance (fin le 29/02) : -25€ dès 75€ sur les livres en ligne, vidéos... code FUSEE25. J'en profite !
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

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 Perspective principale 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/N303RI01N3.png

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

images/N303RI02N3.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...

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 à partir d’un univers et comprenant les objets, classes, filtres, etc. utilisés sous Web Intelligence.

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.

  • 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

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

 Cliquez sur le menu Applications puis sur la tuile Web Intelligence.

images/N303RI115N3.png

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érentes sources de données s’affiche sous forme d’un menu déroulant :

images/N303RI03N3.png

Il y a plusieurs types de sources de données. Cela va de sources Univers à Aucune source en passant par des sources de données de type Excel ou SQL à la carte.

Dans la majorité des cas la source sera Univers. C’est d’ailleurs le cas dans ce début de chapitre et vous pouvez cliquer sur OK après avoir sélectionné cette source

La liste des univers, pour lesquels vous avez un droit d’accès...

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 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 à travers un exemple simple :

Dans une recherche de ciblage...

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...

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 télécharger le fichier Excel dans le portail SAP BI.

images/N303RI89N3.png
images/N303RI90N3.png
images/N303RI91N3.png

Le fichier Excel est maintenant chargé sur le portail SAP BI.

Vous pouvez maintenant créer une requête s’appuyant sur un classeur Excel et non sur un univers SAP BI.

images/N303RI92N3.png

 Sélectionnez le fichier dans son emplacement, ici :

images/N303RI93N3.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/N303RI94N3.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/03RI132XN3.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....

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, 20 secondes, 7 secondes et 13 secondes de temps d’exécution, celles-ci s’exécutaient l’une après l’autre en 50 secondes au total. Depuis 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...

Interroger des données à partir d’un document WebI

Il est possible en version 4.3 d’interroger les données d’un sous-ensemble de l’univers.

Au lieu d’avoir l’ensemble de tous les objets, l’utilisateur interroge les objets fournis par un document WebI préalablement réalisé.

Cette notion est une généralisation de la fonction Eléments partagés qui existe depuis la version 4.2 (cf. chapitre Analyser les données).

L’idée est de permettre à des utilisateurs d’interroger des objets rapatriés par un document WebI.

Cela permet à des utilisateurs avertis (ceux qui font le document WebI de base) de définir la ou les requêtes qui seront le socle d’interrogation pour des utilisateurs ayant le droit de requêter mais pas forcément la connaissance de tout l’univers fourni.

C’est notamment le cas pour des requêtes avec des filtres complexes ou des contextes d’interrogation non évidents. 

Pour illustrer cette fonctionnalité nous allons créer un document WebI un peu complexe (dans la limite de la complexité de l’univers basique fourni par l’éditeur) puis nous verrons comment créer d’autres documents à partir de ce document de base.

Le document de base indique les catégories et lignes de produits vendus...