Projet Webmaster
Gestion de projets web ntic

Du concept au projet informatique - De la maîtrise d’oeuvre à la maîtrise d’ouvrage

Web-ntic MOE MOA > Etudes > Business Objects données et traitements

Business Objects données et traitements

mercredi 19 mars 2003, par km

Accès aux données et traitements distribués dans le cadre de Business Objects, outil de décisionnel

BUSINESS OBJECTS (Partie II)

Accès aux données et traitements distribués.

Il est possible d’accéder aux données autrement qu’à travers les objets de l’univers. La sélection des objets de l’univers est la manière la plus naturelle d’accéder aux données avec Business Objects. L’outil permet cependant d’accéder directement à d’autres sources de données : des serveurs OLAP, des fichiers texte, lancer l’exécution d’une procédure stockée ou d’un script SQL. Cet accès ne se fait plus alors à travers les objets de l’univers en attaquant directement la source de données. Cette fonctionnalité permet d’intégrer dans un document des données venant de diverses sources, par exemple de comparer le réalisé comptable, stocké sur la base de données, aux prévisions, écrites dans un fichier Excel.
Valorisation des données

Les résultats des requêtes générées par Business Objects sont affichés dans des documents. Un document peut se diviser en plusieurs rapports et présenter le résultat d’une ou plusieurs requêtes.

Un rapport permet d’afficher différents types de présentations et des données issues de sources diverses.Business Objects dispose des trois modes de présentation fondamentaux : les tableaux croisés, les graphes et les états textuels. Une présentation est toujours rattachée à une requête et une seule. Plusieurs présentations peuvent être intégrées à un rapport et plusieurs rapports incorporés à un document. Les différentes présentations d’un rapport peuvent afficher des informations issues de diverses sources (relationnel, multidimensionnel, fichier texte).

L’éditeur de rapports

Outil très ergonomiqueL’éditeur de rapports est puissant fonctionnellement. Il permet d’effectuer des ruptures, des calculs locaux ou effectués par le serveur de manière simple. L’ergonomie de Business Objects a été constamment améliorée au fur et à mesure de ses évolutions, à tel point que les versions récentes situent le produit parmi les meilleurs dans ce domaine.
L’état est modifié interactivement en mode WYSIWYG (What You See Is What You Get). Par défaut, un état peut être créé automatiquement, soit à partir d’un modèle prédéfini dans Business Objects, soit à partir d’un modèle personnalisé. Très rapidement, il est ainsi possible de créer des états de bonne qualité et ce de manière très ergonomique (glisser-déplacer, copier-coller, insertion de cellules...). Ensuite, l’utilisateur pourra enrichir son état pour ajouter des informations complémentaires (sommes par exemple), pour améliorer sa forme...
Mécanismes d’alerteurDes mécanismes d’alerteur permettent de visualiser les informations exceptionnelles. Par exemple, on pourra afficher en rouge les régions ayant un chiffre d’affaires inférieur à une constante (seules des constantes peuvent être utilisées comme critère de comparaison). Il permet non seulement de modifier le style d’affichage mais également d’afficher dans une cellule quelconque du rapport un message ou un symbole significatif.
Fonction plier/déplierLa fonction plier/déplier permet d’afficher les données selon différents niveaux de détail, à la manière du mode plan d’un traitement de texte. Le pliage s’effectue au niveau d’une rupture : par exemple, effectuer un pliage sur la ville de "Nice" permettra de ne voir que les informations agrégées, comme le CA total des clients de l’agence, sans voir le CA de chacun des clients qui la composent.
En combinant ces deux fonctions, il est possible de créer des structures dans lesquelles on pourra naviguer de manière interactive. Précisons cependant qu’il ne s’agit ici que de présenter des résultats d’une requête. Ceci suppose donc que toutes les données, y compris celles situées au niveau de détail le plus important, soient stockées dans sur le poste client.

L’éditeur d’état dispose de la capacité d’effectuer un certain nombre d’opérations de calcul, de sélection ou de tri sur le poste client. Ainsi, par exemple, si l’état initial contient une rupture sur un attribut (la région par exemple), l’utilisateur pourra depuis l’éditeur d’état et sans modifier la requête initiale supprimer cette rupture ou effectuer une rupture sur un autre attribut (le code produit par exemple). Cette opération est très intuitive à effectuer, en passant par des mécanismes de glisser/déplacer. Selon l’endroit où une zone est positionnée (rupture ou détail), Business Objects s’adapte et relance automatiquement les calculs si cela est nécessaire. En local, les fonctionnalités d’analyse de données permettent également d’ajouter des filtres, des tris, des ruptures, des calculs...

Le grapheur

