Définition et création des classes et objets

Ce tutoriel est la troisième partie d'une série de tutoriels sur le Business Object.

Première partie : Introduction et concepts de B.O. et création d' Univers avec l' assistant

Deuxième partie : Création d'Univers Business Objects : Boucles et paramétrage

Les commentaires et les suggestions d'amélioration sont les bienvenus, alors, après votre lecture, n'hésitez pas. 6 commentaires Donner une note à l'article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Cette troisième partie traite des sujets plus précis comme le concept du métier de l'utilisateur (les objets), de conditions prédéfinies ou la création de hiérarchies afin de créer des nouveaux axes d'analyse.

II. Les classes

II-A. Définition

Dans les deux tutoriels précédents, vous avez appris à créer les éléments constituant la structure de l'Univers (tables, colonnes, jointure).

Une fois cette structure définie, il faut affiner votre représentation métier des données en constituant un ensemble de Classes et d'Objets qui sont les éléments utilisés in fine par les utilisateurs de BusinessObjects.

II-B. Présentation de la fenêtre classes et objets

Image non disponible

La fenêtre Classes et Objets du module Designer présente une vue hiérarchique des classes et des objets de l'Univers en cours de création ou de modification.

Elle présente les classes (symbole de dossier) ainsi que les objets à côté d'un symbole représentant leur qualification multidimensionnelle que nous décrivons par la suite.

AU BAS DE CETTE FENÊTRE, VOUS POUVEZ TROUVER DEUX CASES À COCHER QUI VOUS PERMETTENT DE BASCULER D'UNE REPRÉSENTATION DES CLASSES ET DES OBJETS VERS UNE REPRÉSENTATION DES CLASSES ET DES FILTRES.

Image non disponible

Les opérations de base (couper, copier, coller) s'effectuent de manière conventionnelle. Le déplacement des classes, objets et conditions s'effectue par une action de glisser-déplacer.

II-C. Création et modification des classes

La création d'une classe s'accompagne de la boite de dialogue ci-dessous qu'il convient de renseigner :

Image non disponible

Un nom de classe peut contenir au maximum 35 caractères alphanumériques (ainsi que caractères spéciaux et espaces). Vous pouvez renommer une classe à tout moment.

Pour créer une classe à partir d'une table (par défaut, l'insertion d'une nouvelle classe crée une classe vide), il faut la faire glisser depuis la fenêtre structure sur la fenêtre Classe et objets. La classe est créée automatiquement avec ses objets correspondants.

La création d'une nouvelle classe est très simple : Menu : Insertion/classe

Pour créer une sous-classe, vous procédez de la même manière en ayant auparavant sélectionné la classe mère.

II-D. Le concept d'objet

Les objets sont les plus petites entités manipulées dans BO. Ils représentent des concepts du métier de l'utilisateur. Un objet donne à l'utilisateur une totale indépendance vis-à-vis du schéma physique de la base de données.

Il permet de manipuler une information consistante et non pas des données élémentaires.

Un objet est d'abord caractérisé par un nom et par des informations (le nom du client et son prénom). Ces informations sont décrites dans l'écran d'aide associé à l'objet.

L'objet se définit par :

  • des fragments de SQL (clause SELECT, FROM, WHERE) ;
  • des fonctions spécifiques à BO (précédées de @) ;
  • des paramétrages précisant l'utilisation future qui pourra être faite :

    • visibilité selon le degré de confidentialité,
    • usage dans les analyses multidimensionnelles,
    • possibilité d'utilisation dans les tris, conditions, sélection.

II-E. Création d'objets

Image non disponible

Pour créer un objet :

  • sélectionner la classe qui va le contenir ;
  • menu : Insertion / Objet
  • saisie des caractères de l'objet.

Ou

  • glisser-déplacer d'une colonne de table vers une classe existante.

En cliquant sur le bouton « >> » (à droite de la sélection « SELECT »), on affiche une fenêtre qui permet de créer la partie select de l'objet uniquement avec la souris. Cet écran donne la liste des tables et des colonnes ainsi que la liste de toutes les fonctions.