Un grapheur completLe grapheur de la version 4 est sans commune mesure avec celui de la version 3.1, qui était assez pauvre ; Il est comparable à celui des autres outils d’aide à la décision et des outils bureautiques. Il permet d’effectuer plusieurs types de présentations.

Types de graphiques proposés

Les fonctions avancées (calculs, statistiques)

En local, Business Objects permet d’ajouter à l’état des variables calculées. Depuis la version 3.1, Business Objects s’est enrichi d’un grand nombre de fonctions. Parmi celles-ci : des structures conditionnelles (si ... alors ... sinon et, ou, non) des fonctions numériques (une vingtaine) des fonctions de manipulation de dates (une quinzaine) des fonctions booléennes (5) des fonctions de manipulation de chaînes de caractères (une vingtaine) des fonctions permettant de récupérer des variables d’états (une dizaine, dont l’heure, la date, le nom du user...) des fonctions agrégats classiques (somme, max...) ou évoluées (sommes cumulatives, pourcentage cumulatif...). des fonctions externes peuvent être définies en C, puis intégrées à Business Objects, à condition de respecter certaines conventions d’interfaçage. Il est important de noter que toutes les fonctions tels les tris, les ruptures ou les filtres peuvent être associées à un attribut calculé. Par exemple, à partir d’une date, il est possible d’en extraire le mois et l’année, puis d’ajouter des ruptures sur ces critères. C’est par ce type de fonctionnalités qu’on peut juger de la puissance de Business Objects dans le domaine de la valorisation des données.

Analyse multidimensionnelle
Le module Explorer, intégré à l’outil client Business Objects permet d’analyser les données. Celles-ci peuvent être présentées sous une forme multidimensionnelle, comme le faisait dans la version 3.1, le module Business Analyzer.

Analyse multidimensionnelle

Navigation dans les données, exploration.Il permet également de naviguer dans les données, de les explorer dans tous les sens. Lors de la définition de sa requête, l’utilisateur peut déterminer le périmètre de son analyse afin de récupérer la totalité des données qui lui seront nécessaires.
Imaginons que l’utilisateur veuille visualiser les ventes par ville, par marque de produit et par année. Par défaut la requête générée sera :

Requête sans périmètre d’analyse

Si dans un deuxième temps, l’utilisateur veut descendre sur les trimestres ou sur les mois pour analyser plus finement l’information, l’outil générera une nouvelle requête pour rapatrier les informations intéressantes.

Pour pallier ce problème et limiter la génération de multiples ordres SQL induits par les possibilités offertes par l’analyse multidimensionnelle, l’utilisateur peut définir le nombre de niveaux qu’il sera amené à explorer, la requête ramène alors l’ensemble des lignes utiles. Ceci est d’autant plus important qu’un microcube est généré en local afin de permettre d’effectuer de l’analyse multidimensionnelle. Ce cube peut être régénéré automatiquement, de manière transparente pour l’utilisateur, lorsque celui-ci étend son périmètre d’analyse. Dans la mesure du possible, il vaut donc mieux qu’il soit créé à la bonne taille dès le début.

Ainsi, si l’utilisateur indique qu’il veut visualiser les données sur trois niveaux et qu’une hiérarchie a été créée sur l’axe temps (année, trimestre, mois, semaine, jour), les informations seront récupérées au niveau de l’année mais aussi du trimestre et du mois.

Requête avec un périmètre d’analyse étendu

Ceci permet de limiter les problèmes de performance lorsque l’utilisateur explore les données selon une hiérarchie définie par l’administrateur (mécanisme de drill-down, drill-up).

Grande souplesse de navigation laissée à l’utilisateur.Les capacités d’exploration ne sont cependant pas limitées par les hiérarchies définies par l’administrateur, l’utilisateur a en effet une grande souplesse de navigation. Il peut ainsi décider de descendre sur n’importe quelle dimension, par exemple après avoir vu les informations par rapport au mois, descendre en analysant par rapport à une autre dimension, par exemple la région.

Exploration des données

L’utilisateur peut également se créer ses propres hiérarchies.

Autres caractéristiques

OLE client et serveurBusiness Objects offre des fonctionnalités assez riches en terme d’éditions. De plus, il supporte OLE version 2 ainsi qu’OLE Automation, en tant que client et en tant que serveur.
Business Objects propose un langage de script assez complet, le ReportScript. Proche du langage de Visual Basic, il permet d’enchaîner différentes actions et est client OLE Automation. Les scripts peuvent être générés automatiquement, par enregistrement des actions de l’utilisateur.
Création d’applications " tableaux de bord "Ce langage permet également de créer des applications de type tableaux de bord, enchaînant différents écrans de type presse-bouton.
Un module optionnel, le Business Query pour Excel, permet d’intégrer totalement l’interface d’interrogation de Business Objects dans le tableur de Microsoft. En plus de cette intégration, l’éditeur propose le " Smart Space " permettant de conserver les calculs et les références si le nombre de résultats d’une requête évolue, ainsi que le " Query Director ", permettant de gérer un ensemble de requêtes d’une même feuille de calcul.
Serveur de documentsDans sa version 4, Business Objects propose un serveur de documents, Document Agent Server. Il permet aux utilisateurs de partager des aux documents mais également de planifier l’exécution des requêtes. Par exemple, effectuer un rapport toutes les semaines et l’envoyer à un ensemble d’utilisateurs.
Travail en mode nomade.Un utilisateur peut de plus travailler sur ses documents en mode non connecté, sans lien vers la base de données ou vers le serveur de documents.
Génération de pages HTML pour Internet.Avec cette nouvelle version, Business Objects commence à s’interfacer à Internet. il est en effet possible de générer les rapports sous un format HTML et ainsi de les mettre à la disposition de l’ensemble des utilisateurs sur un serveur Web. Les rapports fournis sont alors statiques mais un lien vers le rapport original permet de le rapatrier sur le poste client afin d’effectuer des analyses plus poussées. Cette fonctionnalité permet surtout de mettre à la disposition d’un grand nombre d’utilisateurs l’information, sans qu’ils aient besoin d’avoir l’outil Business Objects pour les visualiser. Des onglets permettent de passer d’un document à un autre, d’une page HTML à une autre.
Utilisation avancée Produits vendus par moins de deux magasins (0 ou 1) Aptitude à résoudre cette requête : bonne

Business Objects permet de récupérer directement et à travers une simple requête la liste des articles ayant été vendus par moins de deux magasins. Il suffit pour cela de :

récupérer l’objet " libellé de l’article "
appliquer un critère " Nb magasins vendant <= 2 " ou Nb magasins vendant est count(distinct vente.code_magasin).
La requête générée est alors :SELECT ARTICLE.LIBELLE_ARTICLE

FROM ARTICLE,VENTE

WHERE (ARTICLE.CODE_ARTICLE*=VENTE.CODE_ARTICLE)

GROUP BY ARTICLE.LIBELLE_ARTICLE

HAVING count(distinct VENTE.CODE_MAGASIN)<2 ;

Il est nécessaire que l’objet " nb magasins vendant " ait été défini au préalable par l’administrateur.

Groupes dont le chiffre d’affaires est supérieur à la moyenne Aptitude à résoudre cette requête : excellente

Cette interrogation se définit à travers une requête et une sous-requête. la sous-requête récupère le chiffre d’affaires moyen pour les groupes (sum(ca)/count(distinct libelle_groupe)).

La requête générée alors est :

SELECT STRUC_GROUPE.LIBELLE_GROUPE, sum(VENTE.CA) FROM STRUC_GROUPE, VENTE, STRUC_SECTEUR, STRUC_SEGMENT, ARTICLE
WHERE
STRUC_GROUPE.ID_GROUPE=STRUC_SECTEUR.ID_GROUPE AND STRUC_SECTEUR.ID_SECTEUR=STRUC_SEGMENT.ID_SECTEUR
AND ARTICLE.CODE_ARTICLE=VENTE_MENSU.CODE_ARTICLE
AND ARTICLE.CODE_SEGMENT=STRUC_SEGMENT.CODE_SEGMENT
GROUP BY STRUC_GROUPE.LIBELLE_GROUPE
HAVING
(sum(VENTE.CA)>=ALL(SELECT sum(VENTE_MENSU.CA)/
count(distinct STRUC_GROUPE.LIBELLE_GROUPE)
FROM STRUC_GROUPE,VENTE,STRUC_SECTEUR,
STRUC_SEGMENT,ARTICLE
WHERE STRUC_GROUPE.ID_GROUPE=STRUC_SECTEUR.ID_GROUPE
AND STRUC_SECTEUR.ID_SECTEUR= STRUC_SEGMENT.ID_SECTEUR
AND ARTICLE.CODE_ARTICLE= VENTE.CODE_ARTICLE
AND ARTICLE.CODE_SEGMENT=STRUC_SEGMENT.CODE_SEGMENT))
Chiffre d’affaires de chaque groupe et le pourcentage par rapport au département Aptitude à résoudre cette requête : excellente

Pour créer ce rapport, il suffit de sélectionner les objets " libellé département ", " libellé groupe " et " chiffre d’affaires ", égal à sum(ca). La requête générée est alors :