Remarque : dans le cas d'un glisser-déplacer, le type est déduit de la colonne dans la base de données. L'objet est qualifié de « dimension ».

II-F. Les différentes qualifications d'objets

Qualifier un objet consiste à préciser quelle utilisation en sera faite au travers des analyses multidimensionnelles (module Exploration de BO). Il y a trois qualifications possibles :

  • Image non disponible : appelée encore axe d'analyse, c'est une donnée qualitative sur laquelle on va effectuer une analyse (ex. : client, produit, temps…). Une dimension peut posséder plusieurs niveaux hiérarchiques prédéfinis par l'administrateur et utilisable par l'utilisateur final ;
  • Image non disponible : on l'appelle également « mesures ». Ce sont les données quantitatives sous BO. Il est défini avec une fonction de groupe telle que somme, moyenne, maximum… exemples : chiffre d'affaire, marge, quantités vendues…
  • Image non disponible : c'est un objet dont le caractère est purement informatif. Il apporte généralement un complément d'information sur une dimension déjà définie (ex. : adresse, n° de tél., n° de commande…). Il n'est pas pertinent d'effectuer des calculs ni faire des regroupements sur ce critère.

II-G. Propriétés des objets

  • La qualification (voir ci-dessus).
  • Liste des valeurs :
Image non disponible

Les listes de valeurs permettent d'associer à un objet de l'Univers une liste de valeurs issues d'une requête sur le serveur. Ces listes de valeurs seront affichées sur demande de l'utilisateur lorsqu'une requête réclamera des paramètres pour pouvoir être exécutée.

Les listes présentées sont issues de requêtes basées soit sur la base de données elle-même, soit sur des fichiers de données personnelles.

Ces listes de valeurs sont une aide à la saisie de paramètres. Elles peuvent présenter des données associées (libellé correspondant à un code) ou un sous-ensemble de toutes les valeurs contenues dans la table. Elles permettent de choisir dans des listes, sans ressaisie, minimisant ainsi les risques d'erreurs.

La liste peut être rafraîchie sur demande de l'utilisateur ou automatiquement à chaque utilisation. Un droit de modification peut être affecté à l'utilisateur.

II-H. Propriétés avancées des objets

Image non disponible

Cet onglet permet d'attribuer des propriétés complémentaires à l'objet en cours de création.

II-H-1. Niveau de sécurité d'accès

On agit ainsi sur le domaine d'accès (public, privé, restreint, confidentiel…) et d'utilisation.

II-H-2. Peut être utilisé dans

Cette partie permet d'interdire l'utilisation de l'objet :

  • dans la partie objet du résultat ;
  • dans la partie condition ;
  • pour poser un tri dans la requête.

III. Les conditions prédéfinies

Image non disponible

Les conditions permettent de nommer et de stocker des restrictions sur des objets en vue de les réutiliser lors des requêtes.

Ces restrictions se déterminent par des fragments de SQL, automatiquement repris dans la clause WHERE de la requête générée.