SELECT STRUC_DEPARTEMENT.LIBELLE_DEPARTEMENT, STRUC_GROUPE.LIBELLE_GROUPE, sum(VENTE.CA),

FROM STRUC_DEPARTEMENT, STRUC_GROUPE, VENTE, STRUC_ACTIVITE,

STRUC_SECTEUR, STRUC_SEGMENT,ARTICLE

WHERE (ARTICLE.CODE_SEGMENT=STRUC_SEGMENT.CODE_SEGMENT)

AND (STRUC_SECTEUR.ID_SECTEUR=STRUC_SEGMENT.ID_SECTEUR)

AND (STRUC_GROUPE.ID_GROUPE=STRUC_SECTEUR.ID_GROUPE)

AND (STRUC_ACTIVITE.ID_ACTIVITE=STRUC_GROUPE.ID_ACTIVITE)

AND (STRUC_DEPARTEMENT.ID_DEPARTEMENT=STRUC_ACTIVITE.ID_DEPARTEMENT)

AND (ARTICLE.CODE_ARTICLE*=VENTE.CODE_ARTICLE)

GROUP BY STRUC_DEPARTEMENT.LIBELLE_DEPARTEMENT,

STRUC_GROUPE.LIBELLE_GROUPE

Au niveau du rapport, l’utilisateur peut définir une rupture sur le département. Plusieurs calculs peuvent être alors insérés automatiquement, parmi lesquels le pourcentage. Le rapport est ainsi créé.

Chiffre d’affaires global des produits proposés par le magasin de Bordeaux Aptitude à résoudre cette requête : excellente

Pour définir cette requête, l’utilisateur définit une requête s’appuyant sur une sous requête. La requête récupère le chiffre d’affaires pour les articles dont le code fait partie de ceux proposés par le magasin de Bordeaux, récupérés par une sous-requête. La requête générée est alors :

SELECT sum(VENTE.CA)

FROM VENTE,ARTICLE

WHERE (ARTICLE.CODE_ARTICLE*=VENTE.CODE_ARTICLE)

AND (ARTICLE.CODE_ARTICLE IN

(SELECT PROPOSE.CODE_ARTICLE

FROM MAGASIN, PROPOSE

WHERE(PROPOSE.CODE_MAGASIN=MAGASIN.CODE_MAGASIN)

AND (MAGASIN.VILLE = "Bordeaux")))

Pourcentage des ventes représenté par les produits les mieux vendus Aptitude à résoudre cette requête : médiocre

La plupart des manipulations doivent être effectuées au niveau du rapport. La requête de base récupère chaque article avec le montant de son chiffre d’affaires, par ordre décroissant sur le chiffre d’affaires.

SELECT ARTICLE.LIBELLE_ARTICLE,sum(VENTE.CA)

FROM VENTE,ARTICLE

WHERE (ARTICLE.CODE_ARTICLE*=VENTE.CODE_ARTICLE)

GROUP BY ARTICLE.LIBELLE_ARTICLE

ORDER BY 3 DESC

Au niveau du rapport, il est ensuite possible d’ajouter des variables donnant le nombre cumulé d’articles, le pourcentage qu’il représente par rapport à l’ensemble des articles ainsi que le chiffre d’affaires cumulé et le pourcentage qu’il représente par rapport au chiffre d’affaire global.

Cependant, il n’est pas possible de ne montrer que les 20 % premiers articles à moins de définir un alerteur masquant, sans les supprimer, les lignes inintéressantes.

Administration

Les méta-données

Dans Business Objects, un catalogue (univers dans la terminologie Business Objects) contient la description des données et peut contenir des requêtes, des états, des graphes ou des procédures. L’univers est stocké sur une base de données, celle contenant les données du Data Warehouse ou non.

L’administrateur travaille sur une version personnelle du catalogue et toute nouvelle version du catalogue ne sera accessible aux utilisateurs qu’après exportation explicite effectuée par l’administrateur. Les requêtes, graphes de gestion ou scripts définis par l’administrateur sont accessibles aux utilisateurs qui le souhaitent par un mécanisme d’importation. Business Objects permet également à l’administrateur de vérifier l’intégrité du catalogue : en cas de modification du catalogue ou de la base de données elle-même, ceci permettra de détecter les "objets du métier" qui sont devenus incohérents.

La création des univers peut être automatisée à travers un assistant, qui peut alors créer automatiquement les objets élémentaires et définir les jointures d’après les stratégies établies par l’administrateur (même noms de colonnes, clés primaires/clés étrangères...) De la même manière, la résolution des contextes peut être automatique.

Etude de l’Institut EDS Prometheus






Répondre à cet article et accéder au Forum Business Objects données et traitements

Imprimer Business Objects données et traitements