Par exemple :

  • grands comptes (condition sur le chiffre d'affaires) ;
  • découpage géographique (condition sur le secteur géographique) ;
  • découpage temporel (condition sur les dates).

Mise en œuvre :

  • sélectionnez la classe sur laquelle vous souhaitez poser une condition ;
  • cliquez sur l'icône Condition ou Menu Insertion / condition ;
  • saisissez le nom de la condition ;
  • renseignez la clause WHERE.
Image non disponible

IV. Les fonctions

Elles s'utilisent dans les clauses SELECT et WHERE associées à l'objet.

Elles sont de deux natures  :

  • les fonctions propres au SGBR hôte ;
  • les fonctions spécifiques de BO (précédées de @).

@Prompt : permet de créer des objets interactifs qui dynamiquement et à chaque utilisation susciteront une réponse de l'utilisateur.

@Variable : permet d'utiliser des variables d'environnement ou créées par l'utilisateur.

@Select : permet d'utiliser la définition du SELECT d'un autre objet.

@Where : permet d'utiliser la définition Where d'un autre objet.

@Script : permet d'exécuter un script Visual Basic.

@AggreateAware : permet de voir cohabiter dans le système des tables agrégées et des tables détaillées, et de préciser les règles qui permettent à BO de choisir les unes ou les autres.

V. Les hiérarchies

Menu : Outils / Hiérarchies : puis personnalisez vos propres hiérarchies à partir de celles créées par défaut à l'aide des touches : Ajouter, Monter et Descendre.

Image non disponible

C'est l'agencement d'objets de type : « dimension » permettant de décrire comment s'imbriquent les différents niveaux de structure. Les hiérarchies sont utilisées lors de l'analyse par l'Explorer.

Les classes et les objets de l'Univers décrivent des hiérarchies par défaut. Des hiérarchies personnalisées permettent de créer d'autres axes d'analyse et de regroupement.

Exemple de hiérarchies :

  • Pays / Région / Département ;
  • Famille / Groupe / Produit ;
  • Année / Trimestre / Mois / Jour.

Un objet défini comme « Information » ne sera pas accessible lors de l'analyse multidimensionnelle. Seuls les dimensions et les indicateurs seront pris en compte.

V-A. Les hiérarchies de dates

Image non disponible

Une hiérarchie standard sur les dates peut être générée sur demande lors de la définition de l'objet.

Pour une date, il est possible de créer trois niveaux hiérarchiques : l'année, le trimestre et le mois. Pour ce faire, il suffit de cocher la case correspondante et éventuellement de donner un nouveau nom à la dimension.

Lors de la création d'une dimension de type Date, cliquez sur le bouton Hiérarchie automatique de temps.

VI. Exercices

  • Ajouter l'objet Pays (Country) dans la classe Resort.
  • Ajouter l'objet Pays (country Resort) dans la classe client.
  • Supprimer l'objet et Prénom et modifier l'objet Nom en client afin qu'il affiche le nom et le prénom concaténés.
  • Modifier les objets Tranche d'Age, Téléphone et adresse pour qu'ils apparaissent comme des informations du client.
  • Ajouter l'objet Tranche d'Age (âge-range/Age group à la classe vente.
  • Ajouter l'objet Commercial (Sale Person) à la classe vente.
  • Regrouper de façon logique les classes en supprimant des ID inutiles en premier lieu (exemple l'objet « city » qui peut être regroupé dans une certaine classe qui parait beaucoup plus pertinente. Et donc certaines classes pourront être supprimées logiquement.
  • Créer l'indicateur « chiffre d'affaires » (petite indication : (classe invoice et service).
  • Créer l'indicateur « Nombre de clients » et « nombre de clients futurs ».

Créer les conditions prédéfinies suivantes :

  • Lieux de séjour Club Australian Reef et lieux de séjour Club French Riviera ;
  • Année de ventes 1999, 2000 et 1998 ;
  • Année de réservations 2001, 2002 et 2003 ;
  • Client américain ;
  • Jeune Adulte (< 25 ans) ;
  • Jeune Américain (< 25 ans).
  • Créer la hiérarchie lieu à partir de la classe lieux de séjour.
  • Créer la hiérarchie client à partir de la classe Client.
  • Créer les hiérarchies de dates pour les ventes et les réservations.

VI-A. Solutions

Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible

VII. Conclusions

Cette troisième partie traite d'éléments plus fins, plus précis (création d'objet, conditions, etc.). On commence à s'immerger de plus en plus, et à donner l'envie d'aller plus loin. Le prochain tutoriel sera le quatrième et dernier volet et proposera un exercice final sans solution, car je pense que c'est dans l'élaboration de ce dernier exercice que la compréhension de la création d'Univers sera complète.

VIII. Liens utiles

IX. Remerciements

Un grand merci pour l'équipe BI de developpez.com et pour l'auteur de ce tutoriel. Nous remercions particulièrement ClaudeLELOUP pour sa correction orthographique et milkoseck pour sa gabarisation.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2008 Christian Manzoni. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.