Manuel du designer
Transcription
Manuel du designer
Manuel du designer Version 5.1 Windows BusinessObjects TM Version 5.1 Manuel du designer Le logiciel et le présent ouvrage ne peuvent en aucun cas, en tout ou en partie, être copiés, photocopiés, reproduits, traduits, enregistrés ou convertis sur un quelconque support électronique ou mécanique sans l’approbation écrite préalable de Business Objects. Les informations contenues dans le présent manuel peuvent faire l’objet de modifications sans préavis. Si vous relevez dans le présent ouvrage quelque anomalie que ce soit, veuillez en faire part à Business Objects par e-mail : [email protected]. Business Objects décline toute responsabilité quant à d’éventuelles erreurs contenues dans le présent manuel. Copyright © Business Objects 2000. Tous droits réservés. Parties du Copyright © 1996, Microsoft Corporation. Tous droits réservés. Imprimé en France. Propriété industrielle : Le logo Business Objects, BusinessMiner, BusinessQuery et WebIntelligence sont des marques déposées de Business Objects S.A. Le nom Business Objects, Broadcast Agent, BusinessObjects, Personal Trainer, Rapid Deployment Templates et Set Analyzer sont des marques de Business Objects S.A. Microsoft, Windows, Windows NT, Access, Microsoft VBA, le logo Visual Basic et les autres noms de produits Microsoft cités dans cet ouvrage sont des marques ou des marques déposées de la société Microsoft Corporation. Oracle est une marque déposée de la société Oracle Corporation. Tous les autres noms de produits Oracle cités dans cet ouvrage sont des marques déposées de la société Oracle Corporation. Tous les autres noms de produits et de sociétés cités dans cet ouvrage sont des marques déposées de leurs propriétaires respectifs. Brevet américain no 5 555 403 Référence du manuel : 307-10-510-02 Edition : 2 Table des matières Préface Chapitre 1 Introduction 15 Présentation de Designer ........................................................................................... 16 Le designer d’univers ................................................................................................. 16 Couche de méta-données ........................................................................................... 18 Support illustré ............................................................................................................ 22 Nouveautés dans le Designer .................................................................................... 23 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers 25 Généralités .................................................................................................................... 26 Base de données Club ................................................................................................. 26 Univers de démonstration ......................................................................................... 26 Méthodologie de conception d’un univers .............................................................. 28 Assistant de création d’univers ................................................................................. 29 Et maintenant ? ............................................................................................................ 38 Chapitre 3 Sélection et affichage des tables et des colonnes 39 Généralités .................................................................................................................... 41 Lancement d’une session Designer .......................................................................... 41 Interface du Designer .................................................................................................. 46 Saisie de paramètres d’univers .................................................................................. 52 Sélection des tables et des colonnes .......................................................................... 66 Organisation des tables et des colonnes .................................................................. 70 Manuel du designer iii Table des matières Chapitre 4 Création de stratégies externes 83 Généralités ....................................................................................................................84 Définition des stratégies .............................................................................................84 Création de stratégies externes ..................................................................................87 Formats de sortie des stratégies .................................................................................91 Application de stratégies externes dans Designer ..................................................94 Chapitre 5 Création de jointures 97 Généralités ....................................................................................................................98 Qu’est-ce qu’une jointure ? ........................................................................................99 Types de jointures supportés ...................................................................................100 Méthodes de création et de modification de jointures .........................................101 Création de types spécifiques de jointure ..............................................................107 Cardinalités d’une jointure ......................................................................................112 Vérification de l’intégrité de votre univers ............................................................114 Chapitre 6 Résolution des problèmes liés aux jointures 121 Généralités ..................................................................................................................123 Chemins de jointure retournant un nombre de lignes trop faible ......................127 Utilisation des alias ...................................................................................................130 Utilisation de contextes .............................................................................................142 Les contextes et les alias peuvent-ils être utilisés ensemble ? .............................152 Quand utiliser des contextes et non des alias ........................................................153 Chemins de jointure retournant un nombre de lignes trop élevé ......................154 Organisation du schéma de tables pour détecter des problèmes liés aux jointures ........................................................................................................163 iv Manuel du designer Table des matières Chapitre 7 Définition des classes et des objets 165 Généralités .................................................................................................................. 167 Utilisation de la fenêtre Univers ............................................................................. 167 Création et édition des classes ................................................................................. 169 Création et édition des objets .................................................................................. 172 Mise en oeuvre de l’analyse multidimensionnelle ............................................... 201 Vérification de l’intégrité de l’univers ................................................................... 207 Chapitre 8 Définition de la navigation agrégée dans un univers 209 Généralités .................................................................................................................. 210 Qu’est-ce que la navigation agrégée ? .................................................................... 210 Mise en oeuvre de la navigation agrégée .............................................................. 212 Exemples de navigation agrégée ............................................................................. 213 Vérification de l’intégrité de l’univers ................................................................... 224 Chapitre 9 Création de types d’objets spécifiques 225 Généralités .................................................................................................................. 226 Création d’un objet concaténé ................................................................................. 226 Affectation d’une liste de valeurs à un objet ......................................................... 229 Création d’objets de type indicateur ...................................................................... 232 Insertion d’un objet personnel ................................................................................. 236 Manuel du designer v Table des matières Chapitre 10 Gestion des univers 239 Généralités ..................................................................................................................241 Enregistrement d’un univers ...................................................................................242 Ressources d’impression ..........................................................................................246 Distribution des univers ...........................................................................................250 Nouvelles fonctionnalités de déploiement ............................................................257 Lancement de produits BUSINESSOBJECTS à partir du Designer ..........................260 Identification sous un nom d’utilisateur différent ................................................260 Changement du mot de passe .................................................................................261 Travail avec des univers liés ....................................................................................262 Comment relier des univers ? ..................................................................................267 Annexe Index vi Manuel du designer Préface ................................................................................. Dans cette préface ❑ Contenu de la documentation viii Un service de documentation sur le Web viii Multimédia ix Manuels en ligne xi Aide en ligne xiii Pour en savoir plus xiii ❑ A propos de ce manuel xiv Public concerné xiv Conventions relatives au présent manuel xiv Manuel du designer vii Préface Contenu de la documentation La documentation Business Objects continue de présenter des informations complètes et à jour sur les produits. Elle ne présente pas seulement les caractéristiques des produits, mais regroupe des astuces, des exemples et des instructions pour la résolution des incidents. La documentation Business Objects est disponible, au choix, dans plusieurs formats, notamment : aide en ligne Windows, HTML, Acrobat PDF, papier et multimédia. En outre, vous pouvez y accéder facilement à tout moment, à partir du produit avec lequel vous travaillez. La documentation a été conçue pour répondre à vos besoins et dans un souci de rapidité et de facilité de la recherche. Il suffit d'un clic de souris pour obtenir toutes les informations dont vous avez besoin. Les sections suivantes présentent les caractéristiques principales de notre documentation. Un service de documentation sur le Web A partir du menu Aide de tous nos produits, vous pouvez sélectionnez la commande Astuces, qui vous permet de vous permet d'accéder au service de documentation de Business Objects sur Internet. A partir de là, vous pouvez découvrir les nouveautés en matière de mises à jour, astuces, exemples ou résolution des incidents. Vous pouvez également accéder à ce service en saisissant l'URL suivante dans votre navigateur : http://www.businessobjects.com/services/infocenter A partir de la page Tips and Tricks, les utilisateurs enregistrés auprès du Support client peuvent consulter la version électronique de toute la documentation Business Objects. Cette page contient des informations détaillées sur tous les produits Business Objects, des mises à jour, des instructions relatives à la résolution des incidents, des astuces et bien d’autres choses encore. De plus, les clients enregistrés DEVELOPER SUITE ont la possibilité de télécharger la nouvelle documentation et des échantillons de code. viii Manuel du designer Contenu de la documentation Multimédia La documentation multimédia de Business Objects est composée de la présentation BUSINESSOBJECTS Quick Tour, d'INFOVIEW Quick Tour ainsi que du didacticiel BUSINESSMINER, présentant les caractéristiques principales des produits. BusinessObjects Quick Tour BUSINESSOBJECTS Quick Tour est une présentation multimédia qui permet de découvrir les fonctionnalités essentielles de BUSINESSOBJECTS. Son approche didactique en fait un outil idéal pour ceux qui utilisent le produit pour la première fois. Vous pouvez l'utiliser en même temps que le manuel Prise en main de Business Objects. Manuel du designer ix Préface InfoView Quick Tour INFOVIEW Quick Tour est une présentation multimédia décrivant les fonctionnalités essentielles d'INFOVIEW. Destinée principalement aux nouveaux utilisateurs, elle présente les fonctionnalités utilisées pour la gestion et la distribution des documents. Vous pouvez utiliser INFOVIEWQuick Tour avec le manuel Prise en main de WebIntelligence. Prise en main de BusinessMiner Ce support multimédia apprend aux utilisateurs débutants comment utiliser le puissant logiciel de datamining qu'est BUSINESSMINER. Chaque leçon comprend une présentation commentée et animée montrant aux utilisateurs comment résoudre un problème concret à l'aide de BUSINESSMINER. Les utilisateurs peuvent ensuite mettre en pratique les tâches décrites, en suivant les exercices progressifs du manuel d'accompagnement. x Manuel du designer Contenu de la documentation Manuels en ligne Manuels de l'utilisateur Tous les manuels de l’utilisateur sont disponibles sous forme de fichiers PDF (Acrobat Portable Document Format). Destinés à une consultation en ligne, ces fichiers permettent visualiser, de parcourir et d'imprimer le contenu des manuels. La liste complète des manuels de Business Objects est fournie dans le Manuel du déploiement. A partir d’un produit Business Objects, vous pouvez avoir accès au manuel correspondant à l'aide des commandes du menu Aide. Le menu Aide de BusinessObjects propose des commandes pour visualiser la documentation. Le programme d'installation de BUSINESSOBJECTS copie automatiquement ces fichiers dans : Business Objects\Online Guides\Fr Vous pouvez ouvrir un document à partir du menu Aide, à condition d'avoir installé Adobe Acrobat Reader version 3.0 ou ultérieure sur votre machine, disponible sur le CD-ROM de Business Objects. Vous pouvez également le télécharger depuis le site Web de la société Adobe. Manuel du designer xi Préface Le Manuel de résolution des incidents Le Manuel de résolution des incidents est une compilation des messages d’erreur qui peuvent apparaître pendant l’utilisation normale des produits Business Objects. Ce manuel fournit des informations détaillées sur la résolution des incidents afin que vous puissiez déterminer les raisons d'une erreur et prendre les mesures appropriées pour la résoudre. Il permet de rechercher les messages d'erreur par code. Chaque message d'erreur s'affiche avec sa cause probable et la solution recommandée. Vous pouvez ouvrir ce manuel en ligne à partir d’un produit Business Objects en sélectionnant la commande Manuel de résolution des incidents dans le menu Aide. Dans INFOVIEW, cliquez sur Messages d'erreur dans la barre de navigation. Cliquez sur un message d'erreur pour afficher son explication dans le manuel. Cliquez sur le repère Liste des messages d’erreur pour afficher les messages d'erreur par code Manuel de résolution des incidents au format PDF xii Manuel du designer Contenu de la documentation Aide en ligne Pour les produits client Business Objects Windows, l’aide en ligne est disponible sous la forme de fichiers .hlp et .cnt. qui sont conformes aux normes de l’aide en ligne Microsoft Windows. INFOVIEW contient à la fois l'aide en ligne d'INFOVIEW et de WEBINTELLIGENCE. Pour en savoir plus Si vous ne trouvez pas les informations recherchées, nous vous invitons à nous le faire savoir dès que possible. N'hésitez pas à nous faire part de toute demande, astuce, suggestion ou remarque concernant cette documentation ou toute autre documentation Business Objects. Vous pouvez nous contacter par courrier électronique à l'adresse suivante : [email protected] Pour en savoir plus sur les produits et les services de Business Objects, visitez notre site Web à l'adresse suivante : http://www.businessobjects.com Manuel du designer xiii Préface A propos de ce manuel Ce manuel concerne le DESIGNER, application de BUSINESSOBJECTS. Il fournit des instructions détaillées sur la création d’univers simples ou complexes et sur la couche sémantique représentant la structure de la base de données dans un langage relevant de la vie professionnelle quotidienne. Ce manuel contient également des informations relatives à la gestion et à la distribution des univers et aborde des questions liées aux groupes de travail. Public concerné Ce manuel est destiné au designer, c’est-à-dire à l’utilisateur du DESIGNER. A ce titre, celui-ci doit posséder de bonnes bases en matière de langage SQL et de systèmes de gestion de bases de données relationnelles. En outre, il doit être initié aux différents types de données et à la structure logique des bases de données de son entreprise. Conventions relatives au présent manuel Les conventions relatives au présent manuel sont décrites dans le tableau cidessous : Convention PETITES MAJUSCULES Utilisation Noms de l'ensemble des produits tels que BUSINESSOBJECTS, WEBINTELLIGENCE, SUPERVISOR, DESIGNER. Cette police Noms des classes, objets et conditions de BUSINESSOBJECTS. Par exemple, Client, Ventes, Chiffre d'affaires, Service, etc. Cette police Code, syntaxe SQL, programmes informatiques. Par exemple : @Select(Pays\ID pays) (...) Situé à la fin d'une ligne de code, le symbole (...) indique que la ligne suivante doit être saisie de façon continue sans retour chariot. xiv Manuel du designer Introduction Chapitre 1 ................................................................................. Dans ce chapitre ❑ Présentation de Designer 16 ❑ Le designer d’univers 16 Le designer dans l’entreprise 16 Connaissances requises 16 Responsabilités du designer 17 Conception, création et maintenance d’un univers 17 ❑ Couche de méta-données 18 Univers 18 Classes 19 Objets 19 ❑ Support illustré 22 ❑ Nouveautés dans le Designer 23 Programmabilité 23 Nouveaux univers et base de données de démonstration 23 Manuel du designer 15 Chapitre 1 Introduction Présentation de Designer DESIGNER est un produit Business Objects destiné spécifiquement au concepteur d’univers, appelé designer. Avec DESIGNER , vous pouvez créer des univers, à savoir une couche sémantique qui évite aux utilisateurs finals de faire face à la technicité de la structure de la base de données. Ces univers peuvent être dédiés à des groupes d’utilisateurs finals spécifiques dans votre structure professionnelle. Le designer d’univers Cette section présente une brève description des compétences et des tâches d’un designer d’univers. Le designer dans l’entreprise La personne qui a été désignée pour remplir le rôle du designer peut occuper l’une des positions suivantes : administrateur de base de données, responsable d’applications, ingénieurs de développement, etc. En effet, votre entreprise peut compter plusieurs designers d’univers. Ce nombre varie naturellement en fonction des besoins de votre entreprise. Ainsi est-il possible de trouver un designer par application, par projet, par département ou encore par domaine fonctionnel. Dans d’autres cas, un seul designer peut suffir à l’ensemble d’une entreprise. Pour connaître les types d’univers adaptés à votre entreprise, le designer peut consulter d’autres personnes telles que le superviseur de BUSINESSOBJECTS, l’administrateur de base de données ou les utilisateurs finals. Connaissances requises En tant que designer, vous devez posséder de très bonnes bases en langage SQL et bien connaître les systèmes de gestion des bases de données relationnelles (SGBDR) de votre entreprise. En outre, vous devez avoir une bonne notion du type de données et de la structure logique des bases de données de votre entreprise. Enfin, il est important d’analyser les demandes de vos utilisateurs afin de concevoir des univers appropriés. Cette analyse doit également porter sur les rapports, l’information et les résultats demandés par les utilisateurs. 16 Manuel du designer Le designer d’univers Responsabilités du designer En tant que designer d’univers, vous êtes responsable de : • La conception, la création et la maintenance des univers. • La distribution des univers. Conception, création et maintenance d’un univers Les étapes principales du développement d’un univers sont présentées dans le schéma ci-dessous : Planification Découper le système d’information en domaines fonctionnels Analyse Analyser les besoins d’information des utilisateurs Conception Créer un schéma conceptuel Concevoir la spécification d’un univers Application Créer un univers avec DESIGNER Tester l’univers avec BUSINESSOBJECTS Distribuer l’univers Répéter les étapes ci-dessus pour d’autres univers Maintenance Mettre l’univers à jour et assurer sa maintenance. Signaler les changements aux utilisateurs Manuel du designer 17 Chapitre 1 Introduction Couche de méta-données En tant que designer, vous êtes responsable de la création des univers, représentant la couche des méta-données des produits Business Objects. Cette couche repose sur le paradigme des univers, des classes et des objets. Univers Un univers est une représentation orientée gestion de la structure des données dans les différentes bases de données (tables, colonnes, jointures, etc.). Un univers peut représenter toute application, tout système ou groupe d’utilisateurs spécifique. Par exemple, un univers peut refléter le département d’une société, tel que le département Marketing ou financier. Un univers peut également représenter un sous-département ou simplement un regroupement de procédures organisées, comme le traitement des salaires, l'inventaire, etc. Un univers se compose d'objets qui sont regroupés sous forme de classes. Voici l’extrait d’un univers, pouvant être utile au département Ressources Humaines : Informations sur la présence Informations sur l’employé Nombre de jours acquis Congés de maladie Total des absences Informations sur le département UNIVERS DES RESSOURCES HUMAINES Exemples de classes de l’univers décrit ci-dessus : Informations sur l’employé, Informations sur la présence et Informations sur le département. 18 Manuel du designer Couche de méta-données Classes Une classe est un regroupement logique d'objets dans un univers. Le nom d'une classe reflète généralement un concept propre à l'activité de votre société et indique le type d'objets contenus dans cette classe. Une classe peut être divisée en sous-classes. En tant que designer, vous pouvez librement définir des hiérarchies de classes et de sous-classes selon un modèle correspondant parfaitement aux concepts de votre entreprise. Objets Un objet est l'élément le plus petit dans un univers. Il représente les données ou une dérivation des données d’une base de données. Le nom de ces objets s’appuie sur la terminologie utilisée par votre société ou votre discipline. Ainsi, les objets d'un chef de produit pourraient s'appeler Produit, Numéro du produit ou Sortie du produit, tandis qu'ils s'appelleraient Marge de profit, Taux d’investissement, etc. pour un analyste financier. Dans le but de pouvoir effectuer une analyse multidimensionnelle, les objets ont été qualifiés. Ces qualifications sont au nombre de trois : dimension, information ou indicateur. Les objets de type dimension sont les paramètres de base pour l’analyse. Ils constituent des hiérarchies, telles que la géographie, le produit ou le temps. Les objets de type information ont pour mission de décrire les dimensions. L’analyse ne peut, en aucun cas, porter sur ces objets. Les objets de type indicateur apportent des informations numériques qui servent à évaluer les objets de type dimension. Manuel du designer 19 Chapitre 1 Introduction Somme des Sales Revenue (Somme des chiffres d’affaires), par exemple, est un indicateur, Last Name (Nom) et First Name (Prénom) sont des dimensions et Phone Number (Numéro de téléphone) est une information. objet de type dimension objet de type information objet de type indicateur Définitions : Un objet est une représentation des données de la base de données. Dans le but de pouvoir effectuer une analyse multidimensionnelle, les objets reçoivent une des trois qualifications suivantes : dimension, information ou indicateur. Une classe regroupe des objets fondés sur la terminologie utilisée dans votre entreprise. Un univers est composé de classes et d’objets destinés à une application ou à un groupe d’utilisateurs spécifique. 20 Manuel du designer Couche de méta-données CLIENT PRIX UNITAIRE PRODUIT STATISTIQUES - Chiffre d’affaires - Recette totale EMPLOYE ADRESSE SALAIRE BONUS PERSONNEL STOCK - Valeur courante - Epuisé N° D’ARTICLE VENTES INVENTAIRE Le diagramme ci-dessus illustre les rapports entre les univers, les classes et les objets. Les univers s’appellent PERSONNEL, INVENTAIRE, et VENTES. Au sein de l’univers VENTES se trouve une classe intitulée STATISTIQUES contenant les deux objets : Chiffre d’affaires et Recette totale. Tous les éléments de l’univers représentent des parties de la structure de la base de données. Manuel du designer 21 Chapitre 1 Introduction Support illustré DESIGNER peut supporter tout type de schéma de base de données, y compris ceux illustrés ci-dessous. Il n’est pas nécessaire de redéfinir ou d’optimiser la base de données avant d’utiliser le produit. Schéma en étoile Schéma en flocon Schéma multi-étoile Schémas pris en charge par Designer 22 Manuel du designer Schéma de production normalisés Data warehouse avec agrégats Nouveautés dans le Designer Nouveautés dans le Designer Programmabilité La principale nouvelle fonctionnalité de DESIGNER 5.1 est que les développeurs peuvent maintenant créer une fonctionnalité DESIGNER dans leurs propres applications, à l’aide de Business Objects Developer Suite. Dans Developer Suite, les développeurs travaillent dans Microsoft Visual Basic for Applications (VBA) pour bénéficier des classes et méthodes de BUSINESSOBJECTS, sans avoir à modifier l’interface de leur application propriétaire. Pour des informations supplémentaires sur Developer Suite, reportez-vous à la documentation de Business Objects Developer Suite. Pour des informations spécifiques concernant la fonctionnalité programmable du DESIGNER, reportezvous au manuel Designer Object Model Diagram. Nouveaux univers et base de données de démonstration DESIGNER est maintenant proposé avec l’univers eMode, qui correspond à une base de données également appelée eMode. La base de données MS Access recense 211 produits (663 variations de couleur), vendus dans 13 magasins en Europe, sur 3 ans. la base de données contient : • une table factuelle centrale avec 89000 lignes d’informations sur les ventes hebdomadaires ; • une seconde table factuelle contenant les promotions • deux tables d’agrégats, définie avec la navigation agrégée. Manuel du designer 23 Chapitre 1 Introduction 24 Manuel du designer Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers ................................................................................. Dans ce chapitre ❑ Généralités 26 ❑ Base de données Club 26 ❑ Univers de démonstration 26 ❑ Méthodologie de conception d’un univers 28 Première étape 28 Deuxième étape 28 Création d’un univers de base 29 ❑ Assistant de création d’univers 29 Utilisation de l’assistant 30 Fin d’une session de travail 38 ❑ Et maintenant ? 38 Manuel du designer 25 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Généralités Le présent chapitre est destiné à vous initier au DESIGNER. Il traite des sujets suivants : • La base de données Club qui a servi de base pour la création de l’univers de démonstration et pour tous les exemples figurant dans le présent manuel ; • L’univers de démonstration d’où sont tirés les exemples figurant dans ce chapitre ; • La méthode de conception inhérente à DESIGNER ; • L’assistant de création d’univers, puissant et convivial. Base de données Club Les exemples figurant dans le présent manuel ont été créés avec la base de données Club, elle-même construite avec Microsoft Access version 7.0. Cette base est utilisée par le responsable des ventes d’une chaîne fictive de stations balnéaires, Océan Voyages pour effectuer une analyse marketing et une analyse des ventes. Le fichier de base de données Club.mdb se trouve dans le sousdossier Demo du dossier BUSINESSOBJECTS. Pour plus d’informations sur la structure de cette base de données, reportez-vous à l’annexe qui se trouve en fin de manuel. Univers de démonstration Dans le dossier Universe de BUSINESSOBJECTS, l’univers de démonstration complet est stocké sous le nom Beachfr.unv. Il a été créé au moyen de la base de données Club présentée ci-dessus. Vous pouvez utiliser cet univers pour apprendre à créer des classes et objets spécifiques avec DESIGNER. DESIGNER est désormais livré avec l’univers eMode, mis en correspondance avec une base de données portant le même nom. La base de données MS Access assure le suivi de 211 produits (663 variantes de couleurs de produit), vendus dans 13 magasins (12 aux Etats-Unis, 1 au Canada), sur trois ans. 26 Manuel du designer Univers de démonstration La base de données contient : • Une table de données factuelles centrale contenant 89 000 lignes d’informations de vente, sur une base hebdomadaire • Une deuxième table de données factuelles, contenant les promotions • Deux tables agrégées, définies avec navigation agrégée. Manuel du designer 27 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Méthodologie de conception d’un univers La méthodologie de conception inhérente à DESIGNER vous permet de construire des univers très simples, mais aussi des univers extrêmement complexes. Cette conception se déroule en deux étapes. Première étape Au cours de la première étape, vous créez la structure sous-jacente de votre univers. Elle comprend les tables et les colonnes d’une base de données ainsi que les jointures par lesquelles celles-ci sont reliées. Eventuellement, vous êtes amené à résoudre des boucles dans la structure en utilisant des alias ou des contextes. Vous pouvez conclure cette étape en testant l’intégrité de l’ensemble de la structure de l’univers. Vous trouverez une description détaillée de cette étape dans les chapitres 2 à 6 du présent manuel. Deuxième étape Lorsque vous avez vérifié l’intégrité de la structure de l’univers, la deuxième étape de la conception de votre univers consiste à mettre en valeur les éléments de votre univers. Ainsi, vous pouvez créer des classes, des objets, des conditions et des jointures plus complexes, ou préparer certains objets pour l’analyse multidimensionnelle. Comme durant la première étape, vous devez vérifier l’intégrité de la structure de votre univers. Vous pouvez également tester les univers que vous avez créés à partir de BUSINESSOBJECTS ou de WEBINTELLIGENCE. Enfin, vous pouvez distribuer vos univers aux utilisateurs finals en les exportant vers le référentiel ou en les déplaçant via votre gestionnaire de fichiers. Cette deuxième étape est décrite en détail dans les chapitres 7 à 10. 28 Manuel du designer Assistant de création d’univers Création d’un univers de base Pour tout univers fondé sur un schéma relationnel simple, DESIGNER met un assistant de création d’univers à votre disposition qui vous permet de construire des univers élémentaires, mais complets. L’univers créé à l’aide de l’assistant peut être utilisé immédiatement ; vous pouvez cependant modifier certains objets et/ou créer de nouveaux objets complexes avant de l’utiliser. Chaque fois que vous intervenez sur l’univers, la qualité ainsi que la structure de celui-ci s’en trouvent améliorées. Naturellement, il est possible de créer l’intégralité d’un univers manuellement. La procédure correspondante est présentée dans le chapitre 3, “Sélection et affichage des tables et des colonnes.” Assistant de création d’univers L’assistant de création d’univers vous guide, comme l’indique son nom, à travers les différentes étapes de la construction d’un univers. Il vous assiste pour définir une connexion à la base de données, puis pour créer des classes et des objets simples. De plus, l’assistant propose des stratégies intégrées de création automatique d’objets, de jointures et de tables. L’utilisation de l’assistant a beaucoup d’avantages : • Initiation aux concepts de base de BUSINESSOBJECTS, en particulier lorsque vous êtes un designer novice. • Gain de temps considérable, parce qu’une bonne partie du processus de conception est automatisée. Grâce à l’assistant vous pouvez rapidement construire un modèle d’univers servant ensuite de base pour d’autres univers qui auront simplement besoin d’être peaufinés et personnalisés. • Augmentation de l’efficacité en vous permettant de concevoir plus d’univers en moins de temps. Manuel du designer 29 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Utilisation de l’assistant Pour exécuter l’assistant de création d’univers, lancez d’abord une session DESIGNER : 1. Cliquez sur le bouton Démarrer de la barre des tâches de Windows. Designer 2. Sélectionnez le menu Programmes. 3. Sélectionnez le programme DESIGNER à partir de la commande BusinessObjects. • Vous pouvez également lancer le DESIGNER en utilisant la commande Exécuter du bouton Démarrer. Pour plus d’informations, reportez-vous au paragraphe “Lancement d’une session via la commande Exécuter”, page 43. • La boîte de dialogue Identification s’affiche. 4. Dans la boîte Identification, saisissez votre nom d’utilisateur et votre mot de passe. • Le nom de l’utilisateur et le mot de passe vous sont attribués par votre superviseur. • Si vous voulez travailler en mode local, cochez la case correspondante. Pour plus d’informations sur les modes connecté et local, reportez-vous au paragraphe “Mode connecté/local”, page 42. 5. Le cas échéant, sélectionnez un référentiel. Si vous utilisez plus d’un référentiel, la boîte de dialogue Identification vous permet de sélectionner celui avec lequel vous voulez travailler. Si vous n’avez pas le choix, vous ne pouvez accéder qu’à un seul référentiel. 30 Manuel du designer Assistant de création d’univers 6. Cliquez sur le bouton OK. La fenêtre de bienvenue de l’assistant de création d’univers s’affiche. Remarque : Si vous ne souhaitez pas que l’assistant soit démarré à la prochaine session de DESIGNER, décochez la case Afficher cet assistant au démarrage. Par ailleurs, deux options relatives à l’affichage de l’assistant sont disponibles dans l’onglet Général de la boîte de dialogue Options : Afficher l’assistant de création d’univers et Fichier/Nouveau lance l’assistant de création d’univers (menu Outils, commande Options). Fenêtre de bienvenue La page de bienvenue de l’assistant présente les quatre étapes que vous devez parcourir pour créer un univers de base. Elle affiche également l’option Cochez cette case pour choisir des stratégies. Si vous cochez cette case, vous pouvez sélectionner des stratégies intégrées pour la création de votre univers ; dans le cas contraire, DESIGNER applique des stratégies par défaut. Dans chacune des boîtes de dialogue présentées ci-dessous, l’assistant vous invite à fournir les informations nécessaires à la bonne exécution de chaque étape. Pour passer d’une boîte de dialogue à l’autre, cliquez sur le bouton Suivant. Vous pouvez revenir sur la fenêtre précédente en cliquant sur le bouton Précédent. Vous pouvez quitter l’assistant à tout moment en cliquant sur le bouton Annuler. Cliquez sur le bouton Commencer pour débuter le processus de création. Manuel du designer 31 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Définition des paramètres de l’univers Au cours de cette étape, vous définissez les paramètres de l’univers, c’est-à-dire le nom de l’univers et une connexion à la base de données. Vous pouvez saisir un maximum de 35 caractères alphanumériques pour le nom de l’univers. Comme l’illustre la boîte de dialogue ci-dessus, vous pouvez, soit créer une connexion, soit sélectionner une connexion existante. Pour créer une connexion, cliquez sur le bouton Créer et renseignez les paramètres de connexion requis dans les boîtes de dialogues s’affichant à l’écran. Pour obtenir des instructions plus détaillées sur la création d’une connexion, reportez-vous au paragraphe “Définition d’une connexion à la base de données”, page 53. Pour vérifier si une connexion est valide, cliquez sur le bouton Tester. Le bouton Editer vous permet de modifier les paramètres de la connexion. Cliquez sur le bouton Suivant pour passer à l’étape suivante. 32 Manuel du designer Assistant de création d’univers Sélection de stratégies Si vous avez coché la case pour les stratégies sur la page de bienvenue, l’assistant vous invite à indiquer des stratégies pour la création d’objets, de jointures et de tables. Une stratégie est un script SQL qui lit des informations structurelles dans une base de données ou un fichier à plat. Ces informations sont associées à des tables, colonnes ou jointures. A partir d’une boîte à liste déroulante, vous pouvez sélectionner une stratégie autre que celle choisie par défaut, ou aucune. Au-dessous des boîtes à liste, figure une brève description des stratégies courantes. Vous pouvez créer, outre les stratégies par défaut fournies par DESIGNER, vos propres stratégies externes. Pour plus d’informations sur les stratégies, reportezvous au chapitre 4 de ce manuel intitulé “Création de stratégies externes”. Cliquez sur le bouton Suivant pour passer à l’étape suivante. Manuel du designer 33 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Création des classes et des objets par défaut L’assistant vous propose les tables et les colonnes provenant de la base de données spécifiée par les paramètres de votre connexion. Vous créez les classes et les objets par défaut en sélectionnant des tables et des colonnes dans le volet gauche et en les ajoutant aux classes et aux objets de l’univers dans le volet droit. Par défaut, le volet gauche affiche uniquement le nom des tables. Pour visualiser les colonnes de chaque table, cliquez sur le signe plus (+) qui se trouve en regard du nom de la table. Pour visualiser les valeurs de chaque table ou colonne, cliquez sur celle que vous souhaitez, puis cliquez sur le bouton Afficher les valeurs (des tables/des colonnes). Pour sélectionner une table, cliquez sur cette table, puis sur le bouton Ajouter. Pour sélectionner plusieurs tables contiguës, maintenez la touche [MAJ] enfoncée, cliquez sur la première table, puis sur la dernière. Toutes les tables comprises entre ces deux tables sélectionnées apparaîtront en inverse vidéo. Cliquez ensuite sur le bouton Ajouter. Pour sélectionner plusieurs tables qui ne se suivent pas, cliquez sur les tables que vous voulez sélectionner en maintenant la touche Ctrl enfoncée. Cliquez ensuite sur le bouton Ajouter. Vous pouvez également sélectionner des tables et les glisser-déposer du volet gauche vers le volet droit. Lorsque vous insérez une table, DESIGNER ajoute toutes les colonnes de cette table. 34 Manuel du designer Assistant de création d’univers Dans le volet droit, les noms des classes apparaissent à côté du symbole utilisé pour un dossier. Cliquez sur le signe plus (+) qui se trouve en regard du nom de la classe pour visualiser les objets. A présent, vous pouvez renommer une classe ou un objet en la/le sélectionnant et en saisissant ensuite un nouveau nom. Par défaut, un objet est qualifié en tant qu’objet de type dimension ce qui est indiqué par le symbole en forme de cube précédant le nom de l’objet. Pour supprimer une classe ou un objet, sélectionnez-la/le, puis cliquez sur le bouton Supprimer. Cliquez sur le bouton Suivant pour passer à l’étape suivante. Création des objets de type indicateur Un objet de type indicateur provient d’une fonction agrégat, telle que Nombre, Somme, Minimum ou Maximum. Ce type d’objet fournit des informations numériques. Vous trouverez des exemples d’indicateurs dans le volet droit de la boîte de dialogue ci-dessous : Si vous souhaitez visualiser les valeurs associées à un objet, cliquez sur ce dernier puis sur le bouton Afficher les valeurs. Pour créer un objet de type indicateur, sélectionnez l’objet approprié dans le volet gauche, puis cliquez sur le bouton agrégat de votre choix. Tout objet de type indicateur que vous créez peut être renommé. Manuel du designer 35 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Pour une meilleure organisation de l’univers, il est conseillé de regrouper les objets de type indicateur dans des classes. L’utilisateur final se sentira également plus à l’aise lorsqu’il sera amené à naviguer dans ces dossiers.For more information on measure objects, refer to the section, “Création d’une classe d’objets de type indicateur”, page 194. Quand vous cliquez sur le bouton Suivant, l’assistant lance la création de votre univers. Génération de l’univers L’assistant génère automatiquement votre nouvel univers en se fondant sur les paramètres que vous avez indiqués. Il affiche le nombre de classes, d’objets et de jointures qui ont été créés pour votre univers. La boîte de dialogue ci-dessus contient un message annonçant la présence de boucles dans les jointures de l’univers. Le DESIGNER vous permet de résoudre des boucles en utilisant des alias et des contextes ; les alias et les contextes sont présentés en détail dans le chapitre 6 du présent manuel. 36 Manuel du designer Assistant de création d’univers Lorsque vous cliquez sur le bouton Fin, le DESIGNER affiche les fenêtres Univers et Structure de votre nouvel univers. Fenêtre principale de Designer Fenêtre Univers Fenêtre Structure Univers créé à partir de l’assistant de création d’univers. Cet univers est identifié par le nom long “Analyse des ventes” et le nom de fichier Analyse.unv. Le nom long est affiché dans la barre de titre de la fenêtre. Le nom de fichier est affiché dans la barre de titre de la fenêtre principale Designer. Manuel du designer 37 Chapitre 2 Prise en main à l’aide de l’assistant de création d’univers Fin d’une session de travail Dans le menu Fichier, sélectionnez la commande Enregistrer sous pour enregistrer l’univers ; sinon, sélectionnez la commande Fermer. Lorsque vous enregistrez l’univers, DESIGNER vous invite à saisir un nom de fichier. Un nom de fichier univers peut contenir jusqu’à huit caractères et porte l’extension .unv. Par défaut, DESIGNER stocke ces fichiers dans le sous-dossier Universe du dossier BUSINESSOBJECTS 5.1. Remarque : Il est recommandé de ne pas enregistrer deux univers différents sous le même nom de fichier mais dans une casse différente, par exemple “Ventes” et “ventes”. En effet, des conflits risquent de survenir lors de l’exportation de ces univers dans le référentiel. Pour fermer DESIGNER, sélectionnez la commande Quitter. Et maintenant ? Une fois la création de votre univers de base terminée, vous souhaitez peut-être modifier des jointures et résoudre des boucles éventuelles dans les jointures en utilisant des alias ou des contextes. A l’aide des diverses fonctionnalités du DESIGNER, vous pouvez en outre peaufiner votre univers en intégrant des éléments plus complexes. Le chapitre suivant fournit des instructions détaillées concernant la création à partir de zéro, de la structure de la base de données de l’univers. 38 Manuel du designer Chapitre 3 Sélection et affichage des tables et des colonnes ................................................................................. Dans ce chapitre ❑ Généralités 41 ❑ Lancement d’une session Designer 41 Mode connecté/local 42 Lancement d’une session via la commande Exécuter 43 Ouverture d’un univers existant 45 Fin d’une session Designer 45 ❑ Interface du Designer 46 Eléments principaux de l’interface 46 Comment effectuer une opération dans Designer ? 50 Annuler une action 51 Manuel du designer 39 Chapitre 3 Sélection et affichage des tables et des colonnes ❑ Saisie de paramètres d’univers 52 Définition d’un univers 53 Définition d’une connexion à la base de données 53 Résumé des informations d’un univers 58 Spécification d’options de base de données 59 Spécification de restrictions pour les ressources système 62 Spécification de restrictions pour les requêtes 64 Onglet Liaisons 65 ❑ Sélection des tables et des colonnes 66 Sélection de tables dans la liste 67 ❑ Organisation des tables et des colonnes 70 Affichage des tables 70 Affichage des colonnes dans une table 72 Options graphiques 75 Affichage des valeurs des tables et des colonnes 78 Affichage du nombre de lignes dans les tables de base de données 81 40 Manuel du designer Généralités Généralités Ce chapitre vous donne les informations nécessaires à la création de la structure de l’univers reposant sur la structure de la base de données interrogée. Il présente ainsi une alternative à l’assistant de création d’univers décrit dans le chapitre 2. Ce chapitre vous explique comment sélectionner les tables et les colonnes initiales qui forment les classes et les objets de l’univers. De plus, il décrit les fonctionnalités d’organisation et de visualisation des tables et des colonnes. Grâce à la convivialité de l’interface graphique de DESIGNER, il est facile de créer et d’organiser un univers de travail en peu de temps. A partir du modèle de base d’un univers, vous pouvez ensuite affiner les classes et les objets de façon à obtenir le degré de complexité requis. Lancement d’une session Designer Pour lancer une session DESIGNER : 1. Cliquez sur le bouton Démarrer de la barre des tâches de Windows 95. Designer 2. Sélectionnez le menu Programmes. 3. Sélectionnez le programme DESIGNER à partir de la commande BusinessObjects. • Vous pouvez également lancer le DESIGNER en utilisant la commande Exécuter du bouton Démarrer. Pour plus d’informations, reportez-vous au paragraphe “Lancement d’une session via la commande Exécuter”, page 43. • La boîte de dialogue Identification s’affiche. Manuel du designer 41 Chapitre 3 Sélection et affichage des tables et des colonnes 4. Dans la boîte Identification, saisissez votre nom d’utilisateur et votre mot de passe. • Le nom de l’utilisateur et le mot de passe vous sont attribués par votre superviseur. • Si vous voulez travailler en mode local, cochez la case correspondante. Les modes connecté et local sont expliqués à la page 42. 5. Le cas échéant, sélectionnez un référentiel. Si vous utilisez plus d’un référentiel, la boîte de dialogue Identification vous permet de sélectionner celui avec lequel vous voulez travailler. Si vous n’avez pas le choix, vous ne pouvez accéder qu’à un seul référentiel. 6. Cliquez sur le bouton OK. La fenêtre de bienvenue de l’assistant de création d’univers s’affiche. Remarque : Si vous ne souhaitez pas que l’assistant soit démarré à la prochaine session de DESIGNER, décochez la case Afficher cet assistant au démarrage. Par ailleurs, deux options relatives à l’affichage de l’assistant sont disponibles dans l’onglet Général de la boîte de dialogue Options : Afficher l’assistant de création d’univers et Fichier/Nouveau lance l’assistant de création d’univers (menu Outils, commande Options). Mode connecté/local Les modes connecté et local sont des options possibles lorsque vous travaillez en mode entreprise, c’est-à-dire dans un environnement avec un référentiel. Pour plus d’informations sur ce mode entreprise, reportez-vous à la section “Mode entreprise et mode travail en groupe”, page 243. Créé par un superviseur général et stocké centralement sur une base de données, un référentiel permet de partager des ressources pour des produitsBUSINESSOBJECTS ; il est composé des domaines suivants : • Le domaine sécurité, • Le domaine univers, • Le domaine document. Un domaine univers reçoit toutes les méta-données des univers que vous exportez. Le référentiel peut abriter plusieurs domaines univers. Un domaine document reçoit tous les documents, modèles, scripts et listes de valeurs exportés. 42 Manuel du designer Lancement d’une session Designer Pour vous assurer que le superviseur général a bien créé un référentiel, vérifiez que le sous- dossier LocData du dossierBUSINESSOBJECTS contient un fichier .key. Ce fichier contient l’adresse du référentiel sous forme cryptée. Spécification d’un mode Lors du lancement d’une session Designer, vous pouvez spécifier dans une case à cocher de la boîte de dialogue Identification si vous voulez travailler en mode local ou non. Selon le mode choisi, vous pouvez travailler avec des univers partageables ou personnels. Ce mode détermine également la façon dont ces univers peuvent être distribués. Mode connecté Le mode connecté est le mode par défaut. Il est adapté à un environnement en réseau dans lequel le superviseur général a créé un référentiel. Dans ce mode, vous pouvez importer ou exporter des univers. Mode local Si vous travaillez en mode local, cela implique que vous travaillez avec des univers stockés en local sur votre poste. Pour utiliser ce mode, vous devez vous être connecté au moins une fois en mode connecté. Ce mode s’avère utile lorsque vous avez besoin de travailler dans un endroit autre que votre site. Cette situation arrive, par exemple, lorsque vous utilisez un ordinateur portable ou si le réseau est indisponible. Lancement d’une session via la commande Exécuter Pour lancer une session DESIGNER au moyen de la commande Exécuter, procédez comme suit : 1. A partir de la barre des tâches de Windows, cliquez sur le bouton Démarrer, puis sélectionner la commande Exécuter. La boîte de dialogue Exécuter s’affiche. 2. Dans le champ Ouvrir, utilisez le bouton Parcourir pour localiser le fichier exécutable de DESIGNER dans le dossier BusinessObjects. L’exécutable de DESIGNER est appelé Designer.exe. 3. Cliquez sur OK. La boîte de dialogue Identification s’affiche. Manuel du designer 43 Chapitre 3 Sélection et affichage des tables et des colonnes Options de la commande Exécuter Pour lancer une session via la commande Exécuter, servez-vous, en fonction de vos besoins, des options présentées dans le tableau ci-dessous : Option Description -user Nom d’utilisateur qui vous a été attribué par votre superviseur. -pass Mot de passe qui vous a été attribué par votre superviseur (celui-ci doit être renseigné obligatoirement après avoir saisi le nom d’utilisateur.) -online or -offline Modes de connexion : connecté ou local (optionnel). Par défaut, le dernier mode de connexion de l’utilisateur spécifié, ou le mode connecté si vous vous connectez pour la première fois. -universe Nom ou chemin de l’univers que vous souhaitez ouvrir (optionnel). -nologo Pour exécuter DESIGNER sans afficher l’écran avec le logo. -keyfile Nom du fichier .key du référentiel avec lequel vous souhaitez travailler, lorsque vous utilisez plus d’un référentiel. Toutes les options doivent être saisies en minuscules précédées d’un signe moins (-). A la suite de chacune de ces options, vous devez également indiquer la valeur correspondant à l’option. Exemple Lancement de Designer à l’aide de la commande Exécuter ........................................................... Vous voulez, par exemple, lancer une session en automatisant la saisie du nom d’utilisateur (Jean) et de son mot de passe (pastis). Vous souhaitez travailler avec un référentiel spécifique (Marseille). La syntaxe serait la suivante : C:\Program Files\Business Objects\BusinessObjects 5.0\Designer.exe -user Jean -pass pastis -keyfile marseille Ultérieurement, la fenêtre principale de DESIGNER s’affichera immédiatement, chaque fois que vous utilisez la commande Exécuter. En d’autres termes, la boîte d’identification ne s’affiche pas. L’utilisation de la commande Exécuter vous permet de gagner du temps lors du démarrage du DESIGNER. 44 Manuel du designer Lancement d’une session Designer Ouverture d’un univers existant Vous pouvez ouvrir un univers existant, qu’il soit stocké en local sur votre poste, ou n’importe où sur le serveur de fichiers, en sélectionnant la commande Ouvrir du menu Fichier. Il est également possible d’ouvrir un fichier d’univers en cliquant sur le bouton Ouvrir de la barre d’outils standard. Ouvrir Fin d’une session Designer Avant de quitter une session DESIGNER, il est conseillé de fermer tous les univers actifs. Pour ce faire, sélectionnez la commande Fermer du menu Fichier pour chaque univers actif. Au cours de la fermeture d’un univers, vous êtes invité à sauvegarder cet univers. Pour plus d’informations sur la sauvegarde des univers, reportez-vous à la section “Spécification des options d’enregistrement par défaut”, page 244. Quand tous les univers sont fermés, sélectionnez la commande Quitter du menu Fichier pour sortir du DESIGNER. Manuel du designer 45 Chapitre 3 Sélection et affichage des tables et des colonnes Interface du Designer L’interface du DESIGNER est conforme aux normes de Microsoft Windows. Comme toutes les applications de Windows, elle est dotée de menus, de barres d’outils, de raccourcis clavier et d’une aide en ligne. Eléments principaux de l’interface Vous créez votre univers à partir de la fenêtre principale du DESIGNER et vous utilisez les trois fenêtres suivantes : • La liste de tables, • La fenêtre Structure, • La fenêtre Univers. Lorsque vous choisissez des tables et des colonnes dans la Liste de tables, le DESIGNER les affiche dans la fenêtre Structure, mais aussi dans la fenêtre Univers. La fenêtre Structure reflète la structure de l’univers qui est fondée sur la base de données interrogée. La fenêtre Univers affiche les éléments de l’univers, tels qu’ils sont perçus par les utilisateurs de BUSINESSOBJECTS ou de WEBINTELLIGENCE, c’est-à-dire sous forme de classes et d’objets. 46 Manuel du designer Interface du Designer Les éléments principaux de l’interface sont illustrés ci-dessous : Menus Barre d’outils standard Barre d’outils d’édition Fenêtre Univers Fenêtre Structure Fenêtre réduite Barre d’état Liste de tables Statut de la connexion Manipulation des fenêtres Au cours d’une session de travail, vous pouvez travailler sur plusieurs univers à la fois. DESIGNER affiche chaque univers dans une seule fenêtre, par le biais d’une fenêtre Structure et d’une fenêtre Univers. Au bas du menu Fichier, vous pouvez effectivement visualiser les noms des derniers univers utilisés. Si vous sélectionnez un de ces univers, vous l’ouvrez automatiquement. Dans l’onglet Général de la boîte Options accessible par la commande Options du menu Outils, vous pouvez déterminer le nombre des fichiers d’univers affichés dans le menu Fichier (option Derniers fichiers). Toute fenêtre affichée au sein de la fenêtre principale du DESIGNER peut être déplacée, redimensionnée et réduire sous forme d’icône. En outre, le sous-menu Réorganiser du menu Fenêtre vous permet de positionner ces fenêtres à votre gré. Ce sous-menu présente les commandes suivantes : Cascade, Mosaïque horizontale et Mosaïque verticale. Manuel du designer 47 Chapitre 3 Sélection et affichage des tables et des colonnes Au moyen de la commande Réorganiser les icônes du menu Fenêtre, vous pouvez aligner toutes les fenêtres icônisées contenues dans la fenêtre principale du DESIGNER. La commande Fractionner du menu Fenêtre vous permet de diviser la fenêtre Structure en deux volets. Grâce à cette commande, vous pouvez travailler en même temps sur deux vues différentes d’une même structure d’univers. En effet, il est possible de créer, à la fois une vue détaillée et une vue globale de la structure de l’univers : Cliquez sur le rectangle situé au-dessus de la barre de défilement revient à sélectionner la commande Fractionner. Division de la fenêtre Structure en deux volets (zoom arrière sur la fenêtre inférieure). 48 Manuel du designer Interface du Designer Barres d’outils DESIGNER compte deux barres d’outils : la barre d’outils Standard et la barre d’outils d’édition. Par défaut, elles sont affichées dans la partie supérieure de la fenêtre principale de DESIGNER, comme le montre l’illustration ci-dessous : Pour transformer la barre d’outils Standard en fenêtre, cliquez ici, puis glissez-la vers l’emplacement de votre choix. Barre d’outils Standard Barre d’outils Edition Pour transformer la barre d’outils d’édition en fenêtre, cliquez ici, puis glissez-la vers l’emplacement de votre choix. En fonction de la fenêtre affichée - fenêtre Univers ou fenêtre Structure - certains boutons des deux barres d’outils sont actifs, d’autres non. Les boutons non disponibles sont grisés. Les barres d’outils peuvent être transformées en fenêtres que vous pouvez déplacer vers n’importe quel endroit de l’écran. Pour ce faire : 1. Cliquez n’importe où dans le rectangle contenant la barre d’outils, en faisant attention, bien sûr, de ne pas activer un bouton. Reportez-vous également à l’illustration ci-dessus. 2. Tout en maintenant le bouton gauche de la souris appuyé, déplacez la barre d’outils vers l’emplacement de votre choix. 3. Relâchez le bouton de la souris. La barre d’outils s’affiche sous forme d’une fenêtre. Barre d’outils Standard sous forme de fenêtre Manuel du designer 49 Chapitre 3 Sélection et affichage des tables et des colonnes Pour afficher ou masquer une barre d’outils, sélectionnez la commande Barres d’outils du menu Affichage. Cochez ensuite les cases de votre choix. Les options proposées au bas de la boîte de dialogue Barres d’outils vous permettent de paramétrer l’affichage des boutons de barres d’outils et de décider si vous voulez afficher des info-bulles et des raccourcis clavier. Comment effectuer une opération dans Designer ? Pour effectuer une opération dans DESIGNER, vous avez les choix suivants : • Sélection d’une commande dans un menu, • Utilisation de raccourcis clavier (avec la touche Alt), • Utilisation du clic simple sur un bouton de barre d’outils. • Utilisation du double clic sur une condition prédéfinie dans la fenêtre Univers. La boîte de dialogue Editer les propriétés s’affiche alors. La plupart du temps, vous pouvez effectuer une même action de différentes manières. Dans DESIGNER, le fonctionnement des boutons de la souris est le suivant : Un simple clic avec le bouton gauche de la souris permet : • d’effectuer une opération standard (sélectionner une commande ou cliquer sur un bouton) ; • de sélectionner un élément dans la fenêtre Univers, dans la fenêtre Structure et dans la liste de tables. 50 Manuel du designer Interface du Designer Un double clic avec le bouton gauche de la souris est utilisé dans les cas suivants : • Sur une table de la fenêtre Structure : permet de modifier l’affichage de la table. La table et ses colonnes peuvent s’afficher en trois modes différents. Pour plus d’informations à ce sujet, reportez-vous à la section “Affichage des colonnes dans une table”, page 72. • Sur une jointure : affiche la boîte de dialogue Editer une jointure qui vous permet de modifier les caractéristiques d’une jointure, • Sur une classe dans la fenêtre Univers : ouvre la boîte de dialogue Editer les propriétés, qui sert à modifier une classe, • Sur un objet dans la fenêtre Univers : affiche la boîte de dialogue Editer les propriétés, qui sert à modifier un objet. Si vous sélectionnez un ou plusieurs éléments au sein de la fenêtre DESIGNER et si vous effectuez un simple-clic avec le bouton droit de la souris, un menu contextuel s’affiche. Il contient des commandes relatives aux éléments que vous avez sélectionnés. Le bouton droit de la souris représente une autre méthode de sélection rapide des commandes les plus souvent utilisées, qui sont autrement appelées via les menus et les barres d’outils. Annuler une action Annuler Pour annuler une action que vous venez d’effectuer, sélectionnez la commande Annuler du menu Edition. Celle-ci inverse la dernière opération effectuée. Vous pouvez également cliquer sur le bouton Annuler de la barre d’outils Standard. Manuel du designer 51 Chapitre 3 Sélection et affichage des tables et des colonnes Saisie de paramètres d’univers La première étape au cours de la création d’un univers consiste à renseigner les paramètres de celui-ci. Ces paramètres comprennent la définition de l’univers, elle-même composée : • du nom de l’univers, • de la description de l’univers, • de la connexion au SGBDR. Nouveau Pour renseigner les paramètres de l’univers, sélectionnez la commande Nouveau du menu Fichier dans la fenêtre DESIGNER ou cliquez sur le bouton Nouveau de la barre d’outils Standard : la boîte de dialogue Paramètres de l’univers s’ouvre alors. La boîte de dialogue Paramètres de l’univers comporte six onglets : Définition, Résumé, Stratégies, Restrictions, SQL et Liaisons. Dans l’onglet Définition illustré ci-dessous, vous donnez un nom à votre univers et définissez une connexion à la base de données. 52 Manuel du designer Saisie de paramètres d’univers Définition d’un univers Nom de l’univers Saisissez un nom d’univers dans le champ Nom. Ce nom long peut contenir un maximum de 35 caractères alphanumériques. L’utilisateur final se sert de ce nom pour identifier l’univers dans l’assistant de création de rapports de BUSINESSOBJECTS et de WEBINTELLIGENCE. Les caractères autorisés dans le référentiel sont définis par le superviseur général. Tout caractère, y compris le symbole Euro, peut être autorisé sauf s’il n’est pas reconnu par votre base de données. Si vous voulez utiliser un caractère non reconnu, contactez votre superviseur général. Description de l’univers Indiquez le sujet général de l’univers dans le champ Description, et si possible, décrivez également le contenu de l’univers. Même s’il n’est pas obligatoire de renseigner ce champ, rappelez-vous que l’utilisateur final peut visualiser son contenu lorsqu’il sélectionne l’univers. Dans le but de guider l’utilisateur, il est donc conseillé de fournir une description pertinente de l’univers. Modification d’une définition d’univers Lorsque vous commencez à utiliser un univers, vous pouvez toujours modifier son nom, sa description ou sa connexion à la base de données. Paramètres de l’univers Pour ce faire, vous devez retourner dans la boîte de dialogue Paramètres de l’univers. Sélectionnez la commande Paramètres du menu Fichier ou cliquez sur le bouton Paramètres de la barre d’outils Standard. Définition d’une connexion à la base de données Une connexion est un ensemble de paramètres fournissant l’accès à une base de données. Elle comporte trois éléments : • la couche réseau, • le nom et le type de la connexion, • l’emplacement de la base de données et le nom du compte. Le DESIGNER propose trois types de connexion différents : Sécurisé, Partagé et Personnel. Manuel du designer 53 Chapitre 3 Sélection et affichage des tables et des colonnes Connexions sécurisées Une connexion sécurisée est utilisée pour centraliser et pour contrôler l’accès aux données confidentielles et sensibles. Elle représente le type de connexion le plus sûr en termes de sécurité d’accès aux données. Les connexions sécurisées peuvent être créées avec le DESIGNER ou avec le SUPERVISOR, et sont stockées dans le domaine sécurité du référentiel. N’importe quel designer ou superviseur peut faire partager ces connexions à condition de disposer des privilèges appropriés. En tant que designer, vous devez utiliser ce type de connexion pour exporter un univers vers le référentiel Business Objects. De plus, vous pouvez réutiliser ces connexions et les mettre à jour dynamiquement. Connexions partagées Une connexion partagée est utilisée pour accéder aux ressources communes telles que les univers ou les documents. Elle peut donc être utilisée par plusieurs utilisateurs. Par défaut, les paramètres de ce type de connexion sont stockés dans un fichier appelé sdac.lsi ou sdac.ssi, situé dans le sous-dossier LocData. Vous pouvez mettre ces paramètres à jour dynamiquement. Les univers définis avec des connexions partagées ne sont pas sûrs (en termes de sécurité de produit Business Objects). Pour protéger ce type d’univers, vous pouvez les stocker dans des dossiers réseau à accès restreint. Toutefois, cela ne garantit pas une sécurité maximale puisque tout utilisateur non autorisé ayant installé un produit Business Objects sur son ordinateur peut ouvrir les univers ; en effet, le fichier de connexion placé dans ce dossier peut éventuellement être lu par le produit installé. Astuce : Une connexion partagée présente un intérêt lorsque vous devez configurer un environnement de test pour les univers avant de les distribuer à l’ensemble des utilisateurs. 54 Manuel du designer Saisie de paramètres d’univers Connexions personnelles Une connexion personnelle est spécifique d’un utilisateur et ne peut être utilisée qu’à partir de l’ordinateur sur lequel elle a été créée. Vous devez la définir soit à partir de BUSINESSOBJECTS, soit à partir du DESIGNER. Les paramètres de cette connexion sont stockés dans les fichiers pdac.lsi et pdac.ssi, situés dans le dossier LocData. Vous ne pouvez pas mettre à jour ces paramètres statiques. En termes de sécurité de produit Business Objects, une connexion personnelle ne protège pas l’univers contre un accès non autorisé. Toute personne se connectant à l’ordinateur d’un utilisateur quelconque peut accéder à des univers restreints définis avec des connexions personnelles. Toutefois, si un utilisateur non autorisé copie ces univers sur une autre machine, il ne pourra pas les ouvrir car les paramètres de connexion ne sont pas définis sur ce poste. Quand utiliser les connexions personnelles ? Rarement étant donné leur manque de souplesse dans le cadre du processus de distribution. Vous pouvez les utiliser occasionnellement pour accéder à des bases de données personnelles sur des postes locaux. Cependant, elles sont couramment utilisées pour accéder à des comptes de bases de données en vue de tester une portion de SQL via l’option SQL à la carte de BUSINESSOBJECTS. Informations générales sur les connexions Les trois types de connexion peuvent être modifiés à partir du DESIGNER. Les connexions personnelles et partagées peuvent être modifiées à partir de BUSINESSOBJECTS. Seules les connexions sécurisées peuvent être modifiées à partir du SUPERVISOR. Toutes les connexions que vous créez au cours d’une session de travail sont automatiquement stockées par le DESIGNER. Ces connexions seront donc à votre disposition lorsque vous lancerez votre prochaine session de travail. En outre, toutes les références aux connexions sont stockées dans des documents et dans des fichiers d’univers. Définitions : Une connexion sécurisée est utilisée pour centraliser et pour contrôler l’accès aux données confidentielles et partagées. Une connexion partagée est utilisée pour accéder aux données partagées. Une connexion personnelle est propre à un utilisateur. Manuel du designer 55 Chapitre 3 Sélection et affichage des tables et des colonnes Création d’une connexion pour la première fois Les paramètres affichés lorsque vous créez des connexions dépendent du SGBDR installé sur votre site. Avant de commencer, vous pouvez choisir de consulter votre administrateur système concernant l’installation des produits nécessaires. Pour en savoir plus sur les paramètres avancés, vous pouvez vous reporter au manuel d’accès à la base de données installée sur votre site. Pour créer une connexion pour la première fois : 1. Dans la boîte de dialogue Paramètres de l’univers, cliquez sur le bouton Nouveau de l’onglet Définition. La boîte de dialogue Ajouter une connexion s’affiche. 2. Dans la boîte de dialogue, sélectionnez le nom du driver réseau que vous voulez utiliser, puis cliquez sur OK. Une boîte de dialogue s’affiche. Elle contient deux onglets : Identification et Propriétés étendues. Les paramètres affichés dans chacun des onglets varient selon le driver réseau sélectionné. 3. Dans l’onglet Identification de la boîte de dialogue, effectuez les opérations suivantes : • Saisissez un nom pour la connexion (35 caractères maximum). • Sélectionnez un moteur SGBDR. • A partir de la boîte à liste, sélectionnez un des trois types de connexion suivants : Sécurisée, Partagée ou Personnelle. • Renseignez tous les paramètres restants qui sont propres à votre SGBDR. 4. Vérifiez votre connexion en cliquant sur le bouton Tester. Si la connexion est valide, DESIGNER affiche un message indiquant que la connexion a réussi. Si ce message vous informe que la connexion a échoué, vérifiez que vous avez renseigné tous les paramètres correctement. Si le message d’erreur persiste, reportez-vous au paragraphe concernant les messages d’erreur de la documentation de votre SGBDR. 5. Cliquez sur OK. La boîte de dialogue Paramètres de l’univers réapparaît. Elle affiche la connexion que vous venez de créer. Attention : Il est recommandé d’éviter la création de deux connexions sécurisées différentes de même nom mais de casse différente, par exemple “Statut” et “statut.” En effet, cela risque de produire des conflits dans le référentiel. 56 Manuel du designer Saisie de paramètres d’univers Modification et suppression d’une connexion Toutes les connexions disponibles peuvent être visualisées dans la boîte de dialogue Connexions. Sélectionnez la commande Connexions de menu Outils pour afficher cette boîte de dialogue. Vous ne pouvez modifier ou supprimer une connexion sécurisée que si vous travaillez en mode connecté. Pour supprimer une connexion, sélectionnez la connexion concernée, puis cliquez sur le bouton Supprimer. Pour modifier une connexion, sélectionnez la connexion concernée, puis cliquez sur le bouton Editer. Dans la boîte de dialogue, modifiez les paramètres de la connexion. Notez que vous ne pouvez pas modifier une connexion existante. Au moyen du bouton Ajouter, vous pouvez créer une nouvelle connexion. Cliquez sur ce bouton et suivez les instructions figurant plus haut dans le texte. Pour quitter la boîte de dialogue, cliquez sur OK. Rappel : N’oubliez jamais de tester une connexion que vous venez de créer ou de modifier. Manuel du designer 57 Chapitre 3 Sélection et affichage des tables et des colonnes Résumé des informations d’un univers Au moyen de l’onglet Résumé de la boîte de dialogue Paramètres de l’univers, DESIGNER vous permet de garder une trace de l’évolution de l’univers actif. Vous obtenez des informations concernant l’auteur de l’univers, la date de création et de la dernière modification de celui-ci, etc. De plus, l’onglet vous fournit un numéro de révision indiquant combien de fois l’univers a été exporté vers le référentiel. La zone Commentaires peut recevoir du texte destiné à vous rappeler des détails importants sur l’univers, ou pour fournir ces détails à un autre designer. Enfin, la zone Statistiques affiche le nombre de classes, d’objets, de tables, d’alias, de jointures, de contextes et de hiérarchies contenus dans l’univers. 58 Manuel du designer Saisie de paramètres d’univers Spécification d’options de base de données Avant de sélectionner les tables et les colonnes dans la liste de tables, vous devez spécifier les options de base de données que vous voulez utiliser pour créer votre univers. Ces options sont relatives aux stratégies ainsi qu’au nombre maximum de lignes à extraire des tables de la base de données. Spécification de stratégies Une stratégie est un script qui extrait automatiquement des informations structurelles d’une base de données ou d’un fichier à plat. DESIGNER fournit un certain nombre de stratégies intégrées : pour extraire des jointures, pour détecter des cardinalités, et pour créer des classes et des objets. Vous pouvez également créer vos propres stratégies externes, comme indiqué au chapitre 4, "Création de stratégies externes". Stratégies intégrées Les options qui permettent de déterminer les stratégies intégrées se trouvent dans l’onglet Base données de la boîte de dialogue Options. Pour accéder à cette boîte, sélectionnez la commande Options du menu Outils. Manuel du designer 59 Chapitre 3 Sélection et affichage des tables et des colonnes Option Description Extraire les jointures avec les tables Récupère des tables avec les jointures qui les relient selon une stratégie de jointure. Par défaut, cette option n’est pas cochée. Même si elle reste désactivée, vous pouvez détecter ces jointures ultérieurement, ou les créer manuellement. Détecter les cardinalités dans les jointures Détecte les cardinalités inhérentes aux jointures. Par défaut, cette option n’est pas cochée. Même si elle reste désactivée, vous pouvez procéder à la détection des cardinalités à partir de la boîte de dialogue Editer la jointure, ou en sélectionnant la commande Détecter les cardinalités du menu Outils. Créer les classes et les objets par défaut à partir des tables Génère des classes et des objets par défaut dans la fenêtre Univers lorsque vous insérez des tables dans la fenêtre Structure. Par défaut, cette option n’est pas cochée. Même si elle reste désactivée, vous pouvez glisser-déposer les tables et les colonnes de la fenêtre Structure vers la fenêtre Univers. 60 Manuel du designer Saisie de paramètres d’univers Stratégies intégrées et externes Si vous sélectionnez une ou plusieurs options, le DESIGNER utilise les stratégies correspondantes dans l’onglet Stratégies de la boîte de dialogue Paramètres de l’univers. Option Description Objets Sélectionnez une stratégie d’objet dans la boîte à liste. La stratégie intégrée crée des classes, qu’elle nomme en fonction des tables de la base de données, ainsi que des objets, qu’elle nomme en fonction des colonnes de la base de données. Tous les traits de soulignement (_) sont remplacés par des espaces. Jointures Sélectionnez une stratégie de jointurej dans la boîte à liste déroulante. La description de la stratégie courante est fournie au-dessous du nom de la stratégie. Tables Dans la boîte à liste, sélectionnez une stratégie de table. La stratégie intégrée lit la structure des tables de base de données. Pour en savoir plus sur la configuration des stratégies externes, reportez-vous au chapitre 4, “Création de stratégies externes”. Définition du nombre de lignes à rapatrier Vous pouvez indiquer le nombre maximal de lignes à extraire de chaque table de la base de données. Entrez la valeur voulue dans le champ prévu à cet effet, dans l’option Nombre maximum de lignes retournées. Vous pouvez également utiliser les boutons de gradation pour augmenter ou réduire la valeur par défaut (100). Manuel du designer 61 Chapitre 3 Sélection et affichage des tables et des colonnes Spécification de restrictions pour les ressources système Le DESIGNER propose des options qui vous permettent de contrôler l’utilisation des ressources système. Ces options se trouvent dans l’onglet Restrictions de la boîte de dialogue Paramètres de l’univers. Ainsi, vous pouvez limiter : • Le nombre de lignes retournées par la base de données ; • Le temps d’exécution de la requête au nombre de minutes que vous indiquez dans le champ correspondant ; • La taille maximale des objets de type long au nombre de caractères que vous indiquez dans le champ correspondant. De plus, vous pouvez paramétrer l’affichage d’un message d’erreur qui vous avertit si le temps estimé d’exécution de la requête dépasse le nombre de minutes que vous avez indiqué. Cette option n’est disponible que si votre SGBDR gère la fonctionnalité du "cost estimate" (temps estimé d’exécution de la requête). En cliquant sur le bouton d’aide, vous pouvez obtenir des informations spécifiques sur le SGBDR et la fonctionnalité concernés. Pour définir une restriction, cochez d’abord la case correspondante, puis saisissez une valeur dans la zone de texte. Pour augmenter ou diminuer la valeur par défaut, vous pouvez également utiliser les boutons de gradation. 62 Manuel du designer Saisie de paramètres d’univers Limitation de la durée d’exécution pour les requêtes générant plus d’une instruction SQLt Lorsque vous limitez la durée d’exécution d’une requête, il est probable que vous choisissiez le paramètre en fonction de la durée d’exécution normale de la requête. Toutefois, ceci peut provoquer des problèmes si la requête génère plus d’une instruction SQL. La raison est que lorsque la durée d’exécution d’une requête générant plus d’une instruction SQL est limitée, chaque instruction dispose d’une durée d’exécution égale à la durée totale d’exécution de la requête divisée par le nombre d’instructions. Chaque instruction de la requête dispose donc de la même durée d’exécution. Si, par exemple, l’exécution d’une de ces instructions se fait sur la durée totale d’exécution de la requête, elle n’effectuera probablement pas sa tâche, car sa durée d’exécution ne correspondra pas à son rôle préponderant dans la requête. Si vous voulez limiter la durée d’exécution time d’une requête générant plusieurs instructions SQL, vous devez prendre en compte non pas la durée totale d’exécution de la requête, mais la durée d’exécution normale de l’instruction la plus longue à s’exécuter. Manuel du designer 63 Chapitre 3 Sélection et affichage des tables et des colonnes Spécification de restrictions pour les requêtes Vous pouvez définir des restrictions pour des requêtes que les utilisateurs finals créent à partir de l’éditeur de requête. Utilisez pour ce faire les options de l’onglet SQL. Les options de la zone Requête sont décrites dans le tableau ci-dessous : Option Description Permet l’utilisation des sous-requêtes Autorise les utilisateurs finals à définir des sousrequêtes à partir de l’éditeur de requête. Permet l’utilisation des opérateurs union, intersect et minus Autorise les utilisateurs finals à relier des requêtes en utilisant des opérateurs ensemblistes (union, intersect et minus) de façon à obtenir une seule colonne de résultat. Permet l’utilisation des opérateurs complexes Autorise les utilisateurs finals à utiliser des opérateurs complexes dans leurs requêtes. 64 Manuel du designer Saisie de paramètres d’univers Les options de la zone Chemins multiples sont expliquées dans le tableau suivant : Option Description Ordres SQL multiples pour chaque contexte Permet aux utilisateurs finals de créer des requêtes qui contiennent plusieurs ordres SQL pour un contexte. Ordres SQL multiples pour chaque indicateur Fractionne l’ordre SQL en plusieurs ordres lorsqu’une requête inclut des objets de type indicateur provenant de colonnes de tables différentes. . Si les objets de type indicateur sont basés sur des colonnes d’une même table, le SQL n’est pas divisé (même si cette case est cochée). Permet la sélection des contextes multiples Permet aux utilisateurs finals de créer des requêtes avec des objets provenant de différents contextes et de ne générer qu'un groupe de données à partir de ces contextes multiples sélectionnés. Remarque : Les contextes sont traités dans le chapitre 6 du présent manuel. Enfin, vous pouvez spécifier comment DESIGNER doit gérer un produit cartésien. Un produit cartésien survient si une requête contient deux tables ou plus qui ne sont pas reliées par une jointure. Lorsque vous exécutez une telle requête, les données rapatriées correspondent à toutes les combinaisons possibles entre chaque ligne de chaque table. Les résultats sont par conséquent imprécis. Si vous activez la case d’option Interdire, DESIGNER n’exécutera aucune requête qui résulterait dans un produit cartésien. Si vous activez la case d’option Avertir, les utilisateurs finals sont informés au moyen d’un message si la requête génère un produit cartésien. Onglet Liaisons L’onglet Liaisons est utilisé lors de la création d’univers liés dynamiquement ; ces univers sont traités à la section“Travail avec des univers liés”, page 262. Manuel du designer 65 Chapitre 3 Sélection et affichage des tables et des colonnes Sélection des tables et des colonnes Vous créez les classes et les objets initiaux de votre univers en les sélectionnant à partir des tables et des colonnes de la liste de tables, puis en les insérant dans la fenêtre Structure. Rappel : Avant de sélectionner des tables, vous devez indiquer les stratégies que vous voulez utiliser au cours de la création de votre univers. Pour plus d’informations sur les stratégies, reportez-vous à la section “Spécification de stratégies”, page 59. Insérer des tables Pour afficher la Liste de tables, sélectionnez la commande Tables du menu Insertion ou cliquez sur le bouton Insérer des tables dans la barre d’outils d’édition. La liste de tables s’affiche au sein d’une fenêtre. Cliquez sur ce bouton pour afficher une ou plusieurs tables Cliquez sur ce bouton pour rafraîchir l’affichage les tables Tables Liste de tables La liste des tables et des colonnes proposée varie en fonction de la connexion à la base de données. 66 Manuel du designer Sélection des tables et des colonnes Sélection de tables dans la liste Pour sélectionner une table, cliquez sur son nom, puis sur le bouton Insérer. Pour sélectionner plusieurs tables contiguës, maintenez la touche [MAJ] enfoncée, cliquez sur la première table, puis sur la dernière. Toutes les tables se trouvant entre ces deux tables sélectionnées apparaîtront en inverse vidéo. Cliquez ensuite sur le bouton Insérer. Pour sélectionner plusieurs tables qui ne se suivent pas, cliquez sur les tables que vous voulez sélectionner en maintenant la touche Ctrl enfoncée. Cliquez ensuite sur le bouton Insérer. Vous pouvez également sélectionner des tables en les glissant-déposant de la Liste de tables vers la fenêtre Structure. Lorsque vous insérez une table, DESIGNER ajoute toutes les colonnes de cette table. Dans la liste de tables, toute table insérée dans l’univers s’affiche signalée par une coche (✓) en regard de son nom. Astuce : Pour visualiser les valeurs d’une table ou d’une colonne, cliquez sur la table ou la colonne voulue à l’aide du bouton droit de la souris et, dans le menu contextuel qui apparaît, sélectionnez la commande Afficher les valeurs (de la table/colonne). Manuel du designer 67 Chapitre 3 Sélection et affichage des tables et des colonnes Dans la fenêtre Structure du DESIGNER, les tables sont représentées graphiquement sous forme de rectangles. Le nom de la table est indiqué dans le ruban se situant en haut de chaque rectangle. Les éléments qui se trouvent à l’intérieur de chaque rectangle correspondent aux colonnes de la table. Les traits qui relient les tables représentent les jointures. Dans la fenêtre Structure ci-dessus, Customer, Reservations et Sales sont des tables de la base de données. La table Sales contient les colonnes cust_id, inv_id, et invoice_date. Les jointures établissent une liaison entre les colonnes identiques de deux tables différentes. 68 Manuel du designer Sélection des tables et des colonnes Manipulation des tables Sélection des tables Dans la fenêtre Structure, cliquez sur une table pour la sélectionner. Pour sélectionner plusieurs tables, créez un cadre de sélection en passant le pointeur de la souris sur les tables concernées. Pour sélectionner toutes les tables en même temps, sélectionnez la commande Sélectionner tout du menu Edition. Pour annuler une sélection, placez le pointeur de la souris hors de la sélection et cliquez à nouveau. Suppression de tables Vous pouvez supprimer une table en utilisant les commandes, les boutons et les touches de clavier classiques. Sélectionnez d’abord la table, puis choisissez un des procédés suivants : • Cliquez sur le bouton Couper de la barre d’outils Standard. Couper • Sélectionnez la commande Couper du menu Edition. • Appuyez sur la touche Suppr de votre clavier. Manuel du designer 69 Chapitre 3 Sélection et affichage des tables et des colonnes Organisation des tables et des colonnes Vous disposez de plusieurs fonctionnalités pour organiser et afficher les tables et les colonnes dans la fenêtre Structure. Ces fonctionnalités sont décrites en détail dans cette section. Affichage des tables Il est sans doute pratique de pouvoir afficher les éléments de l’univers actif de différentes manières. Mode liste Lorsque vous sélectionnez la commande Mode liste du menu Affichage, DESIGNER ajoute trois volets au-dessus de la fenêtre Structure. Il s’agit des volets Tables, Jointures et Contextes. 70 Manuel du designer Organisation des tables et des colonnes Si vous sélectionnez un élément dans un des volets supérieurs, celui-ci s’affiche en inverse vidéo dans la représentation graphique du volet inférieur et vice versa. Dans la fenêtre illustrée ci-dessus, la sélection de Reservations dans le volet Tables s’accompagne d’un affichage en inverse vidéo du même élément dans la représentation graphique du volet inférieur. Le résultat est le même lorsque vous sélectionnez une table dans le volet inférieur. Les petits triangles que vous voyez entre les volets supérieurs servent de filtres agissant sur l’affichage des éléments. Ils vous permettent de visualiser la relation entre tables et jointures, et entre jointures et contextes. Sélectionnez une table, par exemple, puis cliquez sur le triangle qui pointe vers le volet Jointures. Le volet Jointures n’affiche plus que les jointures de la table sélectionnée. Le contraire est vrai également, c’est-à-dire si vous sélectionnez une jointure, puis si vous cliquez sur le triangle se situant à gauche de ce volet, le volet Tables affiche uniquement les tables impliquées dans la jointure. Vous pouvez modifier la taille des volets supérieurs en déplaçant la barre de séparation vers le haut ou vers le bas, tout en maintenant le bouton gauche de la souris enfoncé. Mode liste Pour revenir au mode normal de la fenêtre Structure, sélectionnez à nouveau la commande Mode liste du menu Affichage. Pour désactiver le mode liste, vous pouvez également cliquer sur le bouton Mode liste de la barre d’outils Standard. Organisation des tables Lorsque vous déplacez une table, ses jointures la suivent jusqu’à son nouvel emplacement. En effet, si vous déplacez plusieurs tables en même temps, il arrive que les jointures impliquées dans ces tables se chevauchent ou qu’elles s’affichent dans le désordre. De la même façon, une table peut disparaître par mégarde parce que vous avez placé une table au-dessus d’une autre. Réorganiser les tables Le procédé le plus simple et le plus sûr pour rétablir l’affichage du départ, est de sélectionner la commande Réorganiser les tables du menu Affichage. Utilisez également le bouton Réorganiser les tables de la barre d’outils d’édition. Le résultat est un affichage propre et compact des tables et des jointures. Si cet affichage ne vous convient pas, vous pouvez toujours sélectionner la commande Annuler pour rétablir l’affichage précédent. Manuel du designer 71 Chapitre 3 Sélection et affichage des tables et des colonnes Affichage des colonnes dans une table Les modes d’affichage pour une table avec ses colonnes sont au nombre de trois. Le premier mode, le mode par défaut, affiche une table avec un maximum de huit colonnes. Si vous voulez modifier le nombre des colonnes affichées par défaut, sélectionnez la commande Options du menu Outils et changez la valeur dans l’onglet Graphiques. Une table dont l’affichage est partiel, peut être identifiée au moyen d’une ellipse (...) apparaissant après la dernière colonne. Si vous cliquez sur une telle table, DESIGNER affiche une barre de défilement permettant de visualiser les colonnes masquées. Vous pouvez également agrandir une table, au lieu de la faire défiler, et ainsi visualiser toutes les colonnes en même temps. Pour ce faire, maintenez le bouton gauche de la souris enfoncé, puis tirez la bordure inférieure de la table vers le bas. 72 Manuel du designer Organisation des tables et des colonnes Pour obtenir le deuxième mode d’affichage, utilisez le double-clic sur la même table. Cette fois, seul le nom des tables est visible. Ce type d’affichage permet de gagner de la place lorsque la fenêtre Structure est très remplie. Quatre tables figurant dans la fenêtre illustrée ci-dessus sont affichées dans le deuxième mode d’affichage. Seuls leurs noms sont visibles. Veuillez noter que ce type d’affichage permet d’aérer la fenêtre Structure. Manuel du designer 73 Chapitre 3 Sélection et affichage des tables et des colonnes Pour obtenir le troisième type d’affichage, utilisez à nouveau le double-clic sur la table. Dans cette vue, seules les colonnes des tables concernées par les jointures sont visibles. Seules les colonnes impliquées dans les jointures sont affichées Toutes les autres tables sont affichées en mode standard. Veuillez noter que les colonnes de la table Customer ne sont affichées qu’en partie. En résumé, vous disposez de trois modes d’affichage pour une table dans la fenêtre Structure. Pour passer d’un mode à un autre, utilisez simplement le double-clic plusieurs fois de suite. Enfin, vous pouvez modifier l’affichage de l’ensemble des tables, en sélectionnant la commande Modifier l’affichage des tables du menu Affichage. 74 Manuel du designer Organisation des tables et des colonnes Options graphiques Vous disposez de diverses options pour personnaliser la forme ou l’apparence des tables, des colonnes, des jointures et des cardinalités dans la fenêtre Structure. Ces options se trouvent dans l’onglet Graphiques de la boîte de dialogue Options accessible par la commande Options du menu Outils. Forme de la jointure La zone Forme de la jointure est composée d’options organisées en deux colonnes. Les options de la première colonne regroupent des formes de jointure. Par défaut la jointure se présente sous forme d’un trait droit. Vous pouvez décider de la changer en : Diagonal, Horizontal/Vertical ou Arrondi. En regard des cases d’options, vous trouvez une illustration de chaque forme de jointure. Outre la forme de la jointure, vous pouvez sélectionner un symbole schématique pour l’affichage des cardinalités. Voici les options qui se situent dans la deuxième colonne : Flèche, Arité, et 1,n. En regard des cases d’options, vous trouvez une illustration de chaque symbole. Une jointure peut partir de la droite ou de la gauche d’une table et arriver sur le côté droit ou gauche d’une autre table. L’option Meilleur côté vous garantit que la jointure qui relie deux tables choisit le “meilleur côté” des deux ou le chemin le plus court entre deux tables. Manuel du designer 75 Chapitre 3 Sélection et affichage des tables et des colonnes Tables La zone Tables contient trois options d’affichage pour les tables de la fenêtre Structure : Effet 3D, Alias et nom de table et Nombre de lignes. Remarque : La deuxième option se rapporte exclusivement aux tables pour lesquelles ont été créés des alias. Lorsque vous sélectionnez cette option, tout alias de table s’affiche, à la fois avec son nom et avec le nom de sa table de provenance figurant entre parenthèses. Les deux premières options sont illustrées ci-dessous : Dans la figure ci-dessus, les deux tables sont affichées en mode Effet 3D. La table de droite représente un alias de table. Customer2 est le nom de la table et Customer est le nom de la table d’origine. 76 Manuel du designer Organisation des tables et des colonnes Nombre de lignes L’option Nombre de lignes affiche le nombre de lignes de toutes les tables de la base de données. Dans la fenêtre Structure, les nombres s’affichent sous les tables, dans l’angle inférieur gauche. Une fois cet affichage obtenu, vous pouvez le rafraîchir ou le modifier à l’aide des options de la commande Nombre de lignes dans les tables du menu Affichage. Vous trouverez une description plus approfondie de cette commande à la section “Affichage du nombre de lignes dans les tables de base de données”, page 81. Manuel du designer 77 Chapitre 3 Sélection et affichage des tables et des colonnes Colonnes Par défaut, un maximum de huit colonnes est visible dans une table. Vous pouvez saisir une autre valeur dans la zone de texte. Si vous activez l’option Afficher le format, le DESIGNER retourne une lettre qui représente un type de colonne. Cette lettre apparaît à côté du nom de la colonne. Vous pouvez distinguer les trois types de colonne suivants : • C pour caractère, • D pour date, • N pour numérique, • T pour les textes de type long, • L pour les objets de type binaire (blob). L’option Souligner les clés vous permet de souligner les clés primaires et secondaires des tables. Enfin, vous pouvez justifier vos colonnes à gauche (justification par défaut) ou les centrer, en activant les cases d’option qui conviennent. Centrer sur la sélection L’option Centrer sur la sélection calcule le point central des éléments sélectionnés puis ajuste la fenêtre Structure en fonction de ce point. Affichage des valeurs des tables et des colonnes Les sections précédentes ont présenté les nombreuses fonctions vous permettant d’afficher des tables et des colonnes. Vous pouvez par ailleurs afficher les valeurs des données d’une table ou d’une colonne particulière, pour avoir une idée des données avec lesquelles vous devez travailler. Cela renforce en outre la cohérence lors de la création des jointures dans l’univers. Remarque : Une option vous permet de réguler le nombre de lignes extraites de la base de données. Pour y avoir accès, sélectionnez la commande Options, puis, dans la boîte de dialogue correspondante, cliquez sur l’onglet Base de données. Appelée Nombre maximum de lignes retournées, cette option a une valeur par défaut de 100. 78 Manuel du designer Organisation des tables et des colonnes Affichage des valeurs d’une table La procédure est la suivante : 1. Cliquez sur la table voulue. 2. Sélectionnez la commande Valeurs des tables dans le menu Affichage. DESIGNER affiche une fenêtre comprenant la liste des valeurs de la table. La fenêtre affiche la liste de toutes les valeurs de chaque colonne de la table ; sa barre de titre indique le nom de la table. Avec la case à cocher Valeurs distinctes, vous pouvez filtrer l’affichage de sorte que seules les valeurs uniques s’affichent. Ainsi, des valeurs récurrentes n’apparaissent pas de façon redondante. Pour quitter cette fenêtre, cliquez sur le bouton Fermer. La fenêtre ci-dessus liste les valeurs des colonnes cust-id, first-name, last-name, etc. de la table Customer. Affichage des valeurs d’une colonne Pour afficher les valeurs d’une colonne : 1. Dans la fenêtre Structure, placez le pointeur sur la colonne dont vous souhaitez afficher les valeurs. • Le pointeur se transforme en symbole de main. • Pour agrandir l’affichage, vous pouvez appliquer la commande Zoom avant une ou plusieurs fois. La sélection d’une colonne est alors plus facile. Manuel du designer 79 Chapitre 3 Sélection et affichage des tables et des colonnes 2. Cliquez sur le bouton droit de la souris. Un menu contextuel apparaît. 3. Dans ce menu, sélectionnez la commande Contenu de la colonne. DESIGNER affiche une fenêtre présentant la liste des valeurs de la colonne. La fenêtre liste toutes les valeurs de la colonne ; sa barre de titre indique le nom de la colonne et de la table à laquelle elle appartient. La case à cocher Valeurs distinctes permet de filtrer l’affichage de sorte que seules les valeurs uniques s’affichent. Ainsi, les valeurs récurrentes n’apparaissent pas de façon redondante. Pour quitter une fenêtre, cliquez sur le bouton Fermer. Valeurs de la colonne resort de la table Resort 80 Manuel du designer Organisation des tables et des colonnes Affichage du nombre de lignes dans les tables de base de données Pour voir le nombre de lignes que comportent une ou plusieurs tables, vous pouvez sélectionner la commande Nombre de lignes dans les tables du menu Affichage. Si vous n’avez pas déjà coché la case Nombre de lignes (décrite plus haut dans ce chapitre), un message apparaît pour vous inviter à indiquer si vous voulez que DESIGNER définisse automatiquement l’option pour toutes les tables. Si vous cliquez sur OK, la boîte de dialogue suivante apparaît : Les options de cette boîte de dialogue sont décrites ci-dessous : Option Description Rafraîchir le nombre de lignes de toutes les tables Rafraîchit l’affichage du nombre de lignes pour toutes les tables de la fenêtre Structure. Rafraîchir le nombre de lignes des tables non définies Affiche le nombre de lignes des tables préalablement désélectionnées. En conséquence, toutes les tables de la fenêtre Structure apparaissent avec leur compte de lignes. Modifier manuellement le nombre de lignes des tables Vous permet de modifier le nombre de lignes pour les tables sélectionnées ou pour toutes les tables de la fenêtre Structure. Entrez les nouvelles valeurs dans la zone prévue à cet effet, en regard de l’option. Cette option sert à optimiser les requêtes, sujet traité dans la suite de ce manuel. Manuel du designer 81 Chapitre 3 Sélection et affichage des tables et des colonnes Modification du nombre de lignes d’une table Vous pouvez modifier le nombre de lignes d’une table soit pour optimiser les requêtes, soit pour adapter les tables à un changement futur dans la capacité des données. Optimisation des requêtes L’optimisation des requêtes repose sur l’ordre des tables dans la clause FROM du SQL généré. Les tables avec de nombreuses lignes apparaissent avant celles qui en ont moins. Cet ordre peut être important, notamment pour les SGBDR sans fonction d’optimiseur. En modifiant le compte de lignes des tables, vous pouvez changer leur ordre dans la clause FROM. Pour cela, activez la case d’option Modifier manuellement le nombre de lignes des tables décrite à la section précédente. Adaptation au volume des données En outre, vous pouvez utiliser cette option dès que le nombre de lignes ne correspond plus au nombre de lignes qu’une table doit contenir. Par exemple, vous pouvez travailler avec une table test ayant un nombre de lignes de 100, même si la table est conçue pour en contenir 50 000. Dans la fenêtre Structure, DESIGNER affiche le nombre de lignes sous chaque table. 82 Manuel du designer Chapitre 4 Création de stratégies externes ................................................................................. Dans ce chapitre ❑ Généralités 84 ❑ Définition des stratégies 84 Stratégies intégrées 84 Stratégies externes 85 ❑ Création de stratégies externes 87 Création d’une stratégie externe à partir du SQL 87 Création d’une stratégie externe à partir d’un fichier à plat 89 ❑ Formats de sortie des stratégies 91 Format de sortie des stratégies objet 91 Format de sortie des stratégies jointure 92 Format de sortie des stratégies liste de tables 92 ❑ Application de stratégies externes dans Designer 94 Application de stratégies externes 94 Sélection de stratégies dans l’assistant de création d’univers 94 Manuel du designer 83 Chapitre 4 Création de stratégies externes Généralités Vous trouverez dans le présent chapitre toutes les informations sur les stratégies intégrées et externes, ainsi que la méthode de création des stratégies externes. Définition des stratégies Une stratégie est un script qui lit des informations structurelles issues d’une base de données ou d’un fichier. DESIGNER vous permet de spécifier deux types de stratégies : intégrées et externes. Stratégies intégrées DESIGNER utilise les stratégies intégrées suivantes pour créer les composants des univers : • la stratégie de création d’objets qui indique à DESIGNER comment définir automatiquement des classes et des objets à partir des tables et colonnes de la base de données ; • la stratégie de création de jointures qui indique à DESIGNER comment définir automatiquement des jointures à partir des tables et colonnes de la base de données ; • la stratégie de liste de tables qui indique à DESIGNER comment lire les structures de table et de colonne à partir du dictionnaire de données de la base. 84 Manuel du designer Définition des stratégies Ces stratégies sont visibles dans l’onglet Stratégies de la boîte de dialogue Paramètres de l’univers : Ces stratégies intégrées peuvent être utilisées avec tout type de base de données. Il est impossible de les modifier. Outre ces stratégies, vous pouvez définir des stratégies externes. Stratégies externes Les fichiers de stratégies externes sont déclarés dans la section STG des fichiers .PRM situés dans les divers dossiers de SGBDR. Exemple issu du fichier Ora7fr.prm : STG= stora7fr où stora7fr est le fichier de stratégie externe pour Oracle. Tous les fichiers de stratégies externes contiennent un certain nombre de stratégies existantes fournies avec le produit BUSINESSOBJECTS. Par exemple, un fichier peut contenir une stratégie objet, une stratégie jointure et une stratégie liste de tables, ou bien de multiples stratégies de chaque type. Dans ce fichier, vous pouvez personnaliser une stratégie existante ou en créer une. Chaque fichier de stratégie externe est spécifique d’un SGBDR. Manuel du designer 85 Chapitre 4 Création de stratégies externes Localisation de fichiers de stratégies externes Les fichiers de stratégies externes sont nommés selon les conventions suivantes : StxxxxFR.txt où St signifie stratégie, xxxx est l’abréviation du SGBDR et FR représente la langue d’installation de BUSINESSOBJECTS (FR=français, EN =anglais, GE=allemand). Liste partielle des fichiers contenant des stratégies externes : • Pour Oracle : Stora7fr.txt dans le dossier Oracle • Pour Sybase : Stsyb1fr.txt dans le dossier Sybase • Pour Informix : Stifxfr.txt dans le dossier Informix Exemple de fichier de stratégie externe : Le fichier se nomme Stora7fr.txt et a été ouvert sous l’éditeur WordPad de Microsoft. 86 Manuel du designer Création de stratégies externes Création de stratégies externes Vous pouvez créer une stratégie externe à partir du SQL ou d’un fichier à plat. Dans les deux cas, vous définissez la stratégie à partir du fichier texte (StxxxxFR.txt) dans votre dossier de SGBDR correspondant. Création d’une stratégie externe à partir du SQL 1. Créez une nouvelle section [STRATEGY]. 2. Entrez un paramètre TYPE : OBJECT, JOIN ou STRUCT. Par exemple, TYPE=OBJECT. 3. Créez un paramètre NAME et entrez le nom de la stratégie. Le nom de la stratégie est visible dans l’onglet Stratégies de la boîte de dialogue Paramètres de l’univers et dans l’assistant de création d’univers. 4. Créez une section [SQL]. 5. Entrez l’ordre SQL de la stratégie. Le format SQL est décrit à la section “Formats de sortie des stratégies”, page 91. Par exemple : SELECT Col1, ‘séparateur’, Col2, ‘séparateur’, FROM ... où le séparateur correspond à tout caractère. 6. Créez une section [HELP]. 7. Ajoutez une description de la stratégie dans la section [HELP]. La description est visible dans DESIGNER. Manuel du designer 87 Chapitre 4 Création de stratégies externes Paramètres facultatifs Vous pouvez entrer un paramètre dans la section [CONNECTION] afin d’indiquer une connexion de base de données. Notez que le type de connexion doit être personnel. Exemple : [CONNECTION] NAME=MaConnexionPersonnelle Entrez le paramètre suivant dans la section [STRATEGY] pour omettre la fenêtre traitant de la création d’objets de type indicateur dans l’assistant de création d’univers : SKIP_MEASURES=Y Ces deux paramètres sont facultatifs. Exemple Stratégie externe à partir du SQL ........................................................... [STRATEGY] TYPE=OBJECT NAME=Stratégie objets MesMétaDonnées [SQL] SQL=SELECT choses FROM MesMétaDonnées WHERE Condition sur MétaDonnées ; [HELP] HELP=Cette stratégie lit les méta-données et crée une liste d’objets. [CONNECTION] Name=ConnexionMesMétaDonnéesPersonnelles Avant de créer une stratégie à partir du SQL, testez toujours le script SQL hors de BUSINESSOBJECTS pour vérifier que la syntaxe est correcte. ........................................................... 88 Manuel du designer Création de stratégies externes Création d’une stratégie externe à partir d’un fichier à plat 1. Créez une nouvelle section [STRATEGY]. 2. Entrez un paramètre TYPE : OBJECT, JOIN ou STRUCT. Par exemple, TYPE=STRUCT. 3. Créez un paramètre NAME et entrez le nom de la stratégie. Le nom de la stratégie est visible dans l’onglet Stratégies de la boîte de dialogue Paramètres de l’univers et dans l’assistant de création d’univers. 4. Créez une section [FILE]. 5. Entrez un paramètre NAME indiquant le chemin du fichier à plat entre parenthèses. Par exemple : NAME=C:\Chemin\Nom de fichier 6. Créez une section [HELP]. 7. Ajoutez une description de la stratégie dans la section [HELP]. La description est visible dans DESIGNER. Paramètres facultatifs Par défaut, le séparateur des colonnes dans un fichier à plat correspond au caractère de tabulation. Pour utiliser un autre caractère, il suffit d’entrer le paramètre approprié dans la section [FILE]. Exemple : SEPARATOR=, où le séparateur est un caractère spécial, dans ce cas, une virgule (,). Vous pouvez entrer le paramètre suivant dans la section [STRATEGY] afin d’omettre la fenêtre traitant de la création des objets de type indicateur dans l’assistant de création d’univers : SKIP_MEASURES=Y Ces deux paramètres sont facultatifs. Manuel du designer 89 Chapitre 4 Création de stratégies externes Exemple Stratégie externe basée sur un fichier à plat ........................................................... [STRATEGY] TYPE=OBJECT NAME=Stratégie objets MesMétaDonnées [FILE] NAME="C:\Chemin\Fichier" [HELP] HELP= Cette strategy lit les méta-données et crée une liste d’objets candidats. ........................................................... Création du fichier à plat Vous pouvez créer ce fichier comme un fichier texte (extension .txt) à l’aide des éditeurs Notepad ou Wordpad de Microsoft. Le format de sortie, décrit à la section suivante, dépend de la stratégie utilisée (destinée à des objets, des jointures ou des tables). Tous les formats représentent des colonnes d’informations séparées par des tabulations. 90 Manuel du designer Formats de sortie des stratégies Formats de sortie des stratégies Cette section présente les formats de sortie des : • Stratégies objet • Stratégies jointure • Stratégies liste de tables Format de sortie des stratégies objet Le format de sortie d’une stratégie objet contient neuf colonnes. Vous devez inclure l’ensemble de ces colonnes même si certaines d’entre elles contiennent des valeurs nulles. 1. TableName : le nom des tables dépend de chaque SGBDR. Le format de nom est le suivant [Qualifier.][Owner.]Table avec une longueur de 35 caractères maximum. Si vous ne renseignez pas cette colonne, les informations sont extraites de la cinquième colonne (Select) et de la sixième colonne (Where). 2. ColumnName 3. ClassName : les sous-classes sont supportées dans le format classe\sousclasse. 4. ObjectName : nom de l’objet ou de la condition Si le nom d’objet est vide, une classe et sa description sont créées. 5. Select 6. Where Si vous ne renseignez pas cette colonne, mais spécifiez Where, une condition prédéfinie et sa description sont créées. 7. Description : description de l’objet. 8. Type : C (Caractère), N (Numérique), D (Date), T (texte long). Si la colonne n’est pas renseignée, le type de données par défaut est N. 9. Qualification : D (dimension), M (indicateur) ou I (information). Si la colonne n’est pas renseignée, la qualification par défaut est D. Manuel du designer 91 Chapitre 4 Création de stratégies externes Format de sortie des stratégies jointure Format de sortie d’une stratégie jointure : 1. Table1 2. Table2 3. Join Definition 4. Outertype: L (externe gauche), R (externe droite). Si la colonne n’est pas renseignée, aucune jointure externe n’est définie. 5. Cardinality (optionnel) : 11, 1N, N1 Format de sortie des stratégies liste de tables Format de sortie d’une stratégie de liste de tables : 1. Qualifier : dépend de la base de données. Le qualificateur de table correspond au nom de la base de données ou à toute autre identification. 2. Owner : dépend de la base de données. Le propriétaire correspond au nom servant de référence non ambigüe à l’objet. 3. Table : nom de la table, vue ou synonyme. 4. Column : nom de la colonne. 5. Data Type : C (Caractère), N (Numérique), D (Date), T (Texte long). Si la colonne n’est pas renseignée, le type par défaut est C. 6. Nullable : indique si les colonnes peuvent contenir des valeurs nulles : Y (Oui) ou N (Non). Aucune valeur n’est indiquée par défaut. 92 Manuel du designer Formats de sortie des stratégies La page suivante fournit un exemple de format de sortie pour une stratégie de table : Le fichier de stratégie externe illustré ci-dessus (StxxxxFR.txt) référence un fichier à plat appelé CandidateObjects.txt. Comme son nom l’indique, la stratégie concerne la création d’objets. Les fichiers ont été ouverts sous Notepad de Microsoft. Manuel du designer 93 Chapitre 4 Création de stratégies externes Application de stratégies externes dans Designer Cette section décrit comment visualiser et appliquer des stratégies externes de diverses façons dans DESIGNER. Application de stratégies externes Dans DESIGNER, vous pouvez appliquer des stratégies externes comme suit : • Pour insérer des objets extraits à l’aide d’une stratégie objet, sélectionnez la commande Objets candidats dans le menu Insertion. • Pour insérer des jointures dérivées à partir d’une stratégie de jointure, sélectionnez la commande Détecter les jointures dans le menu Outils. • Pour insérer des tables extraites à l’aide d’une stratégie de liste de tables, sélectionnez la commande Tables dans le menu Insertion. Sélection de stratégies dans l’assistant de création d’univers Vous pouvez sélectionner une stratégie externe à l’aide de l’assistant de création d’univers. Pour ce faire, choisissez l’option Cochez cette case pour choisir des stratégies dans la fenêtre de bienvenue de l’assistant. 94 Manuel du designer Application de stratégies externes dans Designer Paramètres de l’univers Le nom de toute stratégie externe créée est visible dans l’onglet Stratégies de la boîte de dialogue Paramètres de l’univers. Cette boîte de dialogue est présentée dans la section “Stratégies intégrées”, page 84. Manuel du designer 95 Chapitre 4 Création de stratégies externes 96 Manuel du designer Création de jointures Chapitre 5 ................................................................................. Dans ce chapitre ❑ Généralités 98 ❑ Qu’est-ce qu’une jointure ? 99 ❑ Types de jointures supportés 100 ❑ Méthodes de création et de modification de jointures 101 ❑ Création de types spécifiques de jointure 107 Création d’une équi-jointure 107 Création d’une théta-jointure 108 Création d’une jointure externe 110 ❑ Cardinalités d’une jointure 112 Détection des cardinalités 113 ❑ Vérification de l’intégrité de votre univers 114 Exécution de la vérification de l’intégrité 115 Impact de la vérification de l’intégrité 117 Résultats de la vérification de l’intégrité 118 Utilisation de la commande Rafraîchir la structure 120 Manuel du designer 97 Chapitre 5 Création de jointures Généralités Ce chapitre traite des sujets suivants : • Rôle des jointures • Types de jointures supportés par le DESIGNER, • Méthodes de création ou de modification de jointures, • Création de types spécifiques de jointure, • Cardinalités d’une jointure, • Vérification de l’intégrité d’un univers. 98 Manuel du designer Qu’est-ce qu’une jointure ? Qu’est-ce qu’une jointure ? Une jointure consiste en une opération relationnelle entraînant la combinaison en une seule table de deux ou plusieurs tables avec un domaine commun. Le rôle des jointures est de limiter le résultat d’une requête exécutée sur plusieurs tables. Ce faisant, elles limitent la production d’un produit cartésien, situation pour laquelle toutes les combinaisons possibles entre toutes les lignes de toutes les lignes sont retournées. Le SQL permet de spécifier implicitement une jointure dans une clause WHERE par référence aux colonnes correspondantes ou communes des tables. Le résultat d’une jointure est une table unique comportant des colonnes issues de toutes les tables combinées. Chaque ligne de la table contient des données provenant des lignes des diverses tables en entrée, dont les valeurs correspondent aux colonnes communes. La figure ci-dessous présente un exemple de jointure entre deux tables PATIENT_NO. DATE_DISCHARGED PATIENT_NO. BILL_CHARGED 123 05/20/97 123 50.00 456 06/05/97 123 500.00 789 07/18/97 456 30.00 456 750.00 789 825.00 PATIENT SELECT PATIENT.DATE_DISCHARGED,BILLED.BILL_CHARGED FROM PATIENT,BILLED WHERE PATIENT.PATIENT_NO=BILLED.PATIENT.NO PATIENT_NO. DATE_DISCHARGED FACTURATION BILL_CHARGED 123 05/20/97 50.00 123 05/20/97 500.00 456 06/05/97 30.00 456 06/05/97 750.00 789 07/18/97 825.00 RESULTAT DE LA JOINTURE Manuel du designer 99 Chapitre 5 Création de jointures La règle suivante est essentielle pour la spécification de jointures : une clause WHERE doit être définie pour chaque paire de tables jointes. Ainsi, si vous devez combiner quatre tables, trois conditions seront nécessaires. Dans les bases de données relationnelles, plusieurs types de jointures peuvent être définis. Les types de jointures supportés par DESIGNER sont traités à la section suivante. Types de jointures supportés DESIGNER peut comporter les types de jointure suivants : • Equi-jointures, • Théta-jointures, • Jointures externes, • Raccourcis jointures. Définitions Une équi-jointure repose sur l’égalité entre la colonne d’une table et la colonne d’une autre table. Comme les deux tables comportent une colonne commune, la jointure synchronise ces deux tables. Une théta-jointure repose sur un rapport autre que celui de l’égalité entre deux colonnes. Une jointure externe relie deux tables, dont l’une comporte des lignes qui n’ont pas d’équivalence dans la colonne commune de l’autre. Une raccourci jointure relie deux tables en contournant une ou plusieurs autres tables. 100 Manuel du designer Méthodes de création et de modification de jointures Méthodes de création et de modification de jointures La méthode la plus simple de création de jointures dans un univers consiste à spécifier une stratégie de jointure permettant de les créer automatiquement lors de l’insertion de tables et de colonnes dans la fenêtre Structure à partir du Localisateur de tables. Toutefois, lorsque vous n’indiquez pas de stratégie de jointure dans les paramètres d’univers, vous pouvez utiliser les autres méthodes fournies par DESIGNER. Ces méthodes comprennent : • La commande Détecter les jointures, • Le traçage manuel des jointures, • La boîte de dialogue Editer la jointure, • La barre de formule. Toutes ces méthodes sont expliquées en détail dans cette partie du présent manuel. Commande Détecter les jointures Détecter les jointures Une méthode rapide et efficace pour lier les tables dans votre univers consiste à utiliser la commande Détecter les jointures du menu Outils. Vous pouvez également cliquer sur le bouton correspondant dans la barre d’outils d’édition pour exécuter la commande. DESIGNER affiche un liste de jointures candidates. A partir de cette liste, vous pouvez afficher toutes les jointures détectées et choisir celles que vous souhaitez que DESIGNER insère dans la fenêtre Structure. Manuel du designer 101 Chapitre 5 Création de jointures Traçage manuel d’une jointure Pour tracer manuellement une jointure à partir de la colonne d’une table vers la colonne d’une autre table, procédez comme suit : 1. Positionnez le pointeur de la souris sur la colonne qui doit servir de point de départ pour la jointure. Le pointeur se transforme en une main. 2. Tout en maintenant le bouton gauche de la souris appuyé, tracez la jointure dont vous apercevez le début, en allant de la colonne source vers la colonne cible. Le pointeur se transforme en crayon. 3. Positionnez le crayon sur la colonne cible de la jointure. 4. Lorsque la deuxième colonne apparaît en inverse vidéo, relâchez le bouton de la souris. La création de la jointure entre les deux tables est terminée, et la jointure s’affiche. 102 Manuel du designer Méthodes de création et de modification de jointures Utilisation de la boîte de dialogue Editer une jointure La boîte de dialogue Editer une jointure représente une méthode graphique pour créer une nouvelle jointure ou pour modifier une jointure existante. Insérer une jointure Pour accéder à la boîte Editer une jointure, sélectionnez la commande Jointure du menu Insertion ou cliquez sur le bouton Insérer une jointure de la barre d’outils d’édition. La troisième méthode d’accès à cette boîte de dialogue consiste à utiliser le double-clic sur une jointure existante. Manuel du designer 103 Chapitre 5 Création de jointures Dans DESIGNER, une jointure est définie selon la formule suivante : Nom de la table1.Nom de la colonne Opérateur Nom de la table2.Nom de la colonne Pour ce qui est de l’opérateur, vous avez les choix suivants : Opérateur Description ........................................................... = est égal à != est différent de > est supérieur à < est inférieur à >= est supérieur ou égal à <= est inférieur ou égal à Between Complex (+) 104 Manuel du designer est entre (théta-jointures) rapport complexe (jointure externe) Méthodes de création et de modification de jointures Utilisation de la barre de formule Pour éditer une jointure, vous pouvez également utiliser la barre de formule. Cette barre est une zone dans la fenêtre principale de DESIGNER présentant la formule ou l’expression correspondant à la définition de la jointure sélectionnée. Annule la dernière saisie effectuée Valide la formule Affiche la boîte Editer une jointure La formule de la jointure est affichée dans la zone de saisie de la barre de formule. Pour éditer une jointure au moyen de la barre de formule : 1. Cliquez sur la jointure que vous voulez éditer. La formule correspondant à cette jointure s’affiche dans la barre de formule. 2. Pour éditer la jointure, cliquez dans la zone de saisie de la barre de formule et effectuez vos modifications. 3. Appuyez sur la touche Entrée pour quitter la barre de formule. Pour masquer la barre de formule, sélectionnez à nouveau la commande Barre de formule dans le menu Affichage. Par défaut, la barre de formule est activée. Manuel du designer 105 Chapitre 5 Création de jointures Suppression d’une jointure Les méthodes de suppression d’une jointure sont nombreuses. Commencez cependant toujours par sélectionner la jointure à supprimer. Ensuite, vous pouvez la supprimer en : • utilisant la touche [RETOUR ARRIERE] de votre clavier, • utilisant la touche Suppr de votre clavier, • sélectionnant la commande Effacer du menu Edition, Dans tous les cas, DESIGNER vous invite à confirmer la suppression. Remarque : Réfléchissez toujours avant de supprimer une jointure. La suppression d’une ou plusieurs jointures peut avoir des répercussions fâcheuses sur la structure globale de votre univers 106 Manuel du designer Création de types spécifiques de jointure Création de types spécifiques de jointure Cette section met à votre disposition des procédures pour les types de jointure suivants : équi-jointure, théta-jointure et jointure externe. Création d’une équi-jointure Une équi-jointure repose sur l’égalité entre la colonne d’une table et la colonne d’une autre table. Partons du principe que vous voulez créer une équi-jointure entre les tables Customer et Reservations. Commencez par sélectionner la commande Jointure du menu Insertion pour ouvrir la boîte de dialogue Editer la jointure. Créez ensuite cette jointure comme suit : 1. Dans les boîtes à liste Table1 et Table2, sélectionnez les tables que vous voulez relier. 2. Dans la zone située au-dessous de chaque table, sélectionnez la colonne commune aux deux tables. La colonne commune pour les tables Customer et Reservations est cust_id. Veuillez noter que le nom des colonnes communes n’est pas toujours identique. 3. Cliquez sur le bouton Vérifier pour vérifier la validité de la jointure. Si vous recevez un message d’erreur, vérifiez si vous avez sélectionné les mêmes colonnes dans les deux tables. 4. Cliquez sur OK pour créer la jointure quitter la boîte de dialogue. DESIGNER affiche la jointure dans la fenêtre Structure. Remarque : Vous pouvez également créer une équi-jointure en utilisant les méthodes décrites précédemment. Manuel du designer 107 Chapitre 5 Création de jointures Création d’une théta-jointure Une théta-jointure repose sur un rapport autre que celui de l’égalité entre deux colonnes. Dans l’univers figurant sur l’illustration ci-après, les tables Customer et Age_group sont reliées par une théta-jointure : Cette jointure est définie par l’expression suivante : Customer.age between Age_group.age_min and Age_group.age_max En effet, les deux tables sont liées par une jointure dont la définition contient l’opérateur “between”. Commencez par sélectionner la commande Jointure dans le menu Insertion pour ouvrir la boîte de dialogue Editer la jointure ; vous pouvez créer cette jointure en suivant la procédure suivante : 1. Dans la boîte à liste Table1, sélectionnez une table (Customer). 2. Dans la boîte à liste Table2, sélectionnez une table (Age_group). 3. Dans la liste des colonnes située au-dessous de la boîte à liste Table1, sélectionnez une colonne (age). 108 Manuel du designer Création de types spécifiques de jointure 4. Dans la liste des colonnes située au-dessous de la boîte à liste Table2, sélectionnez deux colonnes (age_min et age_max). L’opérateur Between est automatiquement affiché entre les deux tables. 5. Cliquez sur le bouton Vérifier pour valider la définition de la jointure. Si vous recevez un message d’erreur, vérifiez si vous avez correctement sélectionné les colonnes. 6. Cliquez sur OK pour créer la jointure et quitter la boîte de dialogue. DESIGNER affiche la jointure dans la fenêtre Structure. Boîte de dialogue Editer la jointure présentant la définition d’une théta-jointure. Remarque : Il est également possible de créer une théta-jointure manuellement. Une fois que vous avez créé la jointure, double-cliquez sur celle-ci, puis activez les options appropriées dans la boîte Editer la jointure. Manuel du designer 109 Chapitre 5 Création de jointures Création d’une jointure externe Une jointure externe relie deux tables, dont l’une comporte des lignes qui n’ont pas d’équivalence dans la colonne commune de l’autre. Dans l’univers figurant dans l’illustration ci-dessous, Sponsor (parrain) et Customer (client) sont des exemples pour des tables de ce type. Cette situation s’explique par la relation qui existe entre les clients et les parrains : un client ne correspond pas toujours à un parrain, mais à chaque parrain correspond au moins un client. Ces tables peuvent donc être reliées par une jointure externe. La création d’une jointure externe ressemble à celle d’une équi-jointure. Procédez comme suit : 1. Dans les boîtes à liste Table1 et Table2, sélectionnez les tables à relier (Sponsor et Customer). 2. Dans la liste des colonnes située au-dessous de chaque table, sélectionnez la colonne commune. Pour les tables Sponsor et Customer, les colonnes communes n’ont pas le même nom ; leurs noms sont cust_id et sponsor_id. 110 Manuel du designer Création de types spécifiques de jointure 3. Cochez la case Jointure externe qui se trouve au-dessous de la table Parrain. 4. Cliquez sur le bouton Vérifier pour valider la définition de la jointure. Si vous recevez un message d’erreur, vérifiez si vous avez correctement sélectionné les colonnes. 5. Cliquez sur OK pour créer la jointure et quitter la boîte de dialogue. DESIGNER affiche la jointure dans la fenêtre Structure. Boîte de dialogue Editer la jointure présentant la définition d’une jointure externe. Remarque : Il est également possible de créer une jointure externe manuellement. Une fois que vous avez créé une jointure, double-cliquez sur celle-ci, puis cochez une des deux cases Jointure externe dans la boîte Editer la jointure et cliquez enfin sur OK. Manuel du designer 111 Chapitre 5 Création de jointures Cardinalités d’une jointure La cardinalité énonce le nombre minimum et maximum d’occurrences d’une entité B, pouvant être associé à une occurrence d’une entité A. Le nombre minimum et maximum d’occurrences peut être égal à 0, 1 ou N. Etant donné qu’une jointure présente un rapport bidirectionnel, elle doit toujours comporter deux cardinalités. Prenons l’exemple d’une jointure entre les deux tables : Customer et Reservations. Les cardinalités que présente la jointure qui relie les deux tables, peuvent être exprimées sous forme d’une phrase ou sous forme d’une notation : • Chaque client a une ou plusieurs réservations, ou (1,N) • Chaque réservation a un et un seul client ou (1,1). 112 Manuel du designer Cardinalités d’une jointure Détection des cardinalités Si vous cochez la case Détecter les cardinalités dans les jointures dans l’onglet Base de données de la boîte de dialogue, DESIGNER détecte et retourne automatiquement toutes les cardinalités des jointures lorsque vous sélectionnez les tables dans la Liste de tables (localisateur). Si vous n’avez pas coché cette case, il n’est pas trop tard pour détecter les cardinalités de toutes les jointures ou d’une jointure précise. Détecter les cardinalités Pour détecter les cardinalités pour les jointures sélectionnées dans la fenêtre Structure, sélectionnez la commande Détecter les cardinalités du menu Outils, ou cliquez sur le bouton correspondant de la barre d’outils. Pour détecter les cardinalités d’une jointure précise, utilisez le double-clic sur celle-ci dans la fenêtre Structure. La boîte de dialogue Editer la jointure s’affiche. Cliquez sur le bouton Détecter. Suite à cela, DESIGNER active les boutons d’options correspondant à la notation des cardinalités. Sous les boutons d’options, les deux cardinalités sont expliquées au moyen d’une phrase. Pour éditer une cardinalité, activez la ou les cases d’option qui conviennent. Affichage des cardinalités Comme évoqué plus haut, l’onglet Graphiques de la boîte de dialogue Options contient diverses options d’affichage pour les cardinalités dans la fenêtre Structure. Manuel du designer 113 Chapitre 5 Création de jointures Accélération de la détection de cardinalités Afin d’améliorer le temps de réponse pour la détection de cardinalités, vous pouvez modifier un paramètre dans le fichier PRM du SGBDR associé, comme suit : Définissez le paramètre LIGHT_DETECT_CARDINALITY par YES. Les fichiers PRM sont situés dans le dossier correspondant au SGBDR. L’algorithme de détection lit deux ordres SQL au lieu de trois, ce qui améliore sa performance. Vérification de l’intégrité de votre univers Votre univers prend forme maintenant et le moment est venu de faire une vérification de son intégrité. La fonctionnalité Vérifier l’intégrité vous permet de vous assurer du bon fonctionnement de l’univers actif. La fonctionnalité Vérifier l’intégrité détecte : • toute erreur survenant dans les objets, dans les jointures, dans les conditions et dans les cardinalités de votre univers ; • toutes les boucles dans les jointures ; • si des contextes sont nécessaires ; • toute modification effectuée sur la base de données constituant la source de votre univers. Remarque : Les boucles et les contextes sont traités au chapitre 6, “Résolution des boucles avec des alias et des contextes”. 114 Manuel du designer Vérification de l’intégrité de votre univers Exécution de la vérification de l’intégrité Vérifiez l’intégrité aussi souvent que possible, c’est-à-dire au moins une fois durant chaque étape importante de la conception de votre univers. Vérifier l’intégrité Pour exécuter cette vérification, sélectionnez la commande Vérifier l’intégrité du menu Outils ou cliquez sur le bouton correspondant de la barre d’outils d’édition. Dans la boîte de dialogue, sélectionnez les éléments que vous voulez vérifier ou cochez simplement la case Vérifier tout. Cliquez ensuite sur OK pour démarrer la vérification. Les options de vérification du bas de la fenêtre permettent de spécifier le type de validité que DESIGNER doit rechercher sur un objet, une jointure ou une condition. Il existe deux niveaux de vérification : • Analyse rapide : vérifie un élément au niveau syntaxique uniquement. • Analyse approfondie : vérifie un élément au niveau de la syntaxe et de la sémantique. L’option Analyse approfondie assure une vérification plus approfondie et, par làmême, l’intégrité de l’élément. Toutefois, si vous souhaitez créer de nombreux éléments en un délai court, l’option Analyse rapide est généralement plus rapide. Rappel : Si vous voulez cocher l’option Rechercher des boucles, vérifiez d’abord si vous avez déjà détecté les cardinalités des jointures. Si tel n’est pas le cas, la fonctionnalité Vérifier l’intégrité peut identifier, par erreur, des boucles dans les jointures. Manuel du designer 115 Chapitre 5 Création de jointures Options de vérification d’intégrité L’onglet Général de la boîte de dialogue Options comporte trois options relatives à la vérification d’intégrité. Pour accéder à cette boîte de dialogue, sélectionnez la commande Options dans le menu Outils. La première option, Analyse automatique de la définition SQL, vérifie automatiquement la définition SQL de tous les objets, conditions et jointures que vous créez. Elle prend effet dès le clic sur le bouton OK. La deuxième option, Envoyer message de vérification de l’intégrité avant l’export, entraîne l’émission d’un avertissement lorsque vous tentez d’exporter un univers non vérifié. La troisième option, Vérifier l’intégrité de l’univers à l’ouverture, entraîne la vérification automatique de l’univers que vous ouvrez. 116 Manuel du designer Vérification de l’intégrité de votre univers Impact de la vérification de l’intégrité Cette fonction détecte à la fois les erreurs de syntaxe et les modifications apportées à la base de données. Avant d’examiner les éléments de l’univers par rapport à ceux de la base de données, cette fonctionnalité vérifie si la connexion à la base de données est valide. Si la connexion n’est pas valide, la vérification de l’intégrité est interrompue et un message d’erreur s’affiche. Types d’erreurs détectés par la fonctionnalité Vérifier l’intégrité Erreurs détectées au cours d’une vérification de l’intégrité : • une syntaxe incorrecte dans la définition SQL d’un objet, d’une condition ou d’une jointure, • des boucles, • des tables isolées, • des jointures isolées, • des boucles dans des contextes, • des cardinalités manquantes ou incorrectes. Comment la fonctionnalité Vérifier l’intégrité procède-t-elle pour savoir si la base de données a changé ? La fonctionnalité Vérifier l’intégrité envoie une requête sur la base de données pour obtenir une liste des tables. Elle compare cette liste ensuite avec les tables utilisées dans l’univers. Pour les colonnes, elle procède de la même façon. Dans la fenêtre Structure, la fonctionnalité Vérifier l’intégrité apporte la mention “non disponible” à toutes les tables qui ne correspondent pas à celles de la liste. Il s’agit de toutes les tables ou colonnes qui ont été ajoutées, supprimées ou renommées dans la base de données. Reportez-vous à la section “Utilisation de la commande Rafraîchir la structure”, page 120. Manuel du designer 117 Chapitre 5 Création de jointures Résultats de la vérification de l’intégrité Lorsque vous exécutez Vérification de l’intégrité, le DESIGNER affiche les résultats de la vérification dans une fenêtre indiquant les types d’erreurs et le nombre d’occurrences de ces dernières. Des exemples de types d’erreur sont “Structure” et “Vérifier les conditions”, dans l’écran présenté ci-dessous. Si aucune erreur n’est détectée au cours de la vérification de l’intégrité, le mot “OK” s’affiche à côté de chaque option. Résultats de la vérification d’intégrité 118 Manuel du designer Vérification de l’intégrité de votre univers Lorsque vous cliquez sur le signe (+) à côté du type d’erreur, vous affichez la liste des composants dans lesquels l’erreur s’est produite. Si vous double-cliquez sur une rubrique de la liste, les composants correspondants s’affichent en inverse vidéo dans la fenêtre Structure. Vous pouvez imprimer ces résultats en cliquant sur le bouton Imprimer. Pour fermer cette fenêtre, cliquez sur le bouton OK. Manuel du designer 119 Chapitre 5 Création de jointures Utilisation de la commande Rafraîchir la structure Comme indiqué précédemment, la commande Vérifier l’intégrité peut révéler que la base de données de votre univers a été modifiée. Dans ce cas, vous devez mettre à jour le contenu de la fenêtre Structure en utilisation la commande Rafraîchir la structure du menu Affichage. Le tableau ci-dessous montre l’impact de cette commande : Si Alors Des colonnes ont été ajoutées aux tables DESIGNER ajoute les colonnes aux tables correspondantes de l’univers. Des colonnes ont été supprimées des tables DESIGNER affiche un message d’avertissement vous signalant les tables et jointures associées à supprimer. Des tables ont été supprimées de la base de données DESIGNER affiche un message d’avertissement vous signalant les tables et jointures associées à supprimer. Des tables ont été renommées dans la base de données DESIGNER affiche un message indiquant qu’il ne reconnaît plus les tables correspondantes de l’univers. Renommez les tables pour qu’elles correspondent à celles de la base de données. Si les noms ne correspondent toujours pas, DESIGNER envoie un message indiquant que les tables renommées n’existent pas dans la base de données. Aucune modification n’a été apportée à la base de données DESIGNER affiche un message indiquant qu’aucune mise à jour n’est nécessaire. 120 Manuel du designer Résolution des problèmes liés aux jointures Chapitre 6 ................................................................................. Dans ce chapitre ❑ Généralités 123 Définition des tables de référence et des tables factuelles 123 Quels sont les types de de chemin de jointure qui retournent des résultats incorrects ? 124 Détection et résolution de problèmes liés aux jointures 126 ❑ Chemins de jointure retournant un nombre de lignes trop faible 127 Définition des boucles 127 Détection des boucles 128 Résolution des boucles 129 ❑ Utilisation des alias 130 Qu’est-ce qu’un alias ? 130 Exemples d’alias 131 Création d’alias dans le Designer 139 Manuel du designer 121 Chapitre 6 Résolution des problèmes liés aux jointures ❑ Utilisation de contextes 142 Comment les contextes affectent-ils les requêtes ? 146 Avertissement concernant les contextes 148 Création de contextes dans le Designer 150 ❑ Les contextes et les alias peuvent-ils être utilisés ensemble ? 152 ❑ Quand utiliser des contextes et non des alias 153 ❑ Chemins de jointure retournant un nombre de lignes trop élevé 154 Détection et résolution d’interruptions de séquence (jointures convergentes) 154 Détection et résolution d’interruptions de séquence (jointures en série) 160 ❑ Organisation du schéma de tables pour détecter des problèmes liés aux jointures 163 122 Manuel du designer Généralités Généralités Des problèmes liés aux jointures surviennent fréquemment en raison de la limitation des relations entre tables de référence et tables factuelles dans des bases de données relationnelles. Le présent chapitre définit brièvement ces tables et décrit les types de problèmes liés aux chemins des jointures impliquant ces tables. Il fournit également des directives concernant la résolution des boucles et d’autres problèmes de jointures à l’aide des alias, des contextes et autres fonctionnalités du Designer. Définition des tables de référence et des tables factuelles Dans Designer, vous créez des jointures entre des tables de référence et des tables factuelles. Tables de référence Une table de référence (ou dimension) contient des informations associées à une entité ou un sujet particulier. Par exemple, une telle table peut contenir des informations géographiques sur les clients, telles que leur nom, leur numéro de téléphone, leur ville et leur pays de résidence. Dans DESIGNER, les objets de type dimension et information sont dérivés des tables de référence. Une telle table est dotée de la structure de cardinalités de jointure suivante : DIMENSION Tables factuelles Une table factuelle contient des informations statistiques relatives aux transactions. Par exemple, elle peut contenir des chiffres tels que le chiffre d’affaires (Sales Revenue) ou les bénéfices (Profit). Manuel du designer 123 Chapitre 6 Résolution des problèmes liés aux jointures Dans un univers BUSINESSOBJECTS, la plupart des objets indicateurs sont définis à partir des tables factuelles. Une table factuelle est représentée par la structure de cardinalités de jointure suivante : FACTUELLE Quels sont les types de de chemin de jointure qui retournent des résultats incorrects ? Des requêtes peuvent retourner des résultats incorrects en raison des limites de l’exécution des jointures dans les bases de données relationnelles. Selon les relations établies entre les tables de référence et les tables factuelles dans votre schéma de tables, des chemins de jointure peuvent générer des instances où le nombre de lignes retournées est trop faible ou trop élevé. 124 Manuel du designer Généralités Les types de chemin de jointure suivants sont susceptibles de générer des résultats incorrects : Type de chemin de jointure Retourne Description Boucle Nombre de lignes trop faible Les jointures forment des chemins multiples entre des tables référence. Jointures convergentes de type plusieurs-àune Nombre de lignes trop élevé Des jointures de type plusieurs-à-une établies entre deux tables factuelles convergent vers une seule table de référence. Ce type de convergence de jointure est appelée une interruption de séquence (Chasm trap). Jointures en série de type $$plusieurs-àune Nombre de lignes trop élevé Une jointure de type une-àplusieurs relie une table, à son tour liée par une jointure de type une-à-plusieurs. Ce type de déploiement en éventail d’une jointure vers plusieurs est appelé interruption de fréquence (Fan trap). Manuel du designer 125 Chapitre 6 Résolution des problèmes liés aux jointures Détection et résolution de problèmes liés aux jointures Designer fournit un certain nombre de solutions pour la détection et la résolution des problèmes liés aux jointures. Chacune de ces méthodes est décrite en détail dans la section correspondante, dans le présent chapitre. Les méthodes suivantes sont disponibles pour détecter et résoudre les problèmes de chemin de jointure : Problème de jointure Détecté par Résolu par Boucle Fonction de vérification de l’intégrité et de détection des boucles dans Designer. Création d’alias et de contextes pour rompre les boucles. Jointures convergentes de type plusieurs-àune (interruption de séquence). Analyse visuelle d’un schéma de tables. • Création d’un contexte. • Utilisation de plusieurs ordres SQL pour chaque indicateur. • Création de plusieurs univers (WEBINTELLIGENCE uniquement). Jointures en série de type plusieurs-àune (interruption de séquence). Analyse visuelle d’un schéma de tables. • Création d’un alias et application de la fonction de navigation agrégée. • Utilisation de plusieurs ordres SQL pour chaque indicateur. 126 Manuel du designer Chemins de jointure retournant un nombre de lignes trop faible Chemins de jointure retournant un nombre de lignes trop faible Dans un schéma de base de données relationnelle, il existe un type de jointure courant retournant un nombre de lignes trop faible, que l’on appelle boucle. Définition des boucles Dans une base de données relationnelle, une boucle représente une situation dans laquelle des jointures forment des chemins multiples entre des tables de référence. Dans une représentation graphique de base de données, une boucle peut être identifiée comme un chemin fermé, tel que décrit dans le diagramme cidessous. Dans une base de données, des chemins multiples entre tables peuvent être corrects et mis en oeuvre pour répondre aux besoins d’utilisateurs spécifiques. Lorsque chaque chemin est inclus individuellement dans une requête, chacun d’eux peut retourner un ensemble de résultats distinct. Manuel du designer 127 Chapitre 6 Résolution des problèmes liés aux jointures Toutefois, si une requête inclut plus d’un chemin, les informations retournées risquent d’être inexactes. Les lignes retournées consistent simplement en l’intersection des résultats de chaque chemin. Par conséquent, un nombre de lignes inférieur à celui attendu est retourné. De plus, il est souvent difficile de déterminer ce qui s’est produit par la seule observation des résultats. Pour vous aider à détecter la présence de boucles dans un univers, DESIGNER fournit une fonction de détection automatique de boucles. Détection des boucles Le DESIGNER vous permet de détecter des boucles dans votre univers de deux façons différentes : • Lancez la fonction Vérifier l’intégrité qui indique la présence de boucles. Détecter les boucles • Sélectionnez la commande Détecter les boucles du menu Outils. Vous pouvez également cliquer sur l’icône correspondante de la barre d’outils. Cette commande appelle la fenêtre affichée ci-dessous. L’afficheur met en évidence toute boucle existant dans la structure de la base de données. En cas de détection de plusieurs boucles, vous pouvez cliquer sur la flèche droite pour passer à la boucle suivante ou sur la flèche gauche pour passer à la boucle précédente. Cette fenêtre peut également indiquer toute information complémentaire telle que la possibilité de résoudre une boucle avec un alias ou la résolution déjà effectuée à l’aide d’un contexte. 128 Manuel du designer Chemins de jointure retournant un nombre de lignes trop faible Résolution des boucles Vous pouvez résoudre les boucles de deux façons : • à l’aide d’alias ; • à l’aide de contextes. DESIGNER fournit trois fonctionnalités qui vous guident dans le processus de résolution des boucles : • Détecter les cardinalités • Détecter les alias • Détecter les contextes La première étape de la résolution des boucles consiste à détecter les cardinalités des tables. Détection des cardinalités La commande Détecter les cardinalités identifie automatiquement les cardinalités ou la nature des relations entre les tables dans la fenêtre Structure. Les cardinalités indiquent à DESIGNER le type de relation ou de jointure entre deux tables : une-à-plusieurs (1,N), une-à-une (1,1) ou plusieurs-à-plusieurs (N,N). Une jointure étant bidirectionnelle, elle doit toujours comporter deux cardinalités. Par exemple, chaque client réside dans une ville, mais chaque ville peut contenir plusieurs clients ; les cardinalités sont donc respectivement (1,1) et (1, N). Remarque : Les cardinalités n’ont aucun effet sur la génération du SQL. Leur seul rôle est de fournir suffisamment d’informations à DESIGNER pour qu’il puisse détecter et résoudre des boucles. Vous devez donc utiliser la commande Détecter les cardinalités avant les deux autres commandes indiquées plus haut. Manuel du designer 129 Chapitre 6 Résolution des problèmes liés aux jointures Utilisation des alias La présente section traite des alias et fournit deux exemples détaillés de situations dans lesquelles ils peuvent être appliqués. Qu’est-ce qu’un alias ? En langage SQL, un alias est un nom de remplacement pour une table. Le rôle des alias est de résoudre les problèmes structurels dûs aux limites du SQL dans une base de données. Par exemple, l’une des règles du SQL est qu’aucune table ne peut être référencée deux fois dans le même ordre SQL lorsque chaque table est utilisée à une fin différente. Toutefois, dans certains cas, cela peut être nécessaire pour obtenir les résultats de requête souhaités. C’est souvent le cas dans des schémas où une table est utilisée comme table de référence partagée pour d’autres tables de la base de données. Dans DESIGNER, un alias représente simplement un pointeur vers une autre table. Un designer place un ou plusieurs alias dans la fenêtre Structure de sorte que BUSINESSOBJECTS et WEBINTELLIGENCE génèrent les instructions SQL appropriées pour certains types de requêtes. Dans le diagramme ci-dessus, deux alias (basés sur la table Country) ont été créés pour résoudre une boucle. Les alias sont Customer_Country et Resort_Country. 130 Manuel du designer Utilisation des alias Exemples d’alias Cette section contient des exemples d’alias : • tables de référence partagées • tables de référence partagées flexibles. Exemple Définition d’un alias avec des tables de référence partagées ........................................................... Une base de données de ventes contient des informations sur les produits vendus aux clients à l’échelle mondiale. Ces clients résidant dans toute partie du monde peuvent commander des produits à la société et demander leur livraison vers toute destination du globe. Par exemple, un client résidant au Royaume-Uni peut commander un véhicule et demander son expédition au Brésil. Le schéma de ce type de base de données se présente comme suit : Nous pouvons interpréter ce schéma comme suit : • Chaque client est originaire d’un pays • Chaque client peut passer une ou plusieurs commandes pour un produit. La société expédie chaque produit commandé vers un pays de destination, qui peut être différent du pays de résidence du client. Manuel du designer 131 Chapitre 6 Résolution des problèmes liés aux jointures Les tables et les colonnes associées sont décrites ci-dessous. Supposons que nous souhaitions obtenir les informations suivantes : • noms des clients • pays de résidence du client • date de chaque commande • pays de destination pour l’expédition Le SQL permettant d’extraire ces données est le suivant : SELECT CUSTOMERS.LAST_NAME, COUNTRY.COUNTRY, ORDERS.ORDER_ID, ORDERS.ORDER_DATE, COUNTRY.COUNTRY FROM CUSTOMERS, ORDERS, COUNTRY WHERE (CUSTOMERS.CUST_ID=ORDERS.CUST_ID) AND (ORDERS.SHIP_COUNTRY=COUNTRY.COUNTRY_ID) AND (CUSTOMER.LOC_COUNTRY=COUNTRY.COUNTRY_ID) 132 Manuel du designer Utilisation des alias Si vous exécutez ce script SQL, les résultats retournés sont incomplets ; ils incluent uniquement les clients ayant demandé une livraison dans leur pays de résidence (et non les clients ayant choisi un autre pays de destination). En effet, les lignes retournées consistent en une intersection du pays de résidence du client et du pays de destination pour la livraison. En d’autres termes, au lieu de générer les résultats complets indiqués ci-dessous : le SQL retourne uniquement les résultats suivants : Manuel du designer 133 Chapitre 6 Résolution des problèmes liés aux jointures Utilisation d’un alias pour résoudre la boucle Vous pouvez rompre la boucle en incluant un alias ou nom de remplacement pour une table. La première étape de création d’un alias est l’identification de la table de référence ayant plusieurs rôles dans la base de données. Dans le cas présent, il s’agit de la table COUNTRY utilisée pour rechercher le pays de résidence du client et le pays de destination de la livraison. Ce type de table est également appelé table de référence partagée. Vous créez un alias appelé DESTINATION, dans le schéma. Les jointures originales existent toujours mais la “boucle” a été rompue par l’alias DESTINATION ; il n’y a plus de chemin fermé. Référencement de la table de référence partagée et de l’alias dans la clause FROM Il faut maintenant référencer le nom de la table deux fois dans la clause FROM du SQL, la première fois avec le nom courant et la deuxième, avec le nom d’alias ; le nom d’origine porte alors un nom de remplacement en suffixe. Le SQL résultant est le suivant : SELECT CUSTOMER.NAME, COUNTRY.NAME, ORDERS.ORDER_DATE DESTINATION.NAME FROM CUSTOMER, ORDERS, COUNTRY, COUNTRY DESTINATION WHERE (CUSTOMER.CUST_ID=ORDERS.CUST_ID) AND (ORDERS.SHIP_DEST_ID= DESTINATION.COUNTRY_ID) AND (CUSTOMER.CUST_LOC_ID=COUNTRY.COUNTRY_ID) 134 Manuel du designer Utilisation des alias Exemple Définition d’un alias avec des tables de référence partagées flexibles ........................................................... Une base de données de ventes contient des informations sur des clients résidant dans différents pays. Ces clients peuvent passer des commandes de marchandises à livrer par plusieurs compagnies de transport. Dans cette base de données, le nom des pays et des transporteurs sont normalisés dans des tables de référence. La normalisation est un processus qui permet d’affiner les relations des tables par la suppression des redondances. Pour des raisons structurelles, une seule table de référence (SYSLOOKUPS), et non deux, a été créée avec les en-têtes Code, Description et Type. La colonne Type indique le type d’information particulier contenu dans l’enregistrement, tel que le pays ou le transporteur. Désigné sous le nom “table de référence flexible”, ce type de table est fréquent dans les schémas générés automatiquement par les outils CASE. Le schéma et la représentation de table sont les suivants : Manuel du designer 135 Chapitre 6 Résolution des problèmes liés aux jointures La table SYSLOOKUPS remplit plusieurs rôles. Il faut donc créer autant d’alias que de domaines dans la table (valeurs distinctes pour le champ Type). En fonction des deux rôles représentés dans la table SYSLOOKUPS, il est possible de créer deux alias : COUNTRY (pays) et SHIPPERS (transporteurs). Le schéma résultant est illustré ci-dessous : Dans DESIGNER, il est possible de construire l’objet Customer’s Country (pays du client) comme COUNTRY.DESCRIPTION et l’objet Shipper (transporteur) défini comme SHIPPERS.DESCRIPTION. Les jointures correspondantes sont : • CUSTOMERS.LOC_COUNTRY=COUNTRY.CODE • ORDERS.SHIP_ID=SHIPPERS.CODE Utilisation d’auto-jointures pour limiter les résultats Une fois les objets définis, vous devez restreindre chaque alias de sorte qu’il retourne uniquement les informations de son propre domaine (et non celles des autres domaines). Par exemple, pour connaître le nom des transporteurs ayant envoyé deux commandes au client 101, deux lignes doivent être retournées. 136 Manuel du designer Utilisation des alias Cependant, le SQL SELECT ORDERS.ORDER_ID, ORDERS.CUST_ID, ORDERS.ORDER_DATE, SHIPPERS.DESCRIPTION SHIPPER FROM ORDERS, SYSLOOKUPS SHIPPERS WHERE (ORDERS.SHIP_ID=SHIPPERS.CODE) produit les résultats suivants : La requête a retourné les noms des pays et des transporteurs : “Man With a Van” et “USA” partagent le code 1 tandis que “France” et “Parcel Fun” partagent le code 3. Pour corriger l’erreur, vous pouvez procéder comme suit : • Appliquez une nouvelle auto-jointure à l’alias SHIPPERS. Dans la boîte de dialogue Editer la jointure, définissez Table1 et Table2 par SHIPPERS et entrez l’expression SQL : SHIPPERS.TYPE=’SHIP’. • Appliquez une nouvelle auto-jointure à l’alias COUNTRY. Dans la boîte de dialogue Editer la jointure, définissez Table1 et Table2 par COUNTRY et entrez l’expression SQL : COUNTRY.TYPE=’CTRY’. Manuel du designer 137 Chapitre 6 Résolution des problèmes liés aux jointures Lorsque vous ajoutez la restriction à la clause Where de l’objet ou à la jointure existante entre l’alias et la table CUSTOMERS/ORDERS, vous n’obtenez pas toujours le résultat souhaité. • Lorsque vous ajoutez la restriction à la clause Where d’un objet, vous devez également ajouter cette même restriction à chaque objet construit à partir de l’alias. Si l’alias comporte plusieurs colonnes à partir desquelles vous souhaitez construire des objets, la difficulté de la maintenance de l’univers augmentera proportionnellement. • La restriction à la jointure entre l’alias et une autre table prend effet uniquement lors de l’appel de la jointure, ce qui signifie que l’exécution d’une simple requête contenant seulement l’objet Shipper retourne chaque ligne de l’alias SHIPPERS (y compris les lignes Country non souhaitées), puisqu’il n’y a aucune raison d’inclure la table ORDERS. La jointure n’est donc pas considérée comme nécessaire et la restriction n’est pas appliquée. Résumé Dans cet exemple, nous avons pris en compte un schéma contenant une table de référence partagée. Les actions exécutées peuvent être résumées comme suit : 1. Créez un alias COUNTRY et SHIPPERS pour la table de référence partagée. 2. Créez des auto-jointures comme restrictions pour les alias. Dans cet exemple, les alias permettent de résoudre une boucle en utilisant une table de référence combinée comme deux tables de référence différentes. Ces alias ont également requis la définition de restrictions (auto-jointures). Ainsi, dans certaines structures, les alias peuvent entraîner des ajustements ou des restrictions supplémentaires. 138 Manuel du designer Utilisation des alias Création d’alias dans le Designer DESIGNER permet de mettre en évidence le besoin d’alias et vous guide dans le processus de création d’alias. Vous pouvez également créer des alias manuellement. Création d’un alias manuellement Pour créer un alias de table dans la fenêtre Structure : 1. Cliquez sur la table pour laquelle vous voulez créer un alias. Insérer un alias 2. Sélectionnez la commande Alias dans le menu Insertion ou cliquez sur l’icône correspondante dans la barre des outils d’édition. Une boîte de dialogue vous invite à saisir un nom pour l’alias de table. 3. Saisissez un nouveau nom ou conservez celui proposé. 4. Cliquez sur OK. L’alias de la table apparaît dans la fenêtre Structure. Si vous créez un alias manuellement, vous devez également créer les jointures nécessaires pour le relier aux autres tables. Commande Détecter les alias DESIGNER comprend une fonctionnalité, Détecter les alias, qui permet de détecter et d’indiquer automatiquement les tables qui provoquent la génération de boucles dans l’univers actif. A partir de ces tables et de ces cardinalités, cette fonctionnalité vous propose une liste d’alias que vous devez créer. Au cas où aucun alias n’est nécessaire, DESIGNER vous en informe au moyen d’un message. Rappel : Avant d’utiliser cette commande, vérifiez que toutes les tables de l’univers sont reliées par des jointures. Vous devez également vous assurer que DESIGNER a déjà détecté toutes les cardinalités de jointures ; si tel n’est pas le cas, sélectionnez la commande Détecter les cardinalités du menu Outils. Manuel du designer 139 Chapitre 6 Résolution des problèmes liés aux jointures La procédure suivante permet de résoudre les boucles à l’aide d’alias : Détecter les alias 1. Sélectionnez la commande Détecter les alias du menu Outils ou cliquez sur l’icône correspondante de la barre des outils d’édition. La boîte de dialogue Alias candidats apparaît. Elle comporte deux volets : le volet gauche présente les tables nécessitant un alias tandis que le volet droit propose un ou plusieurs noms d’alias. 2. Sélectionnez la première table à laquelle vous souhaitez affecter un alias, dans le volet gauche. Le volet droit affiche le(s) nom(s) d’alias suggérés par DESIGNER pour la table sélectionnée. Pour attribuer un nom différent à un alias, cliquez sur le bouton Renommer et saisissez le nouveau nom. 3. Cliquez sur le bouton Créer. Un message vous invite à confirmer la création du(des) alias. 4. Cliquez sur le bouton OK. DESIGNER affiche les alias dans la fenêtre Structure. 5. Répétez les étapes 2 à 4 pour les tables restantes (le cas échéant). 6. Cliquez sur Fermer pour quitter la boîte de dialogue. 140 Manuel du designer Utilisation des alias Représentation graphique des alias La représentation graphique d’un alias est presque identique à celle d’une table. S’il vous est difficile de distinguer un alias d’une table, activez l’option Alias et nom de table de l’onglet Graphiques de la boîte de dialogue Options. L’alias affiche ainsi non seulement son propre nom, mais aussi le nom de sa table de provenance entre parenthèses. Propagation des alias Il arrive que le DESIGNER affiche la boîte de dialogue suivante pour certaines tables : Cette situation se présente lorsque la création automatique d’alias nécessite la création d’alias supplémentaires ; en d’autres termes, la création d’alias s’accompagne de la propagation d’alias nouveaux. Vous disposez de deux options pour faire face à cette situation : • Création d’un alias uniquement pour la première table proposée. • Création d’alias pour toutes les tables proposées, c’est-à-dire propagation des alias. Manuel du designer 141 Chapitre 6 Résolution des problèmes liés aux jointures Dans les deux cas, continuez à sélectionner la commande Détecter les alias pour savoir s’il est nécessaire de définir des alias supplémentaires. Si tel n’est pas le cas, DESIGNER affiche le message suivant : Utilisation de contextes Un contexte est une règle permettan de déterminer le chemin à choisir lorsque plusieurs chemins sont possibles dans la base de données. Avec certaines structures de base de données, il se peut que vous deviez utiliser des contextes plutôt que des alias pour résoudre les boucles. Par exemple, c’est souvent le cas pour les bases de données transactionnelles contenant un grand nombre de tables factuelles “multi-étoiles” qui partagent des tables de référence. Par exemple, la base de données Club contient des informations statistiques relatives aux ventes et aux réservations. Les statistiques concernant chaque type de transaction sont stockées dans des tables factuelles distinctes. Toutefois, ces tables factuelles partageant des dimensions communes, telles que Resorts (lieux de séjour) et Customers (clients), le schéma contient une boucle. La seule façon de résoudre cette boucle consiste à s’assurer que les requêtes répondent à des questions pour une transaction ou une autre, telles que : L’information client est-elle nécessaire dans la perspective des ventes ou des réservations ? La méthode de spécification de la perspective appropriée est appelée contexte. Lorsqu’un utilisateur exécute une requête depuis un univers contenant des contextes, BUSINESSOBJECTS ou WEBINTELLIGENCE l’invite à indiquer la perspective correcte pour la requête. 142 Manuel du designer Utilisation de contextes Exemple Contextes ........................................................... Une base de données contient des informations sur les clients qui peuvent acheter ou louer des produits. Par conséquent, deux méthodes de définition de la relation entre les clients et les produits sont donc disponibles : • La première méthode consiste à définir la relation par produits commandés par les clients (ou vendus à ces derniers) . • La deuxième méthode définit la relation par produits loués aux clients. Cette base de données correspond au schéma suivant : Si vous voulez exécuter une requête retournant uniquement une liste de noms de clients et une liste de produits, vous pouvez utiliser la table ORDER et ORDER_LINES. Le résultat est la liste des produits commandés par chaque client. Toutefois, si vous utilisez la table LOANS et LOAN_LINES, vous obtenez une liste des produits loués par chaque client. Le schéma ci-dessus contient une boucle que vous devez traiter. En effet, toute requête impliquant simultanément les six jointures aboutit à une liste des produits vendus et des produits loués aux clients. Ainsi, si un produit a été vendu mais jamais loué, et vice-versa, il n’apparaît pas dans la liste des résultats. Utilisation incorrecte des alias La création d’un alias en vue de résoudre la boucle décrite plus haut ne représente pas la meilleure solution. En effet, dans ce cas, il est préférable d’utiliser des contextes, pour des raisons que nous expliquerons plus loin. Si vous tentez d’identifier la table de référence utilisée à plusieurs fins, des difficultés se présentent immédiatement : s’agit-il de la table PRODUCTS ou CUSTOMERS ? Manuel du designer 143 Chapitre 6 Résolution des problèmes liés aux jointures Supposons que vous décidez de créer deux alias pour la table PRODUCTS comme décrit ci-dessous : Les deux alias sont ORDERED_PRODUCTS et LOANED_PRODUCTS. A ce stade, il y a risque de confusion car la plupart des utilisateurs comprennent produits et non produits commandés ou loués. Si vous décidez également d’ajouter une table COUNTRY afin de faire apparaître le fait que les produits sont fabriqués dans des pays différents, vous devez la relier directement à la table PRODUCTS. Le schéma obtenu est le suivant : Dans ce schéma, il a été nécessaire de créer deux nouveaux alias, ORDERED_PRODUCTS_COUNTRY et LOANED_PRODUCTS_COUNTRY. Il est clair que l’utilisation d’alias n’est pas satisfaisante pour ce schéma. 144 Manuel du designer Utilisation de contextes Autre solution : les contextes Un contexte est un ensemble de jointures qui spécifie un chemin parmi plusieurs, via les tables d’une boucle. Il garantit que des jointures provenant de différents chemins ne sont pas inclues dans la même requête SQL. Dans l’exemple ci-dessus, deux chemins relient les tables de référence CUSTOMERS et PRODUCTS. L’un d’eux passe par les tables ORDERS et ORDER_LINES ; l’autre passe par les tables LOANS et LOAN_LINES. Pour chaque chemin, vous pouvez définir un contexte en lui attribuant un libellé et en identifiant l’ensemble de jointures qu’il contient ; ces dernières deviennent les jointures prises en compte dans la requête, les autres jointures de la boucle n’étant pas autorisées. Le contexte Orders (commandes) est constitué du chemin le plus foncé présenté ci-dessous : Contexte Orders Le contexte Loans (prêts) comprend le chemin le plus foncé ci-dessous : Contexte Loans Manuel du designer 145 Chapitre 6 Résolution des problèmes liés aux jointures Comment les contextes affectent-ils les requêtes ? Les contextes définis dans un univers peuvent mener à trois types de requêtes : • requêtes ambigües, • requêtes inférées, • requêtes incompatibles. Requêtes ambigües Dans BUSINESSOBJECTS ou WEBINTELLIGENCE, un utilisateur final désire construire une requête simple à deux objets : Customer Name (nom du client) de la table CUSTOMERS et Product Name (nom du produit) de la table PRODUCTS. Lorsqu’un utilisateur clique sur le bouton Exécuter dans l’éditeur de requête (ou sur le bouton Exécuter dans l’éditeur Web de WEBINTELLIGENCE), une vérification est d’abord effectuée pour déterminer si l’univers contient des contextes. Dans le cas présent, il détecte deux contextes mais ne trouve pas suffisamment d’informations dans l’éditeur de requête ou l’éditeur Web pour déterminer quel est le chemin (contexte) à suivre entre les deux tables de référence. BUSINESSOBJECTS ou WEBINTELLIGENCE affiche alors une boîte de dialogue invitant l’utilisateur à sélectionner l’un des deux contextes, Orders ou Loans. Une fois le contexte voulu sélectionné, BUSINESSOBJECTS ou WEBINTELLIGENCE insère les tables et les jointures correspondantes dans la requête SQL. Par exemple, si l’utilisateur sélectionne le contexte Orders, le SQL généré est le suivant : SELECT CUSTOMER.NAME, PRODUCTS.NAME FROM CUSTOMER, ORDERS, ORDER_LINES, PRODUCTS WHERE (CUSTOMER.CUST_ID=ORDERS.CUST_ID) AND (ORDERS.ORDER_ID=ORDER_LINES.ORDER_ID) AND (ORDER_LINES.PROD_ID=PRODUCTS.PROD_ID) Notez que les jointures référencées par l’autre contexte (Loans) n’apparaissent pas dans le SQL. 146 Manuel du designer Utilisation de contextes Requêtes inférées Le même utilisateur construit une nouvelle requête incluant les mêmes deux objets, Customer Name et Product Name, et lui ajoute un troisième objet : Order Date (date de commande), de la table ORDERS. Lorsque l’utilisateur clique sur le bouton d’exécution de la requête, BUSINESSOBJECTS ou WEBINTELLIGENCE ne l’invite pas à sélectionner un contexte ; au lieu de cela, l’application infère que l’utilisateur souhaite utiliser le contexte Orders puisque l’objet Order Date provient de la table ORDERS appartenant au contexte Orders. Requêtes incompatibles L’utilisateur final construit maintenant une requête finale incluant les trois mêmes objets : Customer Name, Product Name et Order Date. L’utilisateur ajoute alors un quatrième objet appelé Loan Date (date de location) de la table LOANS. Lorsqu’un utilisateur clique sur le bouton Exécuter dans l’éditeur de requête, aucune invite n’apparaît. BUSINESSOBJECTS ou WEBINTELLIGENCE est capable d’inférer que l’utilisateur souhaite utiliser les deux contextes Orders et Loans. Par conséquent, il traite la requête en deux parties : • Une partie retourne les données Customer Name, Order Date et Product Name. • L’autre retourne les données Customer Name, Loan Date et Product Name. Lors du rapatriement des résultats de la requête, BUSINESSOBJECTS ou WEBINTELLIGENCE combine les résultats (à l’aide de Customer Name). Le résultat est ensuite affiché sous forme de deux tableaux dans le même rapport. L’exemple suivant est une section d’un tel rapport. Manuel du designer 147 Chapitre 6 Résolution des problèmes liés aux jointures Avertissement concernant les contextes Dans le schéma ci-dessous, chaque jointure est accompagnée d’un L (Loans) ou d’un O (Orders), selon le contexte dont elle dépend. Dans l’exemple précédent, vous avez ajouté la table COUNTRY pour répondre au besoin d’informations cocernant le pays d’origine des produits. Vous avez relié cette table à la table PRODUCTS sans l’inclure dans un contexte défini. Si vous laissez cette situation en l’état, le SQL sera inexact en cas de construction d’une requête utilisant la table COUNTRY. Explication : supposons que l’utilisateur construit une requête utilisant les objets suivants issus de la table COUNTRY : Customer Name, Product Name et Country of Manufacture. A l’invite, l’utilisateur sélectionne le contexte Orders. Lors de l’exécution de la requête, BUSINESSOBJECTS ou WEBINTELLIGENCE examine le contexte Orders mais ne voit pas la jointure entre PRODUCTS et COUNTRY dans sa liste de jointures. BUSINESSOBJECTS considère alors que cette jointure ne peut pas être inclue comme partie de la requête d’origine. 148 Manuel du designer Utilisation de contextes A quel contexte appartient la jointure entre PRODUCTS et COUNTRY ? La réponse est : aux deux. Les définitions finales des contextes sont les suivantes : Notez que la jointure de PRODUCTS à COUNTRY apparaît dans les deux contextes. Dans le schéma ci-dessous, le contexte Orders est représenté par l’ensemble de jointures le plus foncé : Dans le même schéma, le contexte Loans est représenté par l’ensemble de jointures le plus foncé : Manuel du designer 149 Chapitre 6 Résolution des problèmes liés aux jointures A la lumière des explications précédentes, la règle suivante peut être édictée : Lorsque vous commencez à utiliser des contextes dans un univers, vous devez inclure chaque jointure dans au moins un contexte. Création de contextes dans le Designer Pour créer un contexte manuellement, procédez comme suit : Insérer un contexte 1. Sélectionnez la commande Contexte du menu Insertion ou cliquez sur le bouton correspondant de la barre d’outils d’édition. La boîte de dialogue Nouveau contexte s’affiche. 2. Saisissez un nom de contexte dans le champ prévu à cet effet. 3. Dans la liste des jointures, sélectionnez toutes les jointures nécessaires à la définition du contexte. Si vous avez besoin d’assistance, cliquez sur le bouton Détecter qui affiche les jointures formant un contexte et suggère un nom. 4. Si vous voulez voir les jointures que vous avez sélectionnées, cochez la case Tables sélectionnées seulement. Ainsi, vous avez une vue globale des jointures sélectionnées. Pour rétablir l’affichage initial, décochez la case d’option. 5. Cliquez sur OK. Le contexte est créé. 150 Manuel du designer Utilisation de contextes Commande Détecter les contextes Lorsque vous sélectionnez la commande Détecter les contextes, DESIGNER affiche une boîte de dialogue vous proposant des contextes que vous pouvez créer pour résoudre des boucles. Si votre univers ne contient aucune boucle, ceci vous est communiqué au moyen d’un message. Pour obtenir une liste de contextes : Détecter les contextes 1. Sélectionnez la commande Détecter les contextes du menu Outils ou cliquez sur le bouton correspondant de la barre d’outils d’édition. La boîte de dialogue Contextes candidats s’affiche. 2. Dans le volet gauche de la boîte de dialogue, cliquez sur le nom du premier contexte que vous souhaitez créer. 3. Cliquez sur le bouton Ajouter. Le contexte sélectionné s’affiche dans le volet droit. Pour supprimer un contexte, sélectionnez-le, puis cliquez sur le bouton Supprimer. 4. Répétez les points 2 et 3, si nécessaire, pour ajouter les autres contextes. 5. Si vous souhaitez renommer un contexte, sélectionnez-le dans le volet gauche, puis cliquez sur le bouton Renommer. La boîte de dialogue Renommer le contexte s’affiche. Saisissez un nouveau nom dans le champ correspondant. 6. Cliquez sur OK. Manuel du designer 151 Chapitre 6 Résolution des problèmes liés aux jointures Les contextes et les alias peuvent-ils être utilisés ensemble ? Il est possible d’utiliser des contextes et des alias dans le même univers. En fait, dans plusieurs cas, il est conseillé de les utiliser ensemble. L’exemple suivant présente une situation où les alias et les contextes sont nécessaires. Commençons par un univers basé sur le schéma suivant : Effectuez les actions suivantes sur cet univers : • Créez deux alias pour la table COUNTRY : CUST_COUNTRY et PROD_COUNTRY. • Définissez deux contextes pour résoudre les boucles de CUSTOMERS à PRODUCTS (Orders et Loans). • Assurez-vous que les deux jointures entre CUSTOMERS et CUST_COUNTRY et PRODUCTS et PROD_COUNTRY apparaissent dans les deux contextes. Le schéma de l’univers devient alors : 152 Manuel du designer Quand utiliser des contextes et non des alias Quand utiliser des contextes et non des alias Aucune règle n’est imposée pour la résolution des boucles, si ce n’est que, dans la majorité des cas, il est préférable de choisir les alias plutôt que les contextes. En effet, lorsqu’un alias est utilisé au lieu d’un contexte, la structure de la base de données est révélée à l’utilisateur final de BUSINESSOBJECTS. Il doit alors décider du contexte à utiliser pour exécuter sa requête. Le rôle de l’univers est de protéger l’utilisateur des complexités techniques de la structure de la base de données pour qu’il n’ait pas à prendre de telles décisions. Les contextes peuvent être source de confusion pour les utilisateurs finals Le contexte peut être source de confusion pour l’utilisateur final lorsqu’il doit prendre une décision concernant la signification d’un objet. Par exemple, imaginez un utilisateur final visualisant l’objet Country dans la fenêtre Univers. Il s’interroge sur l’objet : Quel est ce pays ? Est-ce le pays de résidence du client, la destination de livraison ou le pays de fabrication du produit ? Lors de l’exécution de la requête, cet uitlisateur est également invité à indiquer à BUSINESSOBJECTS ou à WEBINTELLIGENCE le chemin d’accès correct à la base de données. Dans ce cas, il est préférable de créer des alias dont les noms sont familiers tels que Customer’s Country of Residence (pays de résidence du client), Shipment Destination (destination de livraison) ou Product’s Country of Manufacture (pays de fabrication). Dans l’exemple de boucle CUSTOMERS/PRODUCTS étudié plus haut dans ce chapitre, l’utilisation des contextes est plus appropriée que celles des alias. Toutefois, en situation réelle, de tels cas sont rares. Quand utiliser des alias ou des contextes ? Les règles suivantes permettent de décider si l’alias ou le contexte est le plus approprié pour la résoltion des boucles : Lors de la création d’alias, si vous obtenez des noms d’objet très différents (Customer’s Country of Residence, Shipment Destination et Products Country of Manufacture), il est préférable d’utiliser des alias. Si, au contraire, vous obtenez des noms d’objet très proches (tels que Ordered Products et Loaned Products ou Ordered Products’ Country of Manufacture et Loaned Products’ Country of Manufacture), pensez à utiliser des contextes. Manuel du designer 153 Chapitre 6 Résolution des problèmes liés aux jointures Chemins de jointure retournant un nombre de lignes trop élevé Les bases de données relationnelles donnent lieu à un problème fréquent : les chemins de jointure qui retournent plus de lignes que prévu. Deux types de chemins de jointure sont dans ce cas. • Les jointures convergentes de type plusieurs-à-une, également appelées interruptions de séquence (Chasm Trap). • Les jointures en série de type plusieurs-à-une, également appelées interruptions de séquence (Fan trap). Détection et résolution d’interruptions de séquence (jointures convergentes) L’interruption de séquence survient lorsque deux jointures “plusieurs-à-une” convergent vers une seule table. Les résultats obtenus sont incorrects si une requête est exécutée dans les conditions suivantes : • Une “relation plusieurs-à-une” existe parmi trois tables dans la structure de l’univers. • La requête inclut des objets basés sur deux tables, les deux se trouvant respectivement à l’extrémité “plusieurs” de leurs jointures. • Plusieurs lignes sont retournées pour une seule dimension. Dans l’exemple ci-dessous, un client peut passer plusieurs commandes et/ou plusieurs demandes de location : 154 Manuel du designer Chemins de jointure retournant un nombre de lignes trop élevé Si vous exécutez une requête retournant les valeurs totales de la commande et de la location pour le client, vous obtenez les résultats suivants : CUSTOMER. NAME ORDERS.DATE ORDERS.TOTAL_ VALUE LOANS.DATE LOANS.TOTAL_VALUE Paul 12/01/99 100.00 05/08/97 50.00 Paul 14/04/99 150.00 05/08/97 50.00 Paul 20/09/99 150.00 05/08/97 50.00 Paul 12/01/99 100.00 03/06/97 100.00 Paul 14/04/99 150.00 03/06/97 100.00 Paul 20/09/99 150.00 03/06/97 100.00 Sum = 800 Sum = 450 La valeur totale retournée pour la commande est 800, tandis que la valeur totale de location est 450. Ces résultats sont visiblement incorrects. Un produit cartésien des tables CUSTOMER, ORDERS et LOAN a été retourné. Les résultats corrects sont : • Valeur totale de la commande pour Paul : 400. • Valeur totale de location pour Paul : 150. Comment détecter une interruption de séquence Il n’est pas possible de détecter automatiquement des interruptions de séquence (pour jointures convergentes). Vous devez observer visuellement la direction des cardinalités affichées dans le schéma de tables. Si vous disposez de deux tables factuelles avec des jointures plusieurs-à-une convergeant vers une seule table de référence, il existe une interruption de séquence potentielle. Pour en savoir plus sur l’organisation d’un schéma de tables pour détecter des problèmes relatifs aux jointures, reportez-vous à la section “Organisation du schéma de tables pour détecter des problèmes liés aux jointures”, page 163. Manuel du designer 155 Chapitre 6 Résolution des problèmes liés aux jointures Comment résoudre une interruption de séquence Pour résoudre une interruption de séquence, vous devez générer deux requêtes séparées et combiner ensuite les résultats. Selon les types d’objet définis pour les tables factuelles et le type d’environnement utilisateur, vous pouvez recourir aux méthodes suivantes : • Créez un contexte pour chaque table factuelle. Cette solution fonctionne dans tous les cas pour les univers BUSINESSOBJECTS. • Modifiez les paramètres SQL pour l’univers afin de pouvoir générer des requêtes SQL séparées pour chaque indicateur. Cette solution est valable uniquement pour les indicateurs. Elle ne permet pas de générer des requêtes séparées pour les objets dimension ou information. • Diviser l’univers en plusieurs univers, à raison d’un univers par table factuelle. Cette solution ne s’applique qu’aux univers WEBINTELLIGENCE univers, où une ou les deux tables factuelles contiennent des objets dimension, de sorte que deux ordres SELECT sont synchronisés et non joints. Chaque méthode est décrite dans les sections ci-dessous. Création d’un contexte pour chaque table factuelle Vous pouvez définir un contexte pour chaque table à l’extrémité "plusieurs" des jointures. Dans notre exemple, vous pouvez définir un contexte depuis CUSTOMER vers ORDERS et depuis CUSTOMER vers LOANS. Lorsque vous exécutez une requête incluant des objets issus des deux contextes, deux ordres SQL sont générés ainsi que deux tables séparées dans Business Objects, ce qui empêche la création d’un produit cartésien. Quand utiliser des contextes Créer des contextes permet toujours de résoudre une interruption de séquence (cas des jointures convergentes) dans des univers BUSINESSOBJECTS. Lorsqu’une ou deux tables factuelles contiennent des objets dimension, utilisez un contexte. 156 Manuel du designer Chemins de jointure retournant un nombre de lignes trop élevé Quand ne pas utiliser de contexte Lorsque deux ordres SELECT sont synchronisés et non joints dans des univers WEBINTELLIGENCE, l’utilisateur final peut trouver difficile d’interpréter la table retournée. Dans BUSINESSOBJECTS, les deux ordres SELECT sont synchronisés pour produire deux tables mises en correspondance sur une dimension, comme illustré ci-dessous. Dans un rapport WEBINTELLIGENCE, une seule table de résultats peut être affichée. Pour garantir que les données sont correctement affichées dans la table, les deux ordres SELECT ne doivent pas être synchronisés. Toutefois, lorsque vous utilisez des contextes, Designer synchronise l’ordre SELECT à partir de chaque contexte, ce qui aboutit à une table incorrecte dans un rapport WEBINTELLIGENCE. Ce rapport est présenté ci-dessous, avec une table réunissant les résultats. Manuel du designer 157 Chapitre 6 Résolution des problèmes liés aux jointures Le rapport WEBINTELLIGENCE est difficile à interpréter. Les objets Année de réservation (Reservation Year) et Chiffre d’affaires (Revenue) semblent liés alors qu’ils ne le sont pas. Dans le cas des utilisateurs finals de WEBINTELLIGENCE, la création de contextes pour résoudre une interruption de séquence lorsque des objets dimension et indicateur sont définis dans les deux tables factuelles ne représente pas la meilleure solution. Pour résoudre le problème, vous pouvez diviser l’univers en deux univers distincts, un pour chaque table factuelle. Pour en savoir plus, reportez-vous à la section "Création de plusieurs univers". Utilisation d’ordres SQL multiples pour chaque indicateur Si seuls des indicateurs sont définis pour les deux tables factuelles, vous pouvez utiliser l’option disponible dans les paramètres de l’univers, Ordres SQL multiples pour chaque indicateur. Cette option force la génération de requêtes SQL séparées pour chaque indicateur apparaissant dans l’éditeur de requête. Cette solution n’est pas applicable aux objets dimension et information. Pour sélectionner l’option, procédez comme suit : 1. Sélectionnez Fichier>Paramètres dans la barre de menu. La boîte de dialogue Paramètres de l’univers s’affiche. 2. Cliquez sur l’onglet SQL. 3. Activez la case à cocher Ordres SQL multiples pour chaque indicateur dans la zone Chemins multiples. 4. Cliquez sur OK. Quand utiliser plusieurs ordres SQL pour chaque indicateur Cette solution s’applique aux univers BUSINESSOBJECTS et WEBINTELLIGENCE qui contiennent uniquement des indicateurs définis pour les deux tables factuelles. L l’utilisation de plusieurs ordres SQL présente un intérêt car elle permet d’éviter d’utiliser des contextes qu’il faut gérer ensuite. Quand ne pas utiliser plusieurs ordres SQL pour chaque indicateur Vous ne devez pas utiliser la fonction Ordres SQL multiples pour chaque indicateur lorsque des objets dimension ou information sont définis pour une ou les deux tables factuelles. Si tel est le cas, un produit cartésien est retourné en résultat de la requête. Cette solution augmente le temps de réponse. Si la baisse des performances de la requête est élevée, envisagez de créer des contextes (BUSINESSOBJECTS) ou des univers séparés (WEBINTELLIGENCE) pour résoudre l’interruption de séquence. 158 Manuel du designer Chemins de jointure retournant un nombre de lignes trop élevé Création de plusieurs univers Diviser un univers en plusieurs autres univers constitue une solution éventuelle dans le cas des univers WEBINTELLIGENCE, pour les raisons suivantes : • Il est déconseillé d’utiliser un contexte pour résoudre une interruption de séquence dans les univers WEBINTELLIGENCE, pour les requêtes où les ordres SELECT sont synchronisés et retournent une table difficile à interpréter. • Si des objets dimension sont définis dans l’une des tables factuelles, vous ne pouvez pas utiliser la fonction Ordres SQL multiples pour chaque indicateur pour résoudre une interruption de séquence car cette opération retourne un produit cartésien. Adaptation des univers à l’environnement de génération des rapports Si les utilisateurs regroupent à la fois des utilisateurs BUSINESSOBJECTS et WEBINTELLIGENCE, il peut être nécessaire de créer un seul univers pour l’environnement client complet et plusieurs autres pour les utilisateurs WEBINTELLIGENCE. Dans notre exemple, vous êtes supposé créer un univers Orders et un univers Loans. Même si les utilisateurs finals de WEBINTELLIGENCE sont ainsi limités à la création de rapports basés sur l’une ou l’autre des tables factuelles, la conception et le déploiement d’univers plus petits et plus spécifiques sont plus appropriés pour les fonctionnalités de génération de rapports de WEBINTELLIGENCE, plus ciblées par rapport au produit client complet BUSINESSOBJECTS. La division d’un univers en plusieurs autres univers, pour les utilisateurs de WEBINTELLIGENCE, représente la meilleure méthode pour résoudre une interruption de séquence lorsqu’il n’est pas possible de recourir à la fonction Ordres SQL multiples pour chaque indicateur et que l’utilisation de contextes n’est pas appropriée (en raison d’ordres SELECT synchronisés et non joints). Cependant, si la base d’utilisateurs regroupe à la fois des utilisateurs BUSINESSOBJECTS et WEBINTELLIGENCE, il peut être nécessaire d’envisager dès le stade de planification d’univers, les types d’univers à concevoir pour les deux environnements. Planification pour éviter les interruptions de séquence dans des univers WebIntelligence Si vous concevez des univers pour des utilisateurs WEBINTELLIGENCE et BUSINESSOBJECTS, vous pouvez prévoir deux cycles de développement d’univers différents. Votre plan de conception pour les univers WEBINTELLIGENCE peut reposer sur les points suivants : • Affichage d’une seule table. • Un seul fournisseur de données pour chaque rapport. Manuel du designer 159 Chapitre 6 Résolution des problèmes liés aux jointures • Un seul éditeur de requête. • Une requête peut générer du multi-SQL, mais un seul cube. Le multi-SQL doit joindre et non synchroniser des ordres SELECT pour que les données soient affichées correctement dans la seule table de résultats retournée. Quand utiliser plusieurs univers Vous pouvez utiliser plusieurs univers pour résoudre une interruption de séquence dans un univers WEBINTELLIGENCE, lorsque des objets dimension sont définis pour une ou les deux tables factuelles et que la fonction Ordres SQL multiples pour chaque indicateur ne peut alors être utilisée. Quand ne pas utiliser plusieurs univers Vous ne pouvez pas utiliser plusieurs univers dans les situations suivantes : • Quand il s’agit d’univers d’environnement client complet BUSINESSOBJECTS. • Quand un univers WEBINTELLIGENCE ne contient pas d’objets dimension définis pour l’une des tables factuelles. Détection et résolution d’interruptions de séquence (jointures en série) L’interruption de séquence (cas de jointures en série) survient lorsqu’une jointure de type “une-à-plusieurs” lie une table, à son tour liée par une autre jointure de même type. L’effet de déploiement en éventail de jointures de type “une-àplusieurs” peut entraîner des résultats incorrects lorsqu’une requête inclut des objets basés sur les deux tables. Voici un exemple simple de ce type d’interruption de séquence : 160 Manuel du designer Chemins de jointure retournant un nombre de lignes trop élevé Lorsque vous exécutez une requête demandant le total des commandes par ligne de commande et pour un client particulier, les résultats retournés sont incorrects : en effet, vous exécutez une fonction agrégée sur la table à l’extrémité “unique” de la jointure tout en établissant une jointure par l’extrémité “plusieurs”. Par exemple, si vous exécutez la requête suivante sur les trois tables : SELECT CUSTOMER.NAME, SUM(ORDERS.TOTAL_VALUE), SUM(ORDER_LINES.QTY_SOLD) FROM CUSTOMER, ORDERS, ORDER_LINES WHERE (CUSTOMER.CUST_ID=ORDERS.CUST_ID) AND (ORDERS.ORDER_ID=LINES.ORDER_ID) AND (CUSTOMER.NAME=’PAUL’) GROUP BY CUSTOMER.NAME Le résultat est un produit cartésien qui génère un chiffre gonflé du nombre total de commandes passées par le client Paul, comme décrit dans le tableau suivant : CUSTOMER. NAME ORDERS.TOTAL_VALUE ORDER_LINES.PROD _ID ORDER_LINES.QTY_ SOLD Paul 550000 JAGUAR 3 Paul 550000 PEUGEOT 5 Paul 550000 VW 1 Sum = 1650000 Sum = 9 Manuel du designer 161 Chapitre 6 Résolution des problèmes liés aux jointures Comment détecter une interruption de séquence (jointures en série) Il est impossible de détecter automatiquement une interruption de séquence. Pour cela, vous devez observer visuellement la direction des cardinalités affichées dans le schéma de tables. Si deux tables sont référencées par des indicateurs et jointes dans une série de jointures de type plusieurs-à-une, il existe une interruption de séquence potentielle. Pour obtenir une description de l’organisation d’un schéma de tables afin de détecter les problèmes liés aux jointures, reportez-vous à la section "Organizing a Table Schema to Detect Join Problems." Comment résoudre une interruption de séquence Si la requête contient uniquement des indicateurs issus des deux tables ayant généré l’interruption de séquence, vous pouvez utiliser la fonction Ordres SQL multiples pour chaque indicateur afin de générer des requêtes SQL séparées pour chaque indicateur. Cependant, cette solution ne s’applique pas aux objets dimension. L’option concernée est accessible à partir de la page SQL de la boîte de dialogue Paramètres de l’univers. Pour savoir comment activer cette option, reportez-vous à la section “Utilisation d’ordres SQL multiples pour chaque indicateur”, page 158. 162 Manuel du designer Organisation du schéma de tables pour détecter des problèmes liés aux jointures Organisation du schéma de tables pour détecter des problèmes liés aux jointures Il est possible de détecter visuellement des interruptions de séquence potentielles dans le schéma de tables en organisant les tables dans la fenêtre Structure de sorte que les extrémités multiples ("plusieurs") des jointures se trouvent de l’un des côtés de la fenêtre, tandis que les extrémités uniques ("une") soient placées de l’autre côté. L’exemple ci-dessous présente un schéma de base de données où le flux de jointures de type une-à-plusieurs est organisé de gauche à droite. Manuel du designer 163 Chapitre 6 Résolution des problèmes liés aux jointures Interruption de séquence potentielle (jointures convergentes) L’interruption de séquence potentielle impliquant les tables CUSTOMER, ORDERS et SALES est clairement visible. Dans ce cas, le problème est résolu par la création des contextes LOANLINE et SALELINE. Interruption de séquence potentielle (jointures en série) Les interruptions de séquence potentielles impliquent les tables CUSTOMER, LOAN et LOANLINE dans le contexte LOANLINE et les tables CUSTOMER, SALES et SALELINE dans le contexte SALELINE : 164 Manuel du designer Chapitre 7 Définition des classes et des objets ................................................................................. Dans ce chapitre ❑ Généralités 167 ❑ Utilisation de la fenêtre Univers 167 Opérations de base communes aux classes, aux objets et aux conditions 168 ❑ Création et édition des classes 169 Création d’une nouvelle classe 169 Edition d’une classe 170 Création de sous-classes 171 ❑ Création et édition des objets 172 Création d’un nouvel objet 172 Définition d’un objet 173 Définition du format d’un objet 199 Manuel du designer 165 Chapitre 7 Définition des classes et des objets ❑ Mise en oeuvre de l’analyse multidimensionnelle 201 Qu’est-ce que l’analyse multidimensionnelle ? 201 Comment repérer une hiérarchie ? 202 Utilisation de l’éditeur de hiérarchies 204 ❑ Vérification de l’intégrité de l’univers 207 166 Manuel du designer Généralités Généralités Dans les chapitres précédents, vous avez appris à créer les éléments constituant la structure de l’univers, c’est-à-dire les tables, les colonnes et les jointures. Vous avez également vu le procédé de résolution des boucles dans les jointures. Une fois que vous avez créé cette structure sous-jacente de la base de données interrogée, vous pouvez continuer à peaufiner les classes et les objets de votre univers. Dans le présent chapitre, nous examinons l’univers à partir des classes et des objets qui le constituent. Utilisation de la fenêtre Univers La fenêtre Univers présente une vue hiérarchique des classes et des objets de votre univers. Elle affiche les noms des classes à côté d’un symbole en forme de dossier, et les noms des objets à côté d’un symbole indiquant leur qualification. Les différentes qualifications des objets sont expliquées plus loin dans ce chapitre. Légende Classes : Ouvert (Tous les objets d’une classe sont affichés.) Fermé (Seul le nom de classe est visible). Qualification de l’objet : Dimension Indicateur Information Filtre des classes/ objets Filtre des classes/conditions Fenêtre Univers Manuel du designer 167 Chapitre 7 Définition des classes et des objets Vous pouvez afficher une classe en mode ouverture ou en mode fermeture. Lorsqu’elle est fermée, le symbole de classe est affiché à côté d’un signe plus (+). Lorsqu’elle est ouverte, celui-ci est affiché à côté d’un signe moins (-). Une classe ne contenant aucun objet, ne porte pas de signe à côté de son symbole. Les deux boutons d’options au bas de la fenêtre permettent de filtrer l’affichage des classes et des objets. Le bouton de gauche est le filtre classes/objets et permet de visualiser les classes et les objets. Si vous activez le filtre classes/conditions, seules les classes et les conditions de l’univers sont affichées. Dans la fenêtre Univers, vous pouvez créer des classes et des objets à partir de rien ou éditer les classes et les objets existants. Opérations de base communes aux classes, aux objets et aux conditions Dans la fenêtre Univers, certaines opérations sont communes aux classes, aux objets et aux conditions. Couper, copier, coller Vous pouvez couper, copier et coller les éléments sélectionnés avec les commandes classiques. Déplacement des classes, des objets et des conditions Vous pouvez déplacer un élément vers un autre emplacement au moyen de la technique du glisser-déplacer. Afficher/masquer des classes, des objets et des conditions Dans les univers que vous créez, il peut être utile de masquer certaines classes, certains objets ou certaines conditions dans la fenêtre Univers. Vous pouvez avoir plusieurs raisons pour masquer un ou plusieurs éléments : • Les éléments proviennent d’univers liés et ne sont pas utilisés dans l’univers actif (pour plus d’informations sur les univers liés, consultez le chapitre 7). • Les objets sont là uniquement pour optimiser la syntaxe SQL et devraient donc être invisibles pour les utilisateurs finals. • Vous êtes en train de développer un élément que vous ne souhaitez pas mettre à la disposition des utilisateurs finals dans l’éditeur de requête. • Vous voulez temporairement désactiver certains éléments sans pour autant les supprimer. 168 Manuel du designer Création et édition des classes Pour masquer une classe, un objet ou une condition : 1. Cliquez sur l’élément dans la fenêtre Univers. Afficher ou masquer l’élément 2. Sélectionnez la commande Masquer l’élément du menu Edition ou cliquez sur le bouton correspondant de la barre d’outils d’édition. L’élément s’affiche en italique dans la fenêtre Univers. Pour faire réapparaître l’élément, activez-le à nouveau, puis sélectionnez la commande Afficher l’élément du menu Edition. Cette commande bascule donc entre Afficher et Masquer. Création et édition des classes Cette section fournit les informations nécessaires à la création de classes et à l’édition des classes existantes. Création d’une nouvelle classe La création d’une classe est une procédure simple. Procédez comme suit : 1. Dans la fenêtre Univers, cliquez sur la classe suivant laquelle vous souhaitez faire figurer la nouvelle classe. Insérer une classe 2. Sélectionnez la commande Classe du menu Insertion ou cliquez sur le bouton correspondant de la barre d’outils d’édition. La boîte de dialogue Editer les propriétés s’affiche. 3. Saisissez le nom de la classe dans le champ correspondant. Par défaut, DESIGNER affiche une appellation de classe automatique, c’est-àdire Classe1 pour la première classe créée, Classe2 pour la deuxième classe créée, et ainsi de suite. 4. Donnez une description de la classe dans le champ Description. Ce point est facultatif. 5. Cliquez sur OK. Pour plus d’informations sur la boîte de dialogue Editer les propriétés, reportezvous à la section suivante. Manuel du designer 169 Chapitre 7 Définition des classes et des objets Edition d’une classe Les options figurant dans la boîte de dialogue Editer les propriétés vous permettent également de modifier une classe. Une classe contient des objets associés. Elle peut se composer également d’une ou plusieurs sous-classes. Nom Par défaut, le nom de toutes les classes que vous avez créées de façon automatique est le même que celui de la table dont il est issu. Un nom de classe peut contenir un maximum de 35 caractères alphanumériques, y compris les caractères spéciaux et les espaces. Il doit être unique et fait la distinction entre majuscules et minuscules. Vous pouvez renommer une classe à tout moment. 170 Manuel du designer Création et édition des classes Description Dans la zone Description, vous pouvez saisir une description de la classe ou des commentaires quelconques. Appuyez sur les touches Ctrl et Entrée de votre clavier pour aller à la ligne. Les utilisateurs finals verront cette description dans la zone d’aide des classes et des objets dans l’éditeur de requête. Cliquez sur OK ou sur Appliquer. L’activation de ces boutons a pour effet d’appliquer les modifications que vous avez effectuées dans la boîte de dialogue. Toutefois, vous quittez la boîte de dialogue en utilisant le bouton OK et vous la conservez à l’écran lorsque vous cliquez sur le bouton Appliquer. Utilisez le bouton Appliquer si vous voulez éditer toute une série de classes. Création de sous-classes Vous créez une sous-classe à l’intérieur d’une classe pour organiser vos objets. Celle-ci peut contenir d’autres sous-classes et/ou des objets. Pour créer une sous-classe, procédez à l’aide d’une des méthodes suivantes : • Cliquez sur un objet d’une classe, puis sélectionnez la commande Classe du menu Insertion. • Cliquez sur une classe, puis sélectionnez la commande Sous-classe du menu Insertion. • Cliquez sur une classe, cliquez sur le bouton droit de la souris, puis sélectionnez la commande Sous-classe dans le menu qui s’affiche. Dans la fenêtre Univers ci-dessus, Parrain est une sous-classe de la classe Customers. Elle contient des objets qui sont indirectement liés aux clients. Manuel du designer 171 Chapitre 7 Définition des classes et des objets Création et édition des objets Cette section fournit les informations nécessaires à la création de nouveaux objets et à l’édition des objets existants. Dans les deux cas, vous travaillez dans la boîte de dialogue Editer les propriétés. Création d’un nouvel objet Les étapes de création d’un objet sont les suivantes : 1. Dans la fenêtre Univers, positionnez le pointeur de la souris sur la classe à l’intérieur de laquelle vous souhaitez faire figurer l’objet. Vous pouvez sélectionner, soit le nom de la classe, soit un objet appartenant à cette classe. Insérer un objet 2. Sélectionnez la commande Objet du menu Insertion ou cliquez sur le bouton correspondant de la barre d’édition. La boîte de dialogue Editer les propriétés s’affiche. 3. Saisissez le nom de l’objet dans le champ Nom. Par défaut, le DESIGNER affiche une appellation d’objet automatique, c’est-àdire Objet1 pour le premier objet créé, Objet2 pour le deuxième objet créé, et ainsi de suite. 4. Modifiez, si nécessaire, le type de l’objet dans la boîte à liste. Un objet peut être de type binaire (blob), de type alphanumérique, de type numérique et de type date. 5. Donnez une description de l’objet dans le champ Description. 6. Entrez la syntaxe de l’instruction Select dans le champ prévu à cet effet. Vous pouvez utiliser l’éditeur de SQL pour formuler la syntaxe. Reportezvous à la section “Utilisation de l’éditeur de SQL”, page 177. 7. Entrez la syntaxe de la clause Where dans le champ prévu à cet effet. Vous pouvez utiliser l’éditeur de SQL pour formuler la syntaxe. Reportezvous à la section “Utilisation de l’éditeur de SQL”, page 177. 8. Cliquez sur OK. L’objet est créé. Vous devez également spécifier les caractéristiques restantes de l’objet dans la boîte de dialogue Editer les propriétés. 172 Manuel du designer Création et édition des objets Définition d’un objet La boîte de dialogue Editer les propriétés affiche des options relatives à la définition d’un objet. Ces options se trouvent dans trois onglets différents : Définition, Propriétés et Avancées. Pour tout objet que vous avez créé de façon automatique (au moyen de l’assistant de création d’univers ou en sélectionnant des tables et des colonnes dans la Liste de tables), la boîte de dialogue affiche des caractéristiques par défaut. Vous pouvez naturellement modifier ces valeurs. La boîte de dialogue Editer les propriétés est dynamique. En effet, vous pouvez sélectionner n’importe quel autre objet dans la fenêtre Univers et DESIGNER affiche les caractéristiques de cet objet. Ainsi, vous pouvez éditer plusieurs objets, les uns à la suite des autres sans jamais fermer la boîte de dialogue. Définition d’un objet Toutes les options correspondant à la définition d’un objet sont regroupées dans l’onglet Définition. Manuel du designer 173 Chapitre 7 Définition des classes et des objets Cliquez sur OK ou sur Appliquer. L’activation de ces boutons a pour effet d’appliquer les modifications que vous avez effectuées dans la boîte de dialogue. Toutefois, vous quittez la boîte de dialogue en utilisant le bouton OK et vous la conservez à l’écran lorsque vous cliquez sur le bouton Appliquer. Utilisez le bouton Appliquer si vous voulez éditer toute une série d’objets. Vous pouvez annuler toutes les modifications que vous avez effectuées, à condition de ne pas avoir utilisé le bouton Appliquer. Pour ce faire, cliquez sur Annuler. Utilisez le bouton Vérifier pour savoir si les syntaxes SQL que vous avez saisies ou modifiées sont correctes. Lorsque vous avez terminé la création et la modification des objets, cliquez sur OK. Les options figurant dans l’onglet Définition sont traitées dans la section suivante. Nom Par défaut, le nom de tout objet que vous avez créé de façon automatique est identique à celui de la colonne dont il est issu. DESIGNER remplace tous les espaces soulignés (_) par des espaces. Un nom d’objet peut contenir un maximum de 35 caractères alphanumériques, y compris les caractères spéciaux et les espaces. Il fait la distinction entre majuscules et minuscules. Vous pouvez renommer un objet à tout moment. Remarque : Dans un univers, plusieurs objets peuvent porter le même nom, à condition que ces objets appartiennent tous à des classes différentes. Type Un objet peut être de quatre types : alphanumérique, date, texte long ou numérique. Par défaut, le type d’un objet est dérivé de celui de la colonne dont il est issu. Pour changer le type d’un objet, sélectionnez l’option appropriée dans la boîte à liste. Remarque : Les objets Blob (Binary Large Objects) ne sont pas pris en charge dans la version actuelle de BUSINESSOBJECTS. 174 Manuel du designer Création et édition des objets Description Dans la zone Description, vous pouvez saisir une description de l’objet ou des commentaires quelconques. Appuyez sur les touches Ctrl et Entrée de votre clavier pour aller à ligne. Bien que facultative, une description peut être utile pour un utilisateur final qui peut la visualiser dans la zone d’aide sur les classes et les objets de l’éditeur de requête. Select La zone Select contient la clause Select de la définition SQL d’un objet. En règle générale, cet ordre indique la ou les tables ainsi que la ou les colonnes sur la ou lesquelle(s) est fondé l’objet. Lorsque vous créez un nouvel objet, vous devez saisir la syntaxe manuellement dans la zone Select. Pour ce faire, vous pouvez utiliser l’éditeur de SQL décrit en détail dans le présent chapitre. Reportez-vous à la section “Utilisation de l’éditeur de SQL”, page 177. Where La zone Where affiche la clause Where de la définition SQL d’un objet. Elle limite le nombre de lignes retournées par une requête. Pour entrer la syntaxe de la clause Where, vous pouvez utiliser l’éditeur SQL décrit à la seciton “Utilisation de l’éditeur de SQL.” Rappel : Chaque fois que vous modifiez une clause Select ou une clause Where dans leurs zones respectives, n’oubliez pas de vérifier leur syntaxe au moyen du bouton Vérifier. Manuel du designer 175 Chapitre 7 Définition des classes et des objets Tables Si vous cliquez sur le bouton Tables, DESIGNER affiche la boîte de dialogue suivante : La table à partir de laquelle l’objet a été défini s’affiche en inverse vidéo. La boîte de dialogue présente également toutes les autres tables de l’univers. Utilisez cette boîte chaque fois que vous devez associer une ou plusieurs tables à l’objet. Cette situation peut se présenter, par exemple, lorsque vous imposez une jointure entre deux tables pour des raisons de sécurité ou de performance. Pour ajouter une autre table à la définition d’un objet, cliquez sur la table concernée tout en maintenant la touche Ctrl enfoncée. Cliquez sur OK pour appliquer les modifications effectuées et pour quitter la boîte de dialogue. Pour annuler la sélection d’une table, cliquez à nouveau sur celle-ci. Si vous ne souhaitez visualiser que les tables que vous avez sélectionnées, cochez la case Tables sélectionnées seulement. 176 Manuel du designer Création et édition des objets Utilisation de l’éditeur de SQL A l’aide de l’éditeur de SQL, vous pouvez saisir et modifier un ordre SQL dans les zones Select et Where. Bouton Flèche Pour afficher cet éditeur, cliquez sur le bouton flèche situé sur la droite des deux zones Select et Where. Vous pouvez saisir votre ordre SQL directement dans la zone supérieure de l’éditeur. Une deuxième possibilité consiste à combiner des tables, des colonnes, des classes, des objets, des opérateurs ou des fonctions. Dans la zone Fonctions, vous trouvez également les fonctions SQL natives de votre SGBDR ainsi que les fonctions @ des produits Business Objects traitées dans la section suivante. Le clic sur une fonction vous permet d’afficher sa syntaxe et son objet : les informations s’affichent dans la zone Description. Pour sélectionner et afficher un de ces éléments dans le volet supérieur, utilisez le double-clic dans la zone appropriée. Si vous utilisez des classes et des objets dans votre ordre SQL et si vous voulez visualiser leur SQL (SQL de votre base de données), cochez la case Afficher le SQL de l’objet. Manuel du designer 177 Chapitre 7 Définition des classes et des objets Lorsque votre ordre SQL est complet, cliquez sur le bouton Vérifier pour savoir si la syntaxe est correcte. Si tel est le cas, DESIGNER affiche le message suivant : Cliquez sur OK pour fermer ce message et pour revenir sur la boîte de dialogue Editer les propriétés. Dans l’éditeur de SQL illustré sur la page précédente, vous voyez la syntaxe de l’objet Revenu. Cette syntaxe est la suivante : sum(Invoice_Line.days*Invoice_Line.nb_guests*Service.price) Fonctions @ Le DESIGNER propose un certain nombre de fonctions pour la définition SQL des objets. L’utilisation de ces fonctions rend la définition des objets à la fois dynamique et indépendante de la base de données. Ces fonctions, dites fonctions @, sont les suivantes : • @AggregateAware, • @Prompt, • @Script, • @Select, • @Variable, • @Where. @Aggregate_Aware Cette fonction est décrite au chapitre 8, “Définition de la navigation agrégée dans un univers”, page 209. 178 Manuel du designer Création et édition des objets @Prompt La fonction @Prompt vous permet de créer un objet interactif. Dans l’éditeur de requête, ce type d’objet entraîne l’affichage d’un message invitant l’utilisateur final à saisir une valeur spécifique. Vous pouvez, par exemple, créer un objet interactif qui invite l’utilisateur final à préciser le nom du pays sur lequel il recherche des informations. La syntaxe de la fonction est la suivante : @Prompt(‘message’, [‘type’], [lov],[MONO|MULTI], [FREE|CONSTRAIN]) où • Message est le contenu d’un message. Il s’agit d’une chaîne de caractères entre apostrophes. Voici des exemples de nom : ‘Ma variable’, ‘Choisissez une région’, ‘Sélectionnez une période’, ‘Saisissez le nom de la ville’ . • Type (obligatoirement entre apostrophes) est un des types suivants : ‘A’ pour alphanumérique, ‘N’ pour numérique ou ‘D’ pour date. • Lov peut valoir : une liste de valeurs entre crochets ; toutes les valeurs doivent figurer entre apostrophes et doivent être séparées par des virgules. Exemple : {'ma_val1','ma_val2','ma_val3',...} ou le nom d’une classe et d’un objet séparés par une barre oblique inverse et figurant entre apostrophes. Exemple : 'ma_classe1\mon_objet1' • MONO indique que le prompt (l’invite) ne peut recevoir qu’une valeur. MULTI indique que le prompt (l’invite) peut recevoir plusieurs valeurs. • FREE autorise une saisie libre. CONSTRAIN impose à l’utilisateur final de choisir une valeur proposée par le prompt (l’invite). Remarque : Les quatre derniers arguments sont optionnels. Toutefois, n’oubliez pas de saisir des virgules de séparation lorsque vous omettez un argument. Manuel du designer 179 Chapitre 7 Définition des classes et des objets Voici un exemple d’objet interactif défini avec la fonction @Prompt : Dans l’éditeur de requête, l’objet invite l’utilisateur final à choisir une ville. @Script Cette fonction récupère les résultats de macro Visual Basic for Applications (macro VBA). La syntaxe de cette fonction est la suivante : Script(‘var_name’, ‘vartype’, ‘script_name’) où • var_name est un nom de variable déclaré dans le script. Grâce à ce nom, les résultats du script exécuté peuvent être récupérés dans la définition SQL d’un objet. Veillez à ce que le nom soit identique dans la macro VBA et dans la définition SQL de l’objet. • vartype est le type de la variable déclarée dans la macro VBA. Ce type est un des types suivants : ‘A’ pour alphanumérique, ‘D’ pour date et ‘N’ pour numérique. 180 Manuel du designer Création et édition des objets • script_name est le nom de la macro VBA à exécuter. Les fichiers de script sont stockés dans le dossier Scripts. Remarque : Le second argument est optionnel ; toutefois, si vous l’omettez, vous devez saisir des virgules en guise de séparateurs. @Select Cette fonction vous permet de réutiliser la clause Select d’un objet existant. La syntaxe est la suivante : @Select(Nomdelaclasse\nomdel’objet) Ainsi l’objet appelé Sélectionner une ville présenté ci-dessus fait référence à un objet appelé Ville définie par l’utilisateur de sa clause Select et à Country Id de sa clause Where. Manuel du designer 181 Chapitre 7 Définition des classes et des objets @Variable La fonction @Variable est utilisée pour référencer la valeur attribuée à un nom ou à une variable. Sa syntaxe est la suivante : @Variable(‘mon_nom’) où mon_nom peut être : • Le texte correspondant à l’objet interactif créé précédemment avec la fonction @Prompt, c’est-à-dire le premier argument saisi dans la fonction @Prompt. • Une variable système de produit Business Objects, telle que BOUSER ou BOPASS. Ces variables forment l’identification de l’utilisateur composée du nom d’utilisateur et du mot de passe. Il existe également des variables système pour la connexion au SGBDR. Pour plus d’informations sur ces variables, reportez-vous au manuel d’accès à la base de données associée à votre site. L’objet ci-dessous est défini à l’aide de la fonction @Variable qui fait référence à la variable système BOUSER. Dans l’éditeur de requête, cet objet retrouve les clients ayant un prénom dont la valeur est équivalente à la valeur BOUSER. 182 Manuel du designer Création et édition des objets @Where Cette fonction vous permet de réutiliser la clause Where d’un objet existant. La syntaxe est la suivante : @Where(Nomdelaclasse\nom_objet) Ainsi, l’objet Choisir un pays parmi les régions présenté ci-dessus fait référence à l’objet Country Id de sa clause Where. Manuel du designer 183 Chapitre 7 Définition des classes et des objets Propriétés d’un objet Vous créez ou modifiez les propriétés d’un objet dans l’onglet Propriétés illustré ci-dessous : Qualification La qualification d’un objet vous renseigne sur la façon dont il peut être utilisé lors de l’analyse multidimensionnelle. Un objet peut prendre les qualifications suivantes : dimension, indicateur ou information. Dans la fenêtre Univers, le symbole figurant à côté de chaque objet indique la qualification de celui-ci : un cube pour une dimension, une sphère pour un indicateur et une pyramide pour l’information. La dimension est l’objet-clé de votre analyse ; en d’autres termes, une dimension peut être considérée comme étant le pivot de l’analyse multidimensionnelle. Une dimension peut être un objet, tel que Service, Prix ou Client. Toutes les dimensions ayant un trait commun sont regroupées dans des hiérarchies de dimensions. Voici un exemple de hiérarchie de dimensions : Géographie est une hiérarchie comprenant les dimensions Ville, Région et Pays. Un objet de type information fournit des données destinées à décrire une dimension. Il est obligatoirement associé à un objet de type dimension précis. Veuillez noter qu’un objet de type information ne peut pas être utilisé lors d’une analyse descendante. 184 Manuel du designer Création et édition des objets Un objet de type indicateur provient d’une des fonctions agrégées suivantes : Nombre, Somme, Minimum ou Maximum, ou est un élément numérique sur lequel vous pouvez appliquer, au moins localement, l’une de ces fonctions. Ce type d’objet fournit des informations statistiques. Voici quelques exemples d’indicateur : Chiffre d’affaires, Nombre de clients, etc. Un objet de type indicateur est sémantiquement dynamique, ce qui signifie que sa défition dans une requête dépend des objets sur lesquels il est projeté. Pour plus d’informations sur la création d’objets de type indicateur, reportezvous à la section “Création d’une classe d’objets de type indicateur”, page 194. Attribution d’une qualification à un objet Par défaut, le DESIGNER attribue automatiquement la qualification dimension aux objets. Toutefois, vous devez vous assurer que tous les objets dimension sont définis de sorte qu’ils retournent une valeur de donnée unique dans un rapport. Pour tout objet agrégé que vous créez, vous devez lui attribuer la qualification indicateur. Enfin, vous devez attribuer la qualification information à tous les objets utilisés strictement à titre informatif ; ce sont des objets, tels que Adresse, Age, Numéro de téléphone, etc. Pour attribuer une qualification à un objet, activez les cases d’option respectives dans la zone Qualification. Selon la qualification que vous choisissez, DESIGNER affiche une option supplémentaire dans la zone située au-dessous et sur la droite des cases d’option. Les options qui sont associées à chaque qualification sont détaillées ci-dessous. Manuel du designer 185 Chapitre 7 Définition des classes et des objets Pour une dimension de type date, vous pouvez définir une hiérarchie reposant sur le “temps”. Lorsque vous cliquez sur ce bouton, la boîte de dialogue suivante s’affiche : Les options de cette boîte de dialogue vous permettent de définir les dimensions Année, Trimestre et Mois. Grâce à ces objets, les utilisateurs finals pourront naviguer à travers le temps. En effet, l’utilisateur peut effectuer une analyse descendante de l’année vers le trimestre, ou du trimestre vers le mois. Cette option a aussi l’avantage que DESIGNER peut adapter le SQL des objets à n’importe quel SGBDR. Vous pouvez modifier le nom d’un objet en saisissant un autre nom dans le champ de texte situé sur la droite de la case à cocher. Cliquez sur OK pour créer ces objets. Dans la fenêtre Univers, le résultat final est une dimension mère, Sales par exemple, comprenant les objets fils Année, Trimestre et Mois. 186 Manuel du designer Création et édition des objets Pour un objet de type indicateur qui est calculé à partir d’une fonction agrégée, DESIGNER affiche la boîte à liste Fonction. Dans cette boîte, sélectionnez la fonction agrégée sur laquelle repose l’indicateur durant l’analyse montante. Vous pouvez choisir parmi les fonctions suivantes : Moyenne, Nombre, Max, Min, Aucune ou Somme. Pour un objet de type information, DESIGNER affiche une boîte à liste qui vous permet de l’associer à une dimension. Affectation d’une liste de valeurs L’onglet Propriétés vous permet également d’affecter une liste de valeurs à un objet. Une liste de valeurs est un fichier qui contient les valeurs associées à un objet. Ainsi, ces listes de valeurs vous renseignent-elles sur le contenu d’une base de données. Remarque : Pour exporter une liste de valeurs avec un univers, il faut que le domaine d’univers et que le domaine de document existent sur le même compte de données. Une liste de valeurs est enregistrée dans le domaine de document. Manuel du designer 187 Chapitre 7 Définition des classes et des objets Dans BUSINESSOBJECTS, les utilisateurs finals peuvent visualiser la liste de valeurs d’un objet ; étant donné qu’ils voient le format exact de ces valeurs, ils pourront poser des conditions sur des objets. Un utilisateur final peut également éditer la liste de valeurs d’un objet. Par défaut, chaque objet dimension ou information est pourvu d’une liste de valeurs contenant toutes les valeurs correspondantes de la base de données interrogée. Aucune liste de valeurs par défaut n’est affectée à des objets indicateur. Le nom de fichier de la liste de valeurs, figurant dans le champ Nom de la liste, se compose de 8 caractères alphanumériques et d’une extension .LOV. Zone Associer une liste de valeurs de l’onglet Propriétés Les cases à cocher restantes sont expliquées dans le tableau suivant : Option Description Associer une liste de valeurs Permet d’activer ou de désactiver la fonctionnalité Liste de valeurs. Par défaut, cette option est active. Accorder à l’utilisateur un droit d’édition Permet aux utilisateurs finals d’éditer le fichier de la liste de valeurs à partir de BUSINESSOBJECTS. Rafraîchissement automatique Rafraîchit les données contenues dans le fichier de la liste de valeurs avant de les afficher dans l’éditeur de requête. Exporter avec l’univers Permet d’exporter à la fois l’univers et le fichier de la liste de valeurs à condition que le domaine univers et le domaine document soient sur le même compte de données. Une liste de valeurs est stockée dans le domaine document. 188 Manuel du designer Création et édition des objets Outre les listes de valeurs par défaut, vous pouvez affecter une liste de valeurs plus restrictive à un objet, par exemple un fichier qui ne contient qu’une partie des valeurs de la base de données. La procédure d’affichage et de création d’une liste de valeurs est décrite ci-après. Astuce : Avant d’afficher une liste de valeurs, vous devez sauvegarder l’univers dans le dossier d’univers par défaut. . 1. Dans le champ Nom de la liste, saisissez un nom pour le nouveau fichier de liste de valeurs (.LOV). Vous pouvez saisir un maximum de 8 caractères alphanumériques. 2. Cliquez sur le bouton Afficher pour ouvrir la boîte de dialogue Liste de valeurs. Celle-ci affiche toutes les valeurs des données associées à l’objet. Affiche une vue tabulaire des valeurs Affiche une vue hiérarchique des tables Liste de valeurs Effectue un filtrage Met à jour les valeurs Crée un fichier de liste de valeurs (.LOV) 3. Cliquez sur OK pour créer le fichier de liste de valeurs. Le DESIGNER stocke les fichiers .LOV dans un sous-dossier du dossier UserDocs. Le nom de ce sous-dossier est celui de l’univers auquel appartient l’objet. Manuel du designer 189 Chapitre 7 Définition des classes et des objets Une fois que vous avez créé une liste de valeurs, vous pouvez la modifier à partir de l’éditeur de requête. Pour afficher cet éditeur, cliquez sur le bouton Editer de la zone affichée à la page précédente. A partir de l’éditeur de requête, vous avez la possibilité de restreindre les valeurs que peuvent visualiser les utilisateurs finals dans la liste de valeurs de BUSINESSOBJECTS. Pour ce faire, vous devez poser une condition sur l’objet en procédant comme suit : 1. Faites glisser l’objet dans la zone Conditions. 2. Sélectionnez un opérateur de la liste des opérateurs. 3. Modifiez l’opérande si nécessaire. 4. Cliquez sur OK pour appliquer les modifications à la liste de valeurs. 190 Manuel du designer Création et édition des objets Dans l’éditeur de requête ci-dessus, la liste de valeurs concernant l’objet Pays a été réduite à la valeur DC et New York. Lorsqu’un utilisateur final visualise cette liste de valeurs à partir de BusinessObjects ou de WebIntelligence, il verra donc uniquement la valeur DC et New York. Astuce : Pour des informations détaillées sur les conditions de requête, reportez- vous au manuel Manuel de l’utilisateur de BusinessObjects. Une autre façon d’éditer une liste de valeurs consiste à utiliser la commande Listes de valeurs du menu Outils. Lorsque vous sélectionnez cette commande, le DESIGNER affiche la boîte de dialogue suivante : Manuel du designer 191 Chapitre 7 Définition des classes et des objets La zone centrale de cette boîte de dialogue affiche l’ensemble des classes et des objets de l’univers actif. Les boutons qui se situent au-dessous de cette zone sont expliqués dans le tableau ci-après : Option Description Editer Affiche l’éditeur de requête qui vous permet de définir des conditions pour un objet en sélectionnant des valeurs à partir de la liste de valeurs de l’objet. Afficher Affiche la liste de valeurs correspondant à l’objet sélectionné. Purger Supprime la liste de valeurs couramment affectée à l’objet sélectionné. Rafraîchir Met à jour la liste de valeurs courante. A partir de la zone Propriétés, vous pouvez associer une liste de valeurs à un objet. Cette liste de valeurs contient des données personnelles plutôt que des données d’entreprise rapatriées d’un serveur de base de données. Des données personnelles sont des données stockées dans un fichier à plat, tel qu’un fichier texte, ou des données provenant d’une des applications suivantes : BusinessObjects 3.1 (.ASC), Microsoft Excel, Lotus 1-2-3 ou dBASE. • Extraire des données depuis un fichier de données personnelles peut être plus rapide qu’accéder à votre base de données d›entreprise • L’utilisation de données personnelles représente une autre méthode de personnalisation des listes de valeurs pour les utilisateurs BUSINESSOBJECTS et WEBINTELLIGENCE. Vous contrôlez les données du fichier, en d’autres termes, les valeurs vues par les utilisateurs lorsqu›ils travaillent avec des listes de valeurs. Si vous êtes en possession d’un tel fichier et que vous souhaitez l’associer en tant que liste de valeurs à un objet, suivez les étapes figurant ci-dessous : 1. Dans la boîte de dialogue Listes de valeur, cliquez sur l’objet auquel vous voulez associer des données personnelles. 2. Dans la zone Propriétés, activez la case d’option Données personnelles. Vous êtes informé, au moyen d’un message, du changement du type de la liste de valeurs de Données de l’entreprise à Données personnelles. 3. Cliquez sur OK pour confirmer cette opération. 192 Manuel du designer Création et édition des objets DESIGNER affiche la boîte de dialogue suivante, dans laquelle les options affichées varient en fonction du type de fichier sélectionné : 4. Cliquez sur le bouton Parcourir, puis, à partir de la boîte de dialogue Parcourir, spécifiez le fichier qui devra servir de liste de valeurs. Vous pouvez également saisir le nom de ce fichier dans le champ prévu à cet effet. 5. Spécifiez le format du fichier en sélectionnant une extension dans la boîte à liste Format. Ces extensions correspondent à des fichiers texte (*.asc; *.prn; *.txt; *.csv), des fichiers Microsoft Excel, Lotus 1-2-3 ou dBASE. Astuce : Si votre fichier a été créé dans Excel 97, vous devez utiliser l’option Microsoft Excel 97, et non l’option Fichiers Microsoft Excel. 6. Spécifiez les autres options, comme nécessaire : • Dans un fichier texte, une ligne équivaut à une ligne de table. • Pour un fichier texte, indiquez le type de séparateur de colonne : vous avez le choix entre Tabulation, Espace ou Caractère. Si vous sélectionnez Caractère, entrez le caractère dans le champ prévu à cet effet. 7. Cliquez sur le bouton OK pour confirmer l’ensemble des opérations effectuées et pour quitter la boîte de dialogue. Manuel du designer 193 Chapitre 7 Définition des classes et des objets A la section “Affectation d’une liste de valeurs à un objet”, page 229, vous trouverez un exemple d’affectation d’une liste de valeurs à un objet. Création d’une classe d’objets de type indicateur Comme indiqué précédemment, vous créez les objets de type indicateur à l’aide de fonctions agrégées. Ces indicateurs permettent aux utilisateurs finals d’analyser des données à partir de critères différents représentés par des objets. Un utilisateur final peut, par exemple, combiner l’objet de type indicateur Revenu avec un objet provenant d’une classe telle que Client ou Service pour obtenir le Chiffre d’affaires par N° de client ou le Revenu par N° de service. Ainsi, l’objet Revenu ne caractérise pas un objet précis et n’a donc pas de sens propre ; sa signification dépend plutôt d’autres objets. Si vous utilisez l’assistant de création d’univers pour créer vos classes et vos objets initiaux, le programme vous invite à créer des objets de type indicateur en sélectionnant certains objets destinés à recevoir des fonctions agrégées. L’assistant vous guide tout au long de ce processus en regroupant les indicateurs automatiquement dans une ou plusieurs classes Indicateurs. Les classes Indicateurs contribuent à l’organisation générale de l’univers et facilitent la navigation pour les utilisateurs finals. 194 Manuel du designer Création et édition des objets Création d’un objet de type indicateur Au sein d’une classe indicateur, vous créez des objets de type indicateur. La création d’un tel objet se déroule exactement comme pour les autres objets. Dans l’onglet Définition de la boîte de dialogue Editer les propriétés, sélectionnez le type d’objet Numérique. Dans la zone Description, saisissez des informations précises concernant l’objet, comme par exemple : • La méthode de calcul (par exemple la formule de Chiffre d’affaires). • L’unité d’expression (telle que F pour Franc) • Les objets auxquels vous pouvez appliquer un indicateur (Client, Service, etc.). Les informations ci-dessus sont destinées à servir de guide à l’utilisateur final. Ainsi, celui-ci apprend à se servir convenablement des objets de type indicateur. Dans la zone Select, saisissez la syntaxe SQL qui représente le calcul agrégé. Pour ce faire, vous pouvez vous servir de l’éditeur de SQL décrit précédemment. Dans l’illustration ci-dessous figurent des exemples d’objets de type indicateur : La classe Indicateurs ci-dessus contient trois objets : Sales Revenue, Future Guests et Number of Guests. Vous trouverez d’autres exemples d’objets de type indicateur dans le prochain chapitre. Manuel du designer 195 Chapitre 7 Définition des classes et des objets Création d’objets de type condition Il est possible de définir des objets qui se comportent comme des conditions prédéfinies posées sur une classe. Ils représentent des clauses flottantes Where. Vous pouvez, par exemple, définir la condition Client parisien ou Client lyonnais sur la classe Client. Pour la classe Stations balnéaires vous pourriez avoir les conditions Bahamas ou Hawaii. Pour créer une condition : 1. Sélectionnez la classe à l’intérieur de laquelle vous souhaitez faire figurer la condition. Insérer une condition 2. Sélectionnez la commande Condition du menu Insertion ou cliquez sur le bouton correspondant de la barre d’outils d’édition. La boîte de dialogue Editer les propriétés s’affiche. 3. Dans la boîte de dialogue, saisissez le nom de la condition dans le champ prévu à cet effet et cliquez sur OK. • Vous pouvez saisir un maximum de 35 caractères alphanumériques. Le nom d’une condition respecte la distinction entre majuscules et minuscules. • Par défaut, DESIGNER attribue automatiquement un nom à cette condition, c’est-à-dire Condition1 pour la première condition créée, Condition2 pour la deuxième condition créée, et ainsi de suite. • Dans la fenêtre Univers, la condition est représentée sous forme d’un filtre. Pour définir une condition que vous venez de créer : 1. Dans la fenêtre Univers, double-cliquez sur cette condition. La boîte de dialogue Editer les propriétés s’affiche. 2. Saisissez des informations ou des commentaires dans la zone Description. Cette étape est optionnelle. Bouton Flèche 3. Saisissez la clause Where qui convient dans le champ Where. Pour ce faire, vous pouvez utiliser l’éditeur de SQL accessible par le bouton Flèche. 196 Manuel du designer Création et édition des objets 4. Cliquez sur le bouton Vérifier pour savoir si la clause Where est correct. 5. Cliquez sur OK. Filtre classes/objets Filtre classes/conditions La classe Customer illustrée ci-dessus contient trois objets de type condition : Client américain, Jeune adulte et Jeune américain. Lorsque vous créez une ou plusieurs conditions, DESIGNER affiche automatiquement le filtre classes/objets au bas de la fenêtre Univers. Pour revenir sur l’affichage précédent, activez le filtre classes/objets. Manuel du designer 197 Chapitre 7 Définition des classes et des objets Fonctionnalités avancées d’un objet Les propriétés d’un objet peuvent comporter un certain nombre de caractéristiques avancées. Ces caractéristiques sont regroupées dans l’onglet Avancées de la boîte Editer les propriétés. Attribution d’un niveau de sécurité Vous pouvez restreindre la sécurité d’accès d’un objet de telle sorte que seuls les utilisateurs finals avec le niveau de sécurité d’accès approprié puissent l’utiliser. De cette façon, vous interdisez à certains utilisateurs de visualiser des informations sensibles ou confidentielles. C’est le superviseur qui affecte via le SUPERVISOR des niveaux de sécurité d’accès aux profils utilisateurs. Les niveaux, du plus haut vers le plus bas, sont : Privé, Confidentiel, Restreint, Contrôlé et Public. Par défaut, un objet est de niveau Public.Vous trouverez dans le tableau suivant un résumé des différents niveaux Privé Confidentiel Restreint Contrôlé Public 198 Manuel du designer Privé Conf. Restr. Contr. Public ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Création et édition des objets Si vous associez, par exemple, le niveau Restreint à un objet, seuls les utilisateurs disposant d’un profil Restreint ou plus pourront utiliser cet objet. Définition du fonctionnement d’un objet dans l’éditeur de requête En fonction des cases d’option que vous activez dans la zone Peut être utilisé dans, l’utilisateur final peut utiliser l’objet dans les résultats, dans les conditions et/ou dans les tris, à partir de l’éditeur de requête. Activez les options qui conviennent. Attribution d’un format de base de données Le format de base de données détermine des paramètres régionaux, tels que Symbole monétaire ou Date. A partir de la boîte à liste, vous pouvez sélectionner le format à utiliser pour la lecture des données d’un objet. Définition du format d’un objet La commande Format de l’objet vous permet de définir un format pour les valeurs de données d’un objet sélectionné. Ce format s’applique aux valeurs associées affichées dans les cellules des rapports BUSINESSOBJECTS. Les onglets de la boîte de dialogue Format de l’objet comprennent des options pour les nombres, l’alignement, la police, la bordure et la trame de fond. Par exemple, vous pouvez afficher un nombre entier dans un format tel que 1000F plutôt que 1,000.00 (format par défaut), ou appliquer une couleur (rouge, par exemple) aux données critiques. Manuel du designer 199 Chapitre 7 Définition des classes et des objets Notez que les catégories Numérique, Monétaire, Scientifique et Pourcentage s’appliquent uniquement aux objets et variables de type numérique, et que la catégorie Date/heure s’applique uniquement aux objets et variables de type date. Les informations concernant les formats sont exportées et importées avec l’univers ; elles sont stockées dans le référentiel. Vous pouvez utiliser la commande Supprimer le format de l’objet pour supprimer tout format. Définition d’un objet HTML BUSINESSOBJECTS supporte la diffusion sur le web, ce qui implique qu’un rapport peut contenir des liens hypertexte à des documents HTML. Ces rapports reposent sur des univers comprenant un ou plusieurs objets associés à des conteneurs HTML. Par exemple, vous pouvez créer un objet Ville, qui devient ensuite un lien hypertexte dans un rapport BUSINESSOBJECTS enregistré comme fichier HTML. Ainsi, lorsqu’un utilisateur final clique sur le nom d’une ville donnée, le navigateur affiche une carte ou une image de la ville imbriquée dans un document HMTL. Un tel objet peut être défini à l’aide de la syntaxe HTML, comme suit : “<a href=web/”+City.City+”.gif> “+City.City+” </a>” Notez que la syntaxe contient une référence à la définition SQL de l’objet. Pour inclure un conteneur HTML dans un objet : 1. Sélectionnez l’objet de votre choix dans la fenêtre Univers. 2. Sélectionnez la commande Format de l’objet du menu Edition. 3. Dans l’onglet Nombre, cochez la case Lu au format HMTL. 4. Saisissez la syntaxe du lien HMTL dans la zone Select. 5. Cliquez sur OK pour valider les modifications. Remarque : Pour visualiser une image ou la cible d’un lien hypertexte, l’utilisateur final doit enregistrer le rapport au format HMTL. 200 Manuel du designer Mise en oeuvre de l’analyse multidimensionnelle Mise en oeuvre de l’analyse multidimensionnelle Cette section vous explique comment préparer les objets des univers à l’analyse multidimensionnelle. Qu’est-ce que l’analyse multidimensionnelle ? Le but de l’analyse multidimensionnelle consiste à regrouper vos données dans des “dimensions” appartenant elles-mêmes à des “hiérarchies” qui devront être pertinentes aux yeux des utilisateurs finals. Grâce à l’analyse multidimensionnelle, les utilisateurs finals peuvent visualiser leurs données de points de vue différents et ainsi détecter des tendances ou des exceptions. La dimension est l’objet-clé de votre analyse. Une dimension peut être un objet, tel que Service, Client, Réservation, etc. Une hiérarchie est un conteneur de dimensions relatives à cette hiérarchie. Une hiérarchie du nom Géographie, par exemple, pourrait regrouper les dimensions Pays, Région et Ville. BUSINESSOBJECTS propose deux types d’analyse multidimensionnelle : • rotation des dimensions • analyse descendante (uniquement disponible dans le composant BUSINESSOBJECTS EXPLORER). Grâce au mode Rotation (“slice and dice”), l’utilisateur final peut faire tourner un microcube pour pouvoir le contempler de points de vue différents. Mettons, par exemple, qu’un microcube est composé des trois hiérarchies Pays, Station balnéaire et Chiffre d’affaires. Le responsable des ventes peut maintenant visualiser les données correspondant au Chiffre d’affaires par Pays. En faisant tourner le microcube, celui-ci peut également visualiser le Chiffre d’affaires par Station balnéaire ou par Région. Ainsi, un microcube comprenant n dimensions propose n * (n - 1) vues. Le mode Exploration (“drill” ou analyse descendante/montante) permet à l’utilisateur final de naviguer à travers les différents niveaux hiérarchiques. La notion de la hiérarchie est très importante car elle fournit la base de l’analyse multidimensionnelle. Manuel du designer 201 Chapitre 7 Définition des classes et des objets Prenons l’exemple d’un utilisateur final qui exerce la profession d’un analyste financier et qui a besoin de détecter des données concernant des réservations à effectuer sur une longue période de temps. En tant que designer d’univers, vous pourriez créer la hiérarchie Durée de réservation comprenant les dimensions Année de réservation, Trimestre de réservation, Mois de réservation et Date de réservation. Ainsi, l’analyste financier peut effectuer une analyse descendante en partant d’un niveau d’agrégation plus élevé vers un niveau plus détaillé. Vous pouvez par exemple d’abord visualiser les données correspondant au Trimestre de réservation, puis les données correspondant au Mois de réservation ou à la Date de réservation pour obtenir des informations plus détaillées. Bien sûr, vous avez également la possibilité de visualiser les données à partir d’un niveau synthétique supérieur. Effectuez pour ce faire une analyse montante de Trimestre de réservation à Année de réservation. Comment repérer une hiérarchie ? Les hiérarchies peuvent se présenter sous toute forme. Les exemples de hiérarchies classiques comprennent les éléments suivants : • Géographie : Continent ➨ Pays ➨ Région ➨ Ville • Produits : Catégorie ➨ Marque ➨ Produit • Date : Année ➨ Trimestre ➨ Mois ➨Semaine ➨ Jour De plus, des hiérarchies mixtes existents, telles que : Géographie/Produits : Continent ➨ Pays ➨ Catégorie ➨Marque ➨ Produit Les hiérarchies implicites dans les données sont dépendantes de la nature des données et de leur mode de stockage dans la base de données. Il se peut donc que vous deviez analyser les données très soigneusement afin de détecter les hiérarchies de votre propre système les mieux adaptées aux besoins de vos utilisateurs pour l’analyse. Aucun règle n’est imposée pour déterminer l’emplacement des hiérarchies dans les données. Toutefois, lorsque vous définissez des hiérarchies, prenez les instructions suivantes en compte : Dans une base de données, les relations de une-à-plusieurs tables (1-N) inhérentes à la structure peuvent fournir un indice concernant l’existence de hiérarchies. 202 Manuel du designer Mise en oeuvre de l’analyse multidimensionnelle Dans le schéma ci-dessous, les relations de une-à-plusieurs tables impliquent une hiérarchie géographique. Moins détaillé Plus détaillé Manuel du designer 203 Chapitre 7 Définition des classes et des objets Utilisation de l’éditeur de hiérarchies Par défaut, le DESIGNER fournit une série de hiérarchies pour l’analyse multidimensionnelle. Mais vous pouvez naturellement créer des hiérarchies personnalisées en utilisant l’éditeur de hiérarchies. Editeur de hiérarchies Pour accéder à cet éditeur, sélectionnez la commande Hiérarchies du menu Outils ou cliquez sur le bouton correspondant de la barre d’outils Standard. L’éditeur de hiérarchies illustré ci-dessous est composé des deux volets : Hiérarchies par défaut et Hiérarchies personnalisées. Le DESIGNER présente les hiérarchies avec un symbole en forme de dossier et les dimensions avec un symbole en forme de cube. Le volet gauche affiche toutes les classes contenant des objets de type dimension dans l’univers actif. Le volet droit comporte toutes les hiérarchies que vous créez de votre propre chef. 204 Manuel du designer Mise en oeuvre de l’analyse multidimensionnelle Mise en oeuvre des hiérarchies Vous pouvez créer vos hiérarchies dans l’ordre de votre choix. En effet, vous pouvez d’abord créer toutes les hiérarchies et n’insérer les dimensions que par la suite. Cependant, il est possible également de ne créer qu’une hiérarchie à la fois. Dans le présent manuel, les étapes de création suivent la première méthode. Création d’une hiérarchie Pour créer une hiérarchie à partir de l’éditeur de hiérarchies : 1. Cliquez sur le bouton Nouveau. Dans le deuxième volet de l’éditeur, un dossier représentant cette hiérarchie s’affiche. 2. Saisissez un nom de hiérarchie dans le champ prévu à cet effet. 3. Appuyez sur la touche Entrée de votre clavier. La hiérarchie est créée. Insertion d’un objet de type dimension dans une hiérarchie Suivez la procédure suivante, pour créer des objets de type dimension dans une hiérarchie : 1. Dans le volet gauche, cliquez sur le signe plus (+) de toutes les hiérarchies par défaut afin de visualiser leurs objets de type dimension. 2. Cliquez sur la hiérarchie devant contenir l’objet de type dimension. La hiérarchie apparaît en inverse vidéo. 3. Cliquez sur l’objet de type dimension que vous souhaitez ajouter. • L’objet de type dimension s’affiche en inverse vidéo. • Pour sélectionner une série d’objets de type dimension, cliquez sur les dimensions concernées tout en maintenant la touche Ctrl de votre clavier enfoncée. 4. Cliquez sur le bouton Ajouter. L’objet de type dimension est affiché dans le volet droit. Manuel du designer 205 Chapitre 7 Définition des classes et des objets Une autre façon de procéder consiste à glisser-déposer une hiérarchie ou une dimension du volet gauche vers le volet droit. L’option Objets inutilisés uniquement s’avère très utile lorsque vous souhaitez uniquement connaître les objets de type dimension que vous n’avez pas encore insérés dans l’une des hiérarchies personnalisées à l’intérieur du volet droit. Pour supprimer une dimension, sélectionnez-la, puis cliquez sur le bouton Supprimer. Réorganisation de l’ordre des dimensions et des hiérarchies Vous pouvez revoir l’ordre dans lequel apparaissent les dimensions au sein d’une hiérarchie. Pour déplacer un objet, sélectionnez-le, puis cliquez en fonction de l’emplacement de destination de celui-ci, sur le bouton Monter ou sur le bouton Descendre. Révisez l’ordre des hiérarchies de la même façon. Il est également possible de déplacer un objet de type dimension ou une hiérarchie au moyen du glisser-déposer. Veuillez trouver quelques exemples de hiérarchies et d’objets de type dimension dans l’illustration ci-dessous : L’éditeur de hiérarchies illustré ci-dessus présente quatre hiérarchies personnalisées : Lieux de séjour, Ventes, Parrain et Réservations. La hiérarchie Clients, par exemple, comprend les dimensions suivantes : Pays de résidence, Région de résidence, Ville de résidence et Client. La hiérarchie Ventes comprend les cinq dimensions suivantes : Année, trimestre, Mois, Semaine et Date de la facture. 206 Manuel du designer Vérification de l’intégrité de l’univers Vérification de l’intégrité de l’univers Au fur et à mesure que vous créez et modifiez des classes et des objets dans votre univers, pensez à vérifier l’intégrité de votre univers de temps en temps à l’aide de la fonctionnalité Vérifier l’intégrité. Vous n’avez pas besoin, pour ce faire, d’attendre la fin du processus de conception de votre univers. En effet, il est conseillé de vérifier l’intégrité chaque fois que vous créez une série d’objets, une nouvelle classe ou une jointure entre deux classes. Vérifier l’intégrité Pour exécuter la fonctionnalité Vérifier l’intégrité, sélectionnez la commande Vérifier l’intégrité du menu Outils ou cliquez sur le bouton correspondant de la barre d’outils d’édition. Pour plus d’informations sur les paramètres de cette fonctionnalité, reportez-vous au paragraphe “Exécution de la vérification de l’intégrité” dans le chapitre 4 du présent manuel. Manuel du designer 207 Chapitre 7 Définition des classes et des objets 208 Manuel du designer Chapitre 8 Définition de la navigation agrégée dans un univers ................................................................................. Dans ce chapitre ❑ Généralités 210 ❑ Qu’est-ce que la navigation agrégée ? 210 Navigation agrégée et data warehouses 211 ❑ Mise en oeuvre de la navigation agrégée 212 ❑ Exemples de navigation agrégée 213 ❑ Vérification de l’intégrité de l’univers 224 Manuel du designer 209 Chapitre 8 Définition de la navigation agrégée dans un univers Généralités Vous trouverez dans le présent chapitre la méthodologie appropriée pour mettre en oeuvre la navigation agrégée dans un univers, ainsi que deux exemples de schémas comprenant des tables agrégées. Qu’est-ce que la navigation agrégée ? La navigation agrégée est une fonctionnalité de DESIGNER utilisant des tables agrégées dans une base de données. Ces tables comprennent des données précalculées. Leur finalité est d’améliorer la performance des transactions SQL, c’est-à-dire d’accélérer l’exécution des requêtes. La fiabilité de cette technique dépend grandement de la précision de vos tables agrégées. Il faut donc procéder souvent à leur rafraîchissement. Un univers est dit à “navigation agrégée” lorsqu’il contient un ou plusieurs objets agrégés disposant de définitions de remplacement basées sur ces tables. Ces définitions correspondent à plusieurs niveaux d’agrégat. Par exemple, un objet Profit peut être agrégé par mois, par trimestre ou par année. Les requêtes construites à partir d’un tel univers retournent des informations agrégées au niveau approprié pour la vitesse optimale. 210 Manuel du designer Qu’est-ce que la navigation agrégée ? Navigation agrégée et data warehouses La navigation agrégée prend de l’importance dans le cas des data warehouses. Pour comprendre ce point, considérez l’exemple suivant de data warehouse, composé de trois dimensions : temps, géographie et produit. Dimension Temps Niveaux Année Trimestre Mois Jour Dimension Géographie Pays Région Etat Ville Dimension Produit Compagnie Département Groupe Produit Au niveau le plus bas, ce data warehouse peut stocker des informations quotidiennes relatives aux clients et aux produits. Une ligne est affectée pour les achats de produit quotidiens de chaque client, qui peuvent être exprimés mathématiquement 365 jours x 100 villes x 10 produits = 365 000 lignes ! Donc, si vous recherchez des informations sur les ventes annuelles, faites en sorte que le moteur de base de données additionne un très grand nombre de lignes. En réalité, les ventes annuelles des sociétés n’impliquent pas un nombre de lignes si élevé. 3 années x 3 pays x 3 compagnies = 27 lignes 27 lignes d’une table suffisent pour obtenir la réponse à la question. Il serait donc largement plus efficace de pré-totaliser ces lignes dans des tables agrégées. Manuel du designer 211 Chapitre 8 Définition de la navigation agrégée dans un univers Mise en oeuvre de la navigation agrégée La mise en oeuvre de la navigation agrégée dans un univers est un processus en quatre parties. Les principaux éléments de la méthodologie sont résumés dans le diagramme ci-dessous. Construction des objets 1. Identifiez toutes les définitions possibles (combinaisons table/colonne) d’objets. 2. Organisez les objets par niveau d’agrégat. 3. Construisez les objets à l’aide de la fonction @Aggregate_Awareness. Spécification des objets incompatibles 1. Construisez une matrice d’objets/tables agrégées. 2. Pour la première table agrégée, décidez si chaque objet est : - au même niveau d’agrégat ou plus haut (compatible) - à un niveau i nférieur d’agrégat (incompatible) 3. Vérifiez uniquement les cases des objets incompatibles pour cette table. 4. Répétez les étapes pour les tables agrégées restantes. Définition des contextes nécessaires Définissez un contexte par niveau d’agrégat. Test des résultats 1. Exécutez plusieurs requêtes. 2. Comparez les résultats. 212 Manuel du designer Exemples de navigation agrégée Exemples de navigation agrégée Cette section présente deux exemples de navigation agrégée dans un univers. Exemple Navigation agrégée simple ........................................................... Commençons par un exemple simple basé sur le schéma suivant : Le schéma contient trois tables agrégées prédéfinies : AAMONTH, AAQTR et AAYEAR. Construction des objets La première étape de la mise en oeuvre de la navigation agrégée dans un univers consiste à décider quels objets seront à navigation agrégée. Vous pouvez utiliser des objets de type indicateur ou de type dimension. Dans notre exemple, considérons l’objet Chiffre d’affaires (Sales Revenue) comme le seul objet à navigation agrégée dans l’univers ; dans le schéma ci-dessus, les objets Année et Trimestre seront également définis pour la navigation agrégée. Remarque : Le schéma ci-dessus a été largement simplifié ; son organisation n’est pas sensée représenter une application réelle. Pour commencer, une table agrégée doit généralement combiner plusieurs dimensions plutôt qu’une dimension basée sur le temps. Par ailleurs, la dimension temps (Année, Trimestre et Mois) doit normalement être définie dans une table maîtresse et non une table agrégée. Manuel du designer 213 Chapitre 8 Définition de la navigation agrégée dans un univers Identification de toutes les combinaisons des objets agrégés L’étape suivante consiste à identifier toutes les combinaisons possibles d’objets dans les diverses tables. Vous pouvez définir l’objet Chiffre d’affaires (Sales Revenue) comme suit : • AAMONTH.REVENUE • AAYEAR.REVENUE • AAQTR.REVENUE • PRODUCTS.PRICE*ORDER_LINES.QUANT Une fois toutes les combinaisons d’objets identifiées, vous devez les organiser selon leur niveau d’agrégat. Le niveau d’agrégat le plus élevé est AAYEAR.REVENUE. Les deux niveaux suivants sont respectivement AAQTR.REVENUE et AAMONTH.REVENUE. Le niveau d’agrégat le plus bas est PRODUCTS.PRICE*ODER_LINES.QUANT. Il est également nécessaire d’identifier les combinaisons des objets restants (Année et Trimestre). Définition des objets agrégés à l’aide de la fonction @Aggregate_Aware L’étape suivante consiste à définir tous les objets à navigation agrégée à l’aide de la fonction @Aggregate_Aware. Cette définition apparaît dans la clause Select des propriétés d’un objet, comme illustré ci-dessous. 214 Manuel du designer Exemples de navigation agrégée La syntaxe de la fonction @Aggregate_Aware est la suivante : @Aggregate_Aware(sum(agg_table_1), ... sum(agg_table_n)) où agg_table_1 est la table de plus haut niveau d’agrégat, et agg_table_n celle de plus bas niveau. Vous devez ensuite saisir les noms de toutes les tables agrégées comme des arguments. Les arguments de cette fonction correspondent à tous les agrégats possibles. Lors de la définition de la syntaxe, faites attention à l’ordre dans lequel vous saisissez les différents arguments. Plus un argument est situé à gauche, plus il est prioritaire, c’est-à-dire que BUSINESSOBJECTS détermine les agrégats à utiliser en commençant par l’argument situé à l’extrême gauche. Dans l’exemple, la syntaxe pour l’objet Chiffres d’affaires serait : @Aggregate_Aware(sum (AAYEAR.REVENUE), sum(AAQTR.REVENUE), sum (AAMONTH.REVENUE), sum(PRODUCTS.PRICE*ORDER_LINES.QUANT)) Notez que les objets dimensions Année et Trimestre devraient également être définis à l’aide de cette fonction. Manuel du designer 215 Chapitre 8 Définition de la navigation agrégée dans un univers L’éditeur de SQL permet de saisir la syntaxe @Aggregate_Awareness : Bouton Flèche Pour accéder à cet éditeur, cliquez sur le bouton Flèche à droite de la zone de texte Select. Vous pouvez taper la syntaxe directement dans la zone de texte située dans la partie supérieure de l’éditeur ou la formuler à l’aide de l’une des combinaisons d’éléments suivantes : tables, classes/objets, opérateurs ou fonctions. Cliquez sur ce bouton pour vérifier que la syntaxe entrée est valide. Lorsque vous cliquez sur cette fonction, la syntaxe s’affiche ici. Une fois la fonction et ses arguments saisis, cliquez sur le bouton Vérifier pour tester l’exactitude de la syntaxe. Spécification des objets incompatibles La phase suivante consiste à spécifier les objets incompatibles pour chaque table agrégée de l’univers. L’ensemble des objets incompatibles que vous spécifiez détermine les tables agrégées qui sont ignorées lors de la génération du SQL. En ce qui concerne une table agrégée, un objet est soit compatible, soit incompatible. Les règles de la compatibilité sont les suivantes : Lorsqu’un objet est placé au même niveau d’agrégat, ou à un niveau plus élevé, que celui d’une table, il est compatible avec cette dernière. Lorsqu’un objet est placé à un niveau d’agrégat plus bas que celui d’une table (ou s’il n’est pas du tout en lien avec la table), il est incompatible avec la table. 216 Manuel du designer Exemples de navigation agrégée Analyse des objets Il peut être utile de construire une matrice afin d’analyser la compatibilité des objets et des tables agrégées. Dans les deux premières colonnes de cette matrice, répertoriez les noms de classes et d’objets. Créez ensuite un en-tête de colonne pour chaque table agrégée de votre univers. Une matrice vierge inspirée du schéma ci-dessous se présenterait comme suit : Classe Customers Objet AAYEAR AAQTR AAMONTH Customer Code (CUSTOMER.CUST_ID) Customer Name (CUSTOMER.LAST_NAME) Customer City (CUSTOMER.CITY) Customer Nationality (COUNTRIES.COUNT_NAME) Products Product Code (PRODUCT.PROD_ID) Product Name (PRODUCT.PROD_NAME) Orders Order Year (AAYEAR.PROD_NAME) Order Quarter (AAQTR.QTR) Order Month (AAMONTH.MONTH) Order Date (ORDERS.ORDER_DATE) Sales Measure Sales Revenue (@Aggregate_Aware(...)) Pour chaque table, placez une coche (✓) si l’objet est incompatible. Manuel du designer 217 Chapitre 8 Définition de la navigation agrégée dans un univers Une matrice complète basée sur l’exemple se présente comme suit : Classe Customers Objet AAYEAR AAQTR AAMONTH Customer Code ✓ ✓ ✓ (n) (CUSTOMER.CUST_ID) Customer Name ✓ ✓ Products Product Code Product Name Orders Order Year Order Quarter Order Month Order Date Sales Measure Sales Revenue ✓ ✓ (h) ✘ (l) ✓ (l) ✘ (h) ✘ (s) (l) (ORDERS.ORDER_DATE) ✘ ✘ ✓ (n) (h) (l) (AAMONTH.MONTH) ✓ ✘ ✓ (n) (n) (s) (AAQTR.QTR) ✓ ✓ ✘ (n) (n) (n) (AAYEAR.PROD_NAME) ✓ ✓ ✓ (n) (n) (n) (PRODUCT.PROD_NAME) ✓ ✓ ✓ (n) (n) (n) (PRODUCT.PROD_ID) ✓ ✓ ✓ (COUNTRIES.COUNT_NAME) (n) (n) (n) (CUSTOMER.CITY) Customer Nationality ✓ (n) (CUSTOMER.LAST_NAME) Customer City (n) (s) ✓ (l) ✘ (l) ✘ (@Aggregate_Aware(...)) ✓(n) Cet objet n’a aucun lien à une table agrégée. Il est donc incompatible. ✓ (l) Cet objet est à un niveau d’agrégat inférieur à celui de cette table agrégée ; il ne permet pas de dériver des informations. Il est donc incompatible. ✘ (s) Cet objet est au même niveau d’agrégat que cette table agrégée ; il permet de dériver des informations. Il est donc compatible. ✘(h) Cet objet est à un niveau d’agrégat supérieur à celui de cette table agrégée ; il permet de dériver des informations. Il est donc compatible. 218 Manuel du designer Exemples de navigation agrégée Utilisation de la boîte de dialogue Navigation agrégée Une fois la matrice complétée, vous pouvez spécifier les objets incompatibles dans la boîte de dialogue Navigation agrégée de DESIGNER. Pour accéder à cette boîte, sélectionnez la commande Navigation agrégée du menu Outils. La boîte de dialogue comporte deux volets : • Tables de l’univers, qui répertorie l’ensemble des tables de l’univers ; • Objets incompatibles associés, qui répertorie l’ensemble des objets de l’univers. Pour spécifier les objets incompatibles pour une table agrégée : 1. Cliquez sur la table agrégée dans le volet gauche. 2. Dans le volet droit, sélectionnez chaque objet incompatible en cliquant sur la case correspondante. Une coche s’affiche (parallèle avec les coches incluses dans la matrice). 3. Répétez les étapes ci-dessus pour chaque table agrégée de votre univers. 4. Lorsque vous avez spécifié les objets incompatibles pour toutes les tables, cliquez sur le bouton OK. La boîte de dialogue fournit également un bouton Détecte les incompatibilités qui vous guide dans le processus de spécification des objets incompatibles. Lorsque vous cliquez sur une table puis sur ce bouton, DESIGNER coche automatiquement les objets considérés comme incompatibles. Remarque : Considérez les objets incompatibles proposés par la fonction Détecte les incompatibilités comme des suggestions et non comme des choix définitifs. Manuel du designer 219 Chapitre 8 Définition de la navigation agrégée dans un univers Table AAYEAR Dans le cas de la table AAYEAR, tous les objets de la classe Customers sont incompatibles. Pour indiquer que tous les objets d’une classe sont incompatibles, vous pouvez cliquer sur la case à cocher en regard du nom de classe. Table AAQTR Les objets incompatibles pour la table AAQTR sont présentés ci-dessous. 220 Manuel du designer Exemples de navigation agrégée Table AAMONTH Dans le cas de la table AAMONTH, un seul objet est incompatible. ........................................................... Exemple Résolution de boucles utilisant des contextes dans une base de données qui contient des tables agrégées ........................................................... Lorsqu’une base de données contient une ou plusieurs tables agrégées, vous devez résoudre toute boucle à l’aide de contextes. Considérez le schéma ci-dessous, fourni en exemple : FACT_AGG1 est une table agrégée presque identique à la table FACT. Elle contient la clé (Customer) City (Ville), la clé Product (Produit) et la clé Month (Mois) en sus d’un certain nombre d’indicateurs agrégés dans Customer City, Product et Month. Manuel du designer 221 Chapitre 8 Définition de la navigation agrégée dans un univers FACT_AGG2 est également une table agrégée similaire à la table FACT. Ses objets indicateurs sont agrégés dans Customer State (Etat du client), Product (Produit) et Year (Année). Dans ce schéma, les indicateurs (i.e. les indicateurs clé de performance) sont stockés dans toutes les tables factuelles. Ainsi, l’objet Chiffre d’affaires (Sales Revenue) est stocké dans les tables FACT_AGG1, FACT_AGG2 et FACT mais est agrégé aux niveaux respectifs de chaque table. Par conséquent, lorsque vous construisez une requête avec les objets Chiffre d’affaires et Customer State, vous souhaitez utiliser la jointure entre les tables CUST_STATE et FACT_AGG2 plutôt que la jointure entre les tables CUST_STATE et CUST_CITY. Cependant, avant d’exécuter cette requête, vous devez définir trois contextes, par exemple FACT, FACT_AGG1 et FACT_AGG2. (Il est inutile de renommer les contextes puisqu’ils sont transparents pour les utilisateurs.) Les jointures comprises dans les trois contextes sont illustrées à la page suivante. Dans chaque schéma, les jointures les plus foncées représentent le contexte choisi. 222 Manuel du designer Exemples de navigation agrégée Contexte FACT : Contexte FACT_AGG1 : Contexte FACT_AGG2 : Manuel du designer 223 Chapitre 8 Définition de la navigation agrégée dans un univers Vérification de l’intégrité de l’univers La dernière étape de la mise en oeuvre de la navigation agrégée consiste à tester les résultats dans BUSINESSOBJECTS ou WEBINTELLIGENCE. En fonction de ce premier exemple, vous pouvez lancer les requêtes suivantes puis comparer les résultats différents. BusinessObjects 224 Manuel du designer Chapitre 9 Création de types d’objets spécifiques ................................................................................. Dans ce chapitre ❑ Généralités 226 ❑ Création d’un objet concaténé 226 ❑ Affectation d’une liste de valeurs à un objet 229 ❑ Création d’objets de type indicateur 232 ❑ Insertion d’un objet personnel 236 Manuel du designer 225 Chapitre 9 Création de types d’objets spécifiques Généralités Ce chapitre est destiné à illustrer quelques uns des concepts décrits dans le chapitre précédent. Ainsi, vous trouverez des exemples pour les types d’objet suivants : • Objet concaténé • Objet avec une liste de valeurs • Objets de type indicateur • Objet personnel Ces exemples ont été créés à partir de la base de démonstration Club, elle-même créée avec Microsoft Access. Cette base de données est livrée avec les produits BUSINESSOBJECTS. Création d’un objet concaténé Un objet concaténé est un objet résultant de la combinaison de deux objets existants. Imaginons que vous voulez créer un objet appelé Nom intégral qui soit une concaténation des objets Last Name (Nom de famille) et First Name (Prénom) dans la classe Customer. Pour ce faire, créez d’abord un nouvel objet dans la classe Customer et appelez-le Nom intégral. N’oubliez pas de saisir une description pour cet objet. Ce texte descriptif pourrait être le suivant : “Cet objet est une association du prénom et du nom de famille du client”. 226 Manuel du designer Création d’un objet concaténé Dans la zone Select, vous devez spécifier la syntaxe de la clause SELECT. Pour saisir cette syntaxe, vous pouvez utiliser l’éditeur de SQL : Pour plus d’informations sur cet éditeur, reportez-vous à la section “Utilisation de l’éditeur de SQL”, page 177. Manuel du designer 227 Chapitre 9 Création de types d’objets spécifiques Vous pouvez saisir la syntaxe suivante : rtrim (Customer.first_name + ‘ ‘ + Customer.last_name) rtrim étant une fonction qui supprime l’espace en fin de chaîne de caractères et les deux apostrophes étant utilisées pour inclure un espace entre le prénom et le nom de famille. Si vous exécutez une requête à partir de BUSINESSOBJECTS, contenant comme seul objet l’objet Nom intégral, celle-ci retourne les résultats suivants : 228 Manuel du designer Affectation d’une liste de valeurs à un objet Affectation d’une liste de valeurs à un objet Vous pouvez affecter une liste de valeurs à tous les objets de votre univers. Comme indiqué dans le chapitre 7, une liste de valeurs est un fichier .lov qui contient les valeurs associées à un objet. Grâce à ces listes de valeurs qu’ils visualisent, les utilisateurs finals peuvent définir des conditions sur l’objet correspondant puisqu’ils peuvent voir le format exact de ses valeurs. Pour limiter la liste de valeurs visualisée par les utilisateurs finals aux noms des pays européens, procédez comme suit : Double-cliquez sur l’objet Pays (Country) dans la fenêtre Univers. Dans la boîte de dialogue Editer les propriétés, activez l’onglet Propriétés. Pour créer cette liste de valeurs, saisissez d’abord un nom dans le champ Nom de la liste (Europe, par exemple), comme illustré ci-dessous : Pour permettre aux utilisateur d’utiliser la liste de valeurs de BUSINESSOBJECTS, cliquez sur les deux options Rafraîchissement automatique et Exporter avec l’univers. Manuel du designer 229 Chapitre 9 Création de types d’objets spécifiques Puis, cliquez sur le bouton Afficher pour visualiser les valeurs correspondant à l’objet Country : Lorsque vous cliquez sur OK, le fichier Europe.lov est créé dans le sous-dossier UserDocs. Pour éditer cette liste de valeurs, cliquez sur le bouton Editer. L’éditeur de requête s’affiche : 230 Manuel du designer Affectation d’une liste de valeurs à un objet Editez la liste de valeurs comme suit : 1. Faites glisser l’objet Country dans la zone Conditions . 2. Dans la barre des opérateurs, cliquez deux fois sur l’option Dans liste. 3. Dans la liste d’opérandes suivante, cliquez deux fois sur l’option Saisir une nouvelle constante. 4. Dans l’objet Country (zone Conditions), entrez les pays suivants séparés des points-virgules : France; Germany; Holland; UK 5. Appuyez sur OK pour valider les modifications de la liste de valeurs. Dans BUSINESSOBJECTS ou WEBINTELLIGENCE, les utilisateurs finals peuvent ensuite visualiser la liste de valeurs suivante pour l’objet Country. Manuel du designer 231 Chapitre 9 Création de types d’objets spécifiques Création d’objets de type indicateur Comme constaté dans le chapitre 7, vous créez des objets de type indicateur en utilisant des fonctions d’agrégat. En créant de tels objets, vous permettez aux utilisateurs finals d’effectuer une analyse sur divers objets. Cette section fournit deux exemples d’objets de type indicateur. Exemple Objet de type indicateur qui suit le revenu des ventes par région ........................................................... Vous avez besoin d’un objet permettant aux utilisateurs finals d’obtenir le chiffre d’affaires par lieu de séjour. Pour ce faire, créez d’abord l’objet Chiffre d’affaires dans la classe Indicateurs d’activité. Qualifiez l’objet en tant qu’indicateur. Dans la clause SELECT de l’onglet Définition de la boîte de dialogue Editer les propriétés, saisissez la syntaxe suivante : Sum (Invoice_Line.days * Invoice_Line.nb_guests * Service.price) N’oubliez pas de saisir une description de l’objet, telle que “Chiffre d’affaires issu des biens et des services vendus sur les lieux de séjour”. 232 Manuel du designer Création d’objets de type indicateur Dans l’onglet Définition de la même boîte de dialogue, affectez la qualification Indicateur à l’objet. Une fois créé, cet objet s’affiche dans la fenêtre Univers comme illustré dans la fenêtre ci-dessous : Manuel du designer 233 Chapitre 9 Création de types d’objets spécifiques Vous pouvez tester cet objet à partir de BUSINESSOBJECTS en exécutant une requête contenant cet objet et d’autres objets. La requête retournera les résultats suivants, par exemple : Rapport créé avec les objets Chiffre d’affaires, Lieu de séjour et Année. ........................................................... Exemple Objet de type indicateur retournant l’âge moyen des clients ........................................................... Pour des besoins statistiques, un utilisateur final travaillant avec votre univers a besoin de connaître la moyenne d’âge des clients qui ont passé des vacances dans différents lieux de séjour au cours des quatre derniers trimestres. Comme dans l’exemple 1, vous devez créer un objet de type indicateur que l’on pourrait appeler Moyenne d’âge. Dans la clause SELECT de l’onglet Définition de la boîte de dialogue Editer les propriétés, saisissez la syntaxe suivante : Avg(Customer.Age) Pensez à saisir une description de cet objet, comme par exemple “Moyenne d’âge du client”. 234 Manuel du designer Création d’objets de type indicateur L’illustration ci-dessous est un extrait du rapport obtenu par l’utilisateur final ayant inséré l’objet Moyenne d’âge dans une requête : ........................................................... Manuel du designer 235 Chapitre 9 Création de types d’objets spécifiques Insertion d’un objet personnel Dans BUSINESSOBJECTS, les utilisateurs finals sont autorisés à créer leurs propres objets à partir d’objets déjà existants dans l’univers. Ces objets personnalisés comblent un besoin précis de l’utilisateur final. Toutefois, ces objets ne peuvent être utilisés que dans l’univers au sein duquel ils ont été créés. Comme tout autre objet, les objets personnels ont un nom, une qualification et une définition. BUSINESSOBJECTS stocke les objets personnels sous forme de fichiers dans le sousdossier Universe. Les noms de ces fichiers sont composés du nom d’univers et de l’extension .udo. Prenons l’exemple d’un utilisateur final qui a créé l’objet TVA au sein de l’univers Analyse de ventes. Dans Designer, la définition de cet objet indicateur contient la syntaxe suivante : Sum ({Service\Price * 0.206}) où 0.206 est le taux de tva courant. Astuce : Pour des informations détaillées sur la création d’objets personnels, reportez-vous au Manuel de l’utilisateur de BusinessObjects. En tant que designer, vous décidez que l’objet TVA est utile et qu’il devrait être disponible pour tous les utilisateurs qui travaillent avec cet univers. Par conséquent, vous devez insérer cet objet personnel dans l’univers Analyse de ventes. Pour ce faire, suivez la procédure suivante : 1. Sélectionnez la commande Objets personnels du menu Insertion. La boîte de dialogue Insertion d’objets personnels s’affiche. 2. Sélectionnez le nom du fichier correspondant (ici : Analyse.udo), puis cliquez sur le bouton Ouvrir. Par défaut, les fichiers d’objets utilisateurs sont stockés dans le sous-dossier Universe avec l’extension .udo. Le DESIGNER crée une classe appelée Créés à partir d’objets personnels. 236 Manuel du designer Insertion d’un objet personnel Pour visualiser l’objet que vous venez d’insérer, cliquez sur le signe plus (+) situé à côté du nom de la classe. Manuel du designer 237 Chapitre 9 Création de types d’objets spécifiques 238 Manuel du designer Gestion des univers Chapitre 10 ................................................................................. Dans ce chapitre ❑ Généralités 241 ❑ Enregistrement d’un univers 242 Mode entreprise et mode travail en groupe 243 Spécification des options d’enregistrement par défaut 244 ❑ Ressources d’impression 246 Options d’impression 246 Mise en page 247 Utilisation de l’aperçu avant impression 248 Impression 249 ❑ Distribution des univers 250 Identification de l’univers 250 Méthodes de distribution 250 Répartition en groupes de travail 251 Export d’un univers 252 Import d’un univers 255 Manuel du designer 239 Chapitre 10 Gestion des univers ❑ Nouvelles fonctionnalités de déploiement 257 Migration d’un univers d’un domaine à un autre 257 Migration d’un univers dérivé vers un autre domaine 258 Echange d’univers et de documents entre référentiels 259 ❑ Lancement de produits BUSINESSOBJECTS à partir du Designer 260 ❑ Identification sous un nom d’utilisateur différent 260 ❑ Changement du mot de passe 261 ❑ Travail avec des univers liés 262 Que sont les univers liés ? 262 Conséquence de la liaison d’univers 265 Avantages des univers liés 266 Conditions requises pour relier des univers 266 ❑ Comment relier des univers ? 267 Création d’une liaison dynamique entre deux univers 267 Intégration d’un univers dans un autre univers 269 240 Manuel du designer Généralités Généralités Ce chapitre fournit toutes les informations nécessaires à la gestion des univers. Il traite des sujets suivants : • Enregistrement des univers, • Modes entreprise et groupe de travail, • Ressources d’impression, • Distribution des univers, • Nouvelles fonctinnalités de déploiement, • Univers liés. Manuel du designer 241 Chapitre 10 Gestion des univers Enregistrement d’un univers Comme dans toute autre application, vous devez penser à enregistrer régulièrement vos univers au cours d’une session de travail. Enregistrer Pour enregistrer l’univers actif, sélectionnez la commande Enregistrer du menu Fichier ou cliquez sur le bouton correspondant de la barre d’outils Standard. Si vous enregistrez votre univers pour la première fois, la boîte de dialogue Enregistrer l’univers sous s’affiche. Saisissez un nom pour le fichier d’univers. Vous pouvez également spécifier si l’univers doit être enregistré en mode entreprise ou en mode groupe de travail. Vous trouverez plus d’informations sur ces modes dans la section suivante. Cette boîte de dialogue contient également une option appelée Sauvegarder pour tous les utilisateurs, décrite à la section “Mode entreprise et mode travail en groupe”, page 243. Pour enregistrer tous les univers ouverts, sélectionnez la commande Enregistrer tout du menu Fichier. Veuillez noter que le nom de l’univers (le nom long) et le nom du fichier dans lequel vous enregistrez cet univers n’ont pas besoin d’être identiques. Pour le nom d’univers, vous pouvez saisir un maximum de 35 caractères alphanumériques. Ce nombre est limité à 8 caractères pour le nom du fichier d’univers. Remarque : Il est recommandé d’éviter d’enregistrer deux univers différents sous le même nom de fichier sauf si les casses sont différentes, tel que “Ventes” et “ventes”. Des conflits risquent de survenir lors de l’export de ces univers dans le référentiel. Lorsque vous enregistrez un univers, le DESIGNER le stocke dans un fichier avec l’extension .unv. Dans BUSINESSOBJECTS ou WEBINTELLIGENCE, l’utilisateur final identifie l’univers par le nom long de l’univers. Par défaut, DESIGNER stocke les fichiers .UNV dans le sous-dossier Universe. Vous pouvez bien sûr indiquer un autre dossier. Dans la boîte de dialogue Options, vous pouvez également modifier le dossier par défaut (ici : Universe) pour toutes les opérations d’enregistrement à venir. Cette boîte de dialogue est détaillée à la section “Spécification des options d’enregistrement par défaut”, page 244. 242 Manuel du designer Enregistrement d’un univers Mode entreprise et mode travail en groupe Le DESIGNER permet d’enregistrer les univers en mode entreprise ou en mode travail en groupe. Le mode entreprise implique que vous travaillez dans un environnement doté d’un référentiel, contrairement au mode travail en groupe. Le mode d’enregistrement de vos univers détermine si d’autres designers pourront y avoir accès ou non. Par défaut, le mode d’enregistrement d’un univers est celui dans lequel vous travaillez. Par exemple, si vous avez lancé une session en mode entreprise, vous enregistrerez automatiquement l’univers en mode entreprise. Vous pouvez toutefois rendre cet univers accessible à un autre designer travaillant sans référentiel en cochant la case Sauvegarder pour tous les utilisateurs de la boîte de dialogue Enregistrer l’univers sous. Le tableau ci-dessous résume l’incidence de ces deux modes sur l’accès à un univers. Il indique si d’autres designers peuvent avoir accès à des univers enregistrés Univers enregistrés en mode groupe de travail Designer travaillant en mode groupe de travail ✓ Designer travaillant en mode entreprise ✓ Univers non exportés enregistrés en mode entreprise ✓ Univers exportés enregistrés en mode entreprise ✓ (si l’accès à l’univers est autorisé par le superviseur) Superviseur général ✓ ✓ ✓ Légende : ✓ peut accéder aux univers Les informations présentées dans le tableau ci-dessus sont valables pour les sessions locales ou connectées. Manuel du designer 243 Chapitre 10 Gestion des univers Spécification des options d’enregistrement par défaut Vous pouvez spécifier des options par défaut applicables aux fichiers d’univers que vous enregistrez. Ces options sont proposées dans l’onglet Enregistrement de la boîte de dialogue Options. Pour accéder à cette boîte de dialogue, sélectionnez la commande Options du menu Outils. La boîte de dialogue Parcourir accessible par le bouton du même nom, vous permet de sélectionner le dossier de destination pour tous vos fichiers d’univers. Le nom du dossier de destination est affiché dans le champ à côté du bouton Parcourir. Vous pouvez également saisir le chemin d’accès au dossier directement dans le champ. Vous pouvez également activer la fonction d’enregistrement qui entraîne l’enregistrement automatique, à un intervalle de cinq minutes, de tous les univers ouverts. Vous pouvez modifier cette valeur, soit en en saisissant une autre, soit en cliquant sur les boutons de gradation (pour augmenter ou réduire cette valeur). 244 Manuel du designer Enregistrement d’un univers Définition de mots de passe De plus, vous pouvez indiquer un mot de passe pour tout fichier avec un type de connexion partagée ou personnelle. Vous pouvez ainsi protéger votre univers contre les utilisateurs non autorisés en environnement sans référentiel. Vous disposez de deux options : • L’option Mot de passe qui entraîne l’affichage d’une boîte de dialogue invitant l’utilisateur à entrer un mot de passe. Si ce dernier est correct, l’univers est ouvert. • L’option Mot de passe pour l’écriture qui entraîne l’affichage de la boîte de dialogue suivante : L’utilisateur peut alors ouvrir l’univers en mode lecture, ou en mode lecture et écriture s’il saisit le mot de passe correct. Pour définir l’un ou l’autre type de mot de passe dans la boîte de dialogue Options, saisissez-le dans l’un des deux champs prévus à cet effet. Vous pouvez saisir un maximum de 40 caractères alphanumériques. Lorsque vous avez saisi toutes les informations nécessaires, cliquez sur Appliquer pour effectuer les modifications. Cliquez sur OK pour quitter la boîte de dialogue tout en appliquant les modifications. Manuel du designer 245 Chapitre 10 Gestion des univers Ressources d’impression DESIGNER dispose de toutes les ressources standard de Windows. Ainsi, vous pouvez imprimer les éléments qui s’affichent dans la fenêtre Structure, c’est-àdire les tables, les colonnes et les jointures. De plus, vous pouvez imprimer les informations qui sont en rapport avec ces éléments et paramétrer l’affichage des éléments sur la page imprimée. Options d’impression Outre les ressources standard, vous souhaitez sans doute explorer les nombreuses options d’impression proposées dans l’onglet Impression de la boîte de dialogue Options. Pour accéder à cette boîte de dialogue, sélectionnez la commande Options du menu Outils. L’onglet Impression est divisé en trois zones qui contiennent diverses options permettant d’imprimer différents types d’information. Impression des informations générales La zone Général vous permet d’imprimer des informations générales concernant les paramètres de l’univers courant et les univers auxquelles celui-ci est lié. L’option Structure graphique vous permet de déterminer l’échelle avec laquelle les éléments de la fenêtre Structure doivent être imprimés. Vous pouvez indiquer l’une des valeurs suivantes : 100%, 85%, 65% ou 50%. 246 Manuel du designer Ressources d’impression Impression des éléments de la liste Les cases à cocher proposées dans cette zone vous permettent de regrouper les éléments de l’univers destinés à l’impression. Ainsi, vous pouvez décider d’imprimer un seul élément, plusieurs éléments, ou encore tous les éléments suivants : objets, conditions, hiérarchies, tables, jointures et contextes. Impression de la description des éléments Outre les options décrites ci-dessus, vous pouvez imprimer une description complète des éléments suivants : objets, conditions, hiérarchies, tables, jointures et contextes. La description contient des informations détaillées sur les propriétés de l’élément. Par exemple, pour un objet, ces informations concernent sa définition SQL, sa qualification, son niveau d’accès sécurisé, etc. Mise en page La commande Mise en page propose des options permettant de définir le format et la source de la page, son orientation et ses marges. Manuel du designer 247 Chapitre 10 Gestion des univers Utilisation de l’aperçu avant impression Avant d’imprimer votre univers, il est conseillé de le visualiser en mode aperçu avant impression pour voir comment les éléments graphiques et toutes les autres informations sont intégrées dans la page. Vérifiez également les marges et les limites de la page. Aperçu avant impression Pour afficher votre univers en mode aperçu avant impression, sélectionnez la commande Aperçu avant impression du menu Fichier ou cliquez sur le bouton correspondant de la barre d’outils Standard. Nom de l’univers Date Univers affiché en mode aperçu avant impression 248 Manuel du designer Ressources d’impression La fenêtre Aperçu avant impression propose plusieurs options d’affichage pour les pages de l’univers ; ces options sont illustrées ci-dessous. Vous pouvez, par exemple, agrandir la vue en cliquant sur le bouton Zoom avant, visualiser la page suivante ou précédente de l’univers, ou encore imprimer les pages directement à partir de cette fenêtre en cliquant sur le bouton Imprimer. Imprime les pages Réduit la vue de la page Affiche la page suivante Affiche la page précédente Retourne dans la fenêtre Designer Divise la vue en une/deux page(s) Agrandit la vue de la page Pour quitter la fenêtre Aperçu avant impression, cliquez sur le bouton Fermer. Impression Vous pouvez imprimer votre univers, soit à partir de la fenêtre Aperçu avant impression, soit à partir de la boîte de dialogue Impression Imprimer Pour accéder à la boîte de dialogue Impression, sélectionnez la commande Imprimer du menu Fichier ou cliquez sur le bouton correspondant de la barre d’outils Standard. Les options figurant dans cette boîte de dialogue concernent l’imprimante par défaut de votre site, l’étendue des pages destinées à l’impression et le nombre de copies à imprimer. De plus, vous pouvez accéder à diverses autres options de présentation de pages en cliquant sur le bouton Propriétés. Pour plus d’informations sur les ressources d’impression standard, reportez-vous à votre documentation de Windows. Manuel du designer 249 Chapitre 10 Gestion des univers Distribution des univers Cette section traite de la distribution des univers ou en d’autres termes, de leur mise à disposition auprès des utilisateurs. Pour distribuer un univers, vous devez prendre en compte les points suivants : identification de l’univers, méthodes de distribution et répartition en groupes de travail. Ces points sont abordés ci-après. Identification de l’univers Un univers est identifié par : • Un nom de fichier composé d’un maximum de huit caractères et d’une extension .unv. • Un nom long contenant un maximum de 35 caractères. Ce nom long vous permet de donner une description plus précise de l’univers. Ce nom est celui par lequel les utilisateurs finals identifient l’univers dans BUSINESSOBJECTS ou WEBINTELLIGENCE. • Un identificateur système unique. Il s’agit de l’identificateur que le référentiel attribue à l’univers lorsque vous exportez celui-ci. La valeur de cet identificateur est nulle si vous n’avez jamais exporté l’univers. Méthodes de distribution Vous pouvez distribuer un univers de deux manières différentes : via le référentiel ou via le gestionnaire de fichiers. Distribution d’un univers via le référentiel Le référentiel de Business Objects est un ensemble centralisé de structures de données stockées sur une base de données. Cet outil relationnel permet aux utilisateurs de BUSINESSOBJECTS et de WEBINTELLIGENCE de partager des ressources dans un environnement contrôlé et sécurisé. Le référentiel comprend trois types de domaine : un domaine sécurité, un domaine univers et un domaine document. Le domaine univers est le domaine qui permet de stocker, de distribuer et d’administrer des univers. En outre, un référentiel peut posséder plusieurs domaines univers. Grâce aux fonctionnalités d’import et d’export de DESIGNER, vous pouvez déplacer les univers vers le domaine univers et les rechercher sur ce domaine également. 250 Manuel du designer Distribution des univers Ainsi, un fichier partagé que vous voulez éditer devient disponible en tant que fichier dans le gestionnaire de fichiers sur votre poste. Les identificateurs des univers stockés dans les domaines univers suivent les règles suivantes : • Un identificateur d’univers est unique dans l’ensemble des domaines univers. • La combinaison de nom de fichier et nom long doit être unique au sein d’un même domaine univers. Distribution d’un univers via le gestionnaire de fichiers Pour distribuer vos univers aux utilisateurs finals ou à d’autres designers, vous pouvez également utiliser le gestionnaire de fichiers. Dans l’onglet Enregistrement de la boîte de dialogue Options, il est possible de définir un mot de passe pour un univers destiné à être partagé. Pour plus d’informations sur cette boîte de dialogue, reportez-vous à la section “Spécification des options d’enregistrement par défaut”, page 244. Veuillez noter que le niveau de sécurité de cette méthode n’équivaut pas à celui de la distribution via le référentiel. Répartition en groupes de travail Tout au long de ce manuel, il est sous-entendu que vous êtes le seul designer sur votre site. DESIGNER supporte cependant également une répartition en groupes de travail, c’est-à-dire un environnement où plusieurs designers peuvent travailler sur les mêmes univers sans pour autant provoquer des heurts. Mécanisme de verrouillage Un univers stocké dans le domaine univers peut être partagé par plusieurs designers à condition que le superviseur leur ait attribué les privilèges nécessaires. Néanmoins, seul un designer peut travailler sur un univers donné à la fois. En effet, un designer qui souhaite modifier un univers ne peut le faire que lorsqu’aucun autre designer a verrouillé l’univers en question. Manuel du designer 251 Chapitre 10 Gestion des univers Le mécanisme de verrouillage est une option permettant au designer d’importer un univers du domaine univers tout en le verrouillant. Ainsi, aucun autre designer ne peut exporter cet univers vers le domaine univers. Le mécanisme de verrouillage est un attribut de l’univers stocké dans le domaine univers. Il garantit qu’un et un seul designer peut réactualiser ou éditer un univers donné afin d’empêcher toute interférence. Symbole du verrouillage Vous pouvez verroiuller un univers à partir de la boîte de dialogue Exporter ou Importer. Ce faisant, un verrou apparaît en regard de l’univers affiché. Lorsqu’un autre designer verrouille l’univers, le verrou devient grisé. Le mécanisme de verrouillage fait partie des attributs de l’univers stockés dans le domaine univers. Il garantit que seul un designer peut mettre à jour ou modifier l’univers et évite ainsi tout conflit. Numéro de révision Chaque fois que vous exportez un univers vers le domaine univers, DESIGNER incrémente le numéro de révision de celui-ci. Ainsi, vous pouvez connaître la dernière version de l’univers à tout moment. Export d’un univers Lorsque vous exportez un univers vers le domaine univers du référentiel, celuici devient disponible pour les utilisateurs finals et pour d’autres designers. Après avoir exporté un univers, DESIGNER déplace l’univers local vers un sousdossier du dossier Universe. Ce sous-dossier porte le nom du domaine univers vers lequel vous avez exporté l’univers. DESIGNER stocke également une copie de cet univers dans le dossier Universe. Veuillez noter que l’identificateur système de l’univers est affecté à l’univers étant stocké dans le sous-dossier. (Voir la section “Identification de l’univers”, page 250.) Vous ne pouvez exporter un univers que si celui-ci n’a pas été verrouillé par un autre designer dans le domaine univers. Si vous essayez tout de même d’exporter cet univers, vous recevrez un message d’erreur. Remarque : Vous ne pouvez exporter un univers que si celui-ci est pourvu d’une connexion sécurisée. 252 Manuel du designer Distribution des univers La procédure pour exporter un univers est simple. Vérifiez d’abord si l’univers à exporter est sauvegardé, puis procédez comme suit : 1. Sélectionnez la commande Exporter du menu Fichier. La boîte de dialogue Exporter l’univers s’affiche : 2. Dans la boîte à liste Domaine, sélectionnez le domaine univers vers lequel vous voulez exporter l’univers. Symbole du verrouillage 3. Si nécessaire, verrouillez l’univers en cliquant deux fois sur ce dernier. Un univers verrouillé s’affiche accompagné d’un verrou. Pour déverrouiller un univers, cliquez de nouveau deux fois. 4. Dans la zone Groupes, sélectionnez le ou les groupes pour le ou lesquels vous voulez exporter l’univers. La zone Groupes affiche tous les groupes d’utilisateurs pour lesquels vous êtes autorisé à exporter des univers. 5. Dans la zone Univers, sélectionnez le ou les univers que vous voulez exporter. • Cette zone affiche le nom de l’univers actif. • Si vous souhaitez exporter plusieurs univers à la fois, cliquez sur le bouton Ajouter un univers, puis sélectionnez les univers que vous voulez ajouter à la liste. Manuel du designer 253 Chapitre 10 Gestion des univers 6. Cliquez sur OK. Quand l’export est terminé, DESIGNER affiche le message suivant : 7. Cliquez sur OK pour quitter la boîte de message. Export incrémental La procédure figurant ci-dessus illustre comment exporter l’intégralité d’un univers vers un domaine univers. Dans certains cas, DESIGNER peut également exporter un univers de façon incrémentale, c’est-à-dire en ne tenant compte que des modifications effectuées depuis le dernier export. Ces modifications sont généralement mineures. Pour permettre à DESIGNER d’effectuer un export incrémental d’un univers, sélectionnez la commande Options du menu Outils, puis cochez la case Permettre l’export incrémental. 254 Manuel du designer Distribution des univers Import d’un univers A l’aide de la commande Importer, vous pouvez importer un ou plusieurs univers stocké(s) dans le domaine univers du référentiel. Un univers que vous importez est stocké dans le dossier Univers ou dans tout autre dossier que vous spécifiez. Pour importer un univers : 1. Sélectionnez la commande Importer du menu Fichier. La boîte de dialogue Importer un univers s’affiche : 2. Dans la boîte à liste Domaine, sélectionnez le domaine univers à partir duquel vous voulez importer l’univers. Symbole de verrouillage 3. Verrouillez l’univers en cliquant deux fois sur ce dernier. Pour le déverrouiller, cliquez de nouveau deux fois. Un univers verrouillé s’affiche accompagné d’un verrou. 4. Dans la zone Univers disponibles, sélectionnez le nom de l’univers que vous voulez importer. Pour sélectionner plusieurs univers, sélectionnez les univers de votre choix tout en maintenant la touche Ctrl enfoncée. Manuel du designer 255 Chapitre 10 Gestion des univers 5. Vérifiez le nom du sous-dossier destiné à recevoir vos univers à importer. Par défaut, ce sous-dossier est appelé Universe. Vous pouvez également spécifier un autre dossier en indiquant son chemin dans la boîte de dialogue Parcourir accessible par le bouton Parcourir. 6. Cliquez sur OK. Quand l’import est terminé, DESIGNER affiche le message suivant : 7. Cliquez sur OK pour quitter la boîte de message. 256 Manuel du designer Nouvelles fonctionnalités de déploiement Nouvelles fonctionnalités de déploiement DESIGNER supporte la répartition en phases des univers par l’utilisation de différents domaines. Les designers peuvent ainsi stocker des univers dans un domaine de développement et les migrer ensuite dans un domaine de production. La fonction de remplacement des univers existants par des versions plus récentes est traitée avec une meilleure efficacité dans cette nouvelle version de DESIGNER. Remarque : En mode entreprise, ces fonctionnalités de déploiement sont disponibles uniquement dans le même référentiel. Toutefois, en mode de travail en groupe, vous pouvez échanger des univers et des documents entre référentiels, comme décrit plus loin dans la présente section. Migration d’un univers d’un domaine à un autre Supposons que vous souhaitiez migrer un univers d’un domaine de développement à un domaine de production. Pour ce faire, exportez l’univers vers le domaine de production. Le premier export de l’univers aboutit mais le deuxième donne lieu à un conflit ; DESIGNER détecte un univers existant portant le même nom de fichier mais un identificateur différent. Un superviseur général peut vous aider à surmonter cette restriction en définissant l’option Travailler avec les surcharges d’univers dans le SUPERVISOR. Par la suite, lorsque vous exportez l’univers, DESIGNER vous invite à remplacer l’univers existant. Une fois que vous avez migré un ou plusieurs univers de développement, vous devez penser à modifier tout document construit dans ce ou ces univers. Vous devez donc modifier leur univers source à partir de BUSINESSOBJECTS. Manuel du designer 257 Chapitre 10 Gestion des univers Modification de l’univers source des documents Pour modifier l’univers source des documents : 1. Vérifiez que les univers source et cible existent dans leurs dossiers respectifs. 2. Ouvrez le premier document dans BUSINESSOBJECTS. 3. Sélectionnez la commande Visualiser les données du menu Données. La boîte de dialogue Gestionnaire de données s’affiche. 4. Dans l’onglet Définition, sélectionnez l’univers cible dans la boîte à liste Univers. Vous pouvez utiliser le bouton situé à droite de cette zone pour parcourir vos dossiers. 5. Répétez les étapes ci-dessus pour les autres documents. 6. Cliquez sur OK pour appliquer les modifications et quitter la boîte de dialogue. Migration d’un univers dérivé vers un autre domaine Supposons que vous disposez de deux univers liés dynamiquement : un univers de référence et un univers dérivé issu du premier. Vous voulez migrer l’univers dérivé d’un domaine de développement vers un domaine de production. Dans un souci de simplification, imaginons que les deux domaines sont nommés “Développement” et “Production”. Le dossier Univers contient alors des sousdossiers appelés Développement et Production. Les étapes de la migration sont les suivantes : 1. Exportez l’univers de référence dans le domaine Production. A la fin de l’export, vous disposez de deux fichiers univers, l’un dans le dossier Développement, l’autre dans le dossier Production ; les deux sont identiques, hormis leur Id. 2. Liez l’univers dérivé du dossier Développement à l’univers de référence du dossier Production. • Utilisez le bouton Modifier la source dans l’onglet Liaisons de la boîte de dialogue Paramètres de l’univers, afin de modifier la source de l’univers. • L’univers dérivé référence alors l’univers de référence dans le dossier Production. (Il référence désormais l’univers sous BusinessObjects\Universe\Production.) 258 Manuel du designer Nouvelles fonctionnalités de déploiement 3. Exportez l’univers dérivé dans le domaine Production. Une fois l’export terminé, vous disposez de deux fichiers univers, chacun d’eux référençant l’univers de référence dans le domaine Production. 4. Ouvrez l’univers dérivé dans le dossier Développement. 5. Liez de nouveau cet univers dérivé à l’univers de référence dans le dossier Développement. A ce stade, vous pouvez convertir vos documents en documents de production. Pour ce faire, modifiez l’univers source de ces documents en l’univers dérivé du dossier Production. Echange d’univers et de documents entre référentiels Pour échanger des univers et des documents entre deux référentiels différents, vous devez d’abord les enregistrer en mode travail en groupe. Pour ce faire, cochez la case Sauvegarder pour tous les utilisateurs dans la boîte de dialogue Enregistrer l’univers sous (document). Pour en savoir plus, reportez-vous à la section “Mode entreprise et mode travail en groupe”, page 243. Vous ne pouvez pas enregistrer dynamiquement des univers liés en mode travail en groupe. Par conséquent, avant de migrer de tels univers dans un autre référentiel, vous devez commencer par supprimer la liaison et inclure le contenu de l’univers de référence dans l’univers dérivé. Pour en savoir plus sur cette opération, reportez-vous à la section “Intégration d’un univers dans un autre univers”, page 269. Manuel du designer 259 Chapitre 10 Gestion des univers Lancement de produits BUSINESSOBJECTS à partir du Designer Une fois que vous avez créé, enregistré et exporté un univers, vous êtes amené à vérifier son bon fonctionnement dans BUSINESSOBJECTS. A partir d’une session de travail dans le DESIGNER, vous pouvez lancer une session BUSINESSOBJECTS en sélectionnant la commande Exécuter ➨ BusinessObjects du menu Outils. Si vous êtes à la fois superviseur et designer, lancez une session SUPERVISOR en sélectionnant la commande Exécuter ➨ Supervisor du menu Outils. Identification sous un nom d’utilisateur différent Vous pouvez vous connecter sous un autre nom au DESIGNER sans pour autant quitter votre session de travail. Vous vous souvenez que l’identification de l’utilisateur est définie dans le SUPERVISOR. Ainsi, vous ne pouvez vous connecter sous un autre nom d’utilisateur que si vous connaissez le nom d’utilisateur et le mot de passe correspondant. Pour vous connecter sous un autre nom d’utilisateur, procédez comme suit : 1. Sélectionnez la commande Identification du menu Outils. • S’il existe des univers ouverts, DESIGNER les ferme automatiquement. • La boîte de dialogue Identification s’affiche. 2. .Saisissez le nom d’utilisateur dans le champ prévu à cet effet. 3. Saisissez le mot de passe dans le champ Mot de passe. 4. Le cas échéant, sélectionnez un référentiel dans la zone Domaine sécurité. Cette zone n’apparaît pas si vous êtes utilisateur d’un seul référentiel. 5. Cliquez sur OK. Pour plus d’informations sur la boîte d’identification, reportez-vous à la section “Lancement d’une session Designer”, page 41. Lorsque vous vous êtes identifié sous un nom d’utilisateur différent dans DESIGNER, vous disposez automatiquement des droits détenus par cet utilisateur ; toutefois, vous pouvez également subir des restrictions qui ont été imposées sur l’utilisateur par le superviseur. 260 Manuel du designer Changement du mot de passe Changement du mot de passe Au cours d’une session de travail dans DESIGNER, vous pouvez changer le mot de passe avec lequel vous vous êtes connecté à tout moment. Cependant, vous ne pouvez pas modifier votre nom d’utilisateur. Pour changer votre mot de passe : 1. Sélectionnez la commande Mot de passe du menu Outils. La boîte de dialogue Modifier le mot de passe s’affiche. 2. Saisissez votre mot de passe actuel dans le champ Ancien mot de passe. 3. Saisissez un nouveau mot de passe dans le champ prévu à cet effet. 4. Confirmez ce nouveau mot de passe en le saisissant une nouvelle fois dans le champ Confirmation. 5. Cliquez sur OK. Le mot de passe est modifié. Manuel du designer 261 Chapitre 10 Gestion des univers Travail avec des univers liés Cette section traite des univers liés représentant une fonctionnalité avancée de DESIGNER. Pour pouvoir comprendre les concepts qui se cachent derrière les univers liés, vous devez absolument avoir des bonnes connaissances en matière de distribution des univers et en matière de répartition en groupes de travail, deux sujets qui ont été expliqués en détail au début du présent chapitre. Que sont les univers liés ? Les univers liés sont des univers qui ont des éléments communs, tels que des paramètres, des classes, des objets ou des jointures. Parmi les univers liés, l’un est dit univers de référence ou maître tandis que les autres sont des univers dérivés. Un univers de référence ou maître représente une bibliothèque d’éléments réutilisable. Les univers dérivés peuvent contenir tout ou partie des éléments de l’univers de référence ou maître, en plus des éléments éventuellement ajoutés. Approches de liaison d’univers Vous pouvez utiliser l’une des trois approches suivantes pour lier des univers : • approche basée référence, • approche basée maître, • approche basée élément. 262 Manuel du designer Travail avec des univers liés Approche basée référence Ce type d’approche part du principe qu’un univers contient les éléments de base, c’est-à-dire les éléments communs à tous les univers. Les univers dérivés que vous créez à partir de cet univers de référence contiennent ces éléments de base ainsi que leurs propres éléments spécifiques. Cette approche est présentée cidessous : UNIVERS DERIVES Référence + Ressources humaines Référence Référence + Ventes Les univers Ressources humaines et Ventes sont dérivés d’un univers de référence. Ils contiennent les éléments de base de l’univers central ainsi que leurs propres éléments. Toute modification apportée à l’univers de référence se répercute automatiquement au niveau des éléments de base de tous les univers dérivés. Manuel du designer 263 Chapitre 10 Gestion des univers Approche basée maître Ce type d’approche représente une autre méthode d’organisation des éléments communs à des univers liés. Dans ce cas, un univers maître contient tous les éléments possibles. Dans les univers dérivés de ce maître, certains éléments sont masqués. Autrement dit, les éléments visibles dans les univers dérivés correspondent à un sous-ensemble de l’univers maître. Ce concept est présenté dans le diagramme ci-dessous. UNIVERS DERIVES Maître _ Ressources humaines Maître Maître _ Ventes Les univers Ressources humaines et Ventes sont dérivés d’un univers maître. Ils contiennent les éléments de l’univers maître, dont certains peuvent être cachés. Approche basée élément Ce type d’approche correspond à la dernière possibilité d’organisation d’univers liés. Elle implique la fusion de deux ou plusieurs univers en un seul univers. Partie 2 Partie 1 Partie 1 Partie 2 Ventes L’univers Ventes a été créé par la fusion de deux univers : Partie 1 et Partie 2. En résumé, vous pouvez utiliser chacune des trois approches présentées cidessus, seule, ou combinée avec un autre. 264 Manuel du designer Travail avec des univers liés Les informations et procédures expliquées dans la suite de ce chapitre s’appliquent à l’approche basée référence. Ainsi, le terme "univers de référence" sert à décrire l’univers qui contient les bibliothèques d’objets réutilisables. Vous pouvez, bien sûr, adopter les mêmes procédures pour les deux autres approches. Conséquence de la liaison d’univers Lorsque vous reliez des univers, toute modification que vous ou un autre designer apportez à l’univers de référence est dynamiquement répercutée aux univers dérivés. Dans les fenêtres Univers et Structure, DESIGNER affiche en grisé tous les éléments liés. De cette façon, vous pouvez immédiatement distinguer les éléments liés de ceux qui sont spécifiques de l’univers. Si vous ne souhaitez pas que certains éléments de l’univers de référence apparaissent dans un univers dérivé, vous pouvez les masquer. C’est-à-dire que vous conservez ces derniers dans l’univers tout en les rendant invisibles aux autres designers. Pour plus d’informations sur le masquage d’un élément, reportez-vous à la section “Afficher/masquer des classes, des objets et des conditions”, page 168. Remarque : DESIGNER autorise un niveau de liaison d’univers. Vous ne pouvez pas créer d’univers dérivés à partir d’un univers lui-même dérivé. En outre, lorsque vous liez des univers, DESIGNER n’enregistre pas de liste de valeurs pouvant être associée à un univers de référence. Présentation d’objets dans l’ordre de l’univers central Par défaut, l’ordre dans lequel vous organisez les objets de l’univers dérivé est celui qui sera visible par les utilisateurs de l’univers, même si cet ordre est modifié plus tard dans l’univers central. Dans l’univers dérivé, si vous voulez que les objets soient présentés dans le même ordre que celui de l’univers central, vous devez définir un paramètre en conséquence dans le fichier *.PRM de la base de données utilisée. La définition du paramètre est CORE_ORDER_PRIORITY = Y. Consultez la documentation relative à votre base de données pour des informations détaillées sur la définition des paramètres dans le fichier *.PRM adéquat. Manuel du designer 265 Chapitre 10 Gestion des univers Avantages des univers liés Voici quelques avantages que présente l’utilisation d’univers liés : • Une liaison dynamique permet de gagner un temps considérable en matière de développement et de maintenance. Lorsque vous modifiez un élément dans l’univers de référence, DESIGNER répercute cette modification sur le même élément dans tous les univers liés. • Au lieu de recréer des éléments communs à chaque création d’un nouvel univers, vous pouvez centraliser ces éléments dans un univers de référence, puis les inclure à tous les nouveaux univers. • Les univers liés facilitent la spécialisation. Le développement peut être réparti sur des administrateurs de base de données qui créent l’univers de référence, et sur des designers plus spécialisés qui créent des univers plutôt fonctionnels et adaptés à leur domaine de spécialisation. Conditions requises pour relier des univers Vous pouvez relier l’univers actif à l’univers de référence à condition que les exigences suivantes soient respectées : • L’univers de référence et l’univers actif ont été créés à partir du même compte de données et du même SGBDR. • L’univers de référence a été exporté et réimporté au moins une fois. • Les univers dérivés exportés sont situés dans le même domaine univers que l’univers de référence. • Tous les objets et classes sont uniques dans le même domaine univers et dans l’univers de référence (sinon, risque de collision). • Vous avez l’autorisation de relier l’univers en question. Astuce : Un univers dérivé ne récupère pas dans l’univers de référence les listes de valeurs contenant des données personnelles. Toutefois, si vous avez besoin de certaines listes de valeurs, vous pouvez procéder comme suit : dans l’univers dérivé, créez de nouveaux objets définis comme ceux de l’univers de référence, puis masquez-les. Vous pouvez ensuite assigner à ces objets des listes de valeurs, que vous pouvez ensuite modifier et exporter. 266 Manuel du designer Comment relier des univers ? Comment relier des univers ? Cette section présente les deux procédures suivantes : Création d’une liaison dynamique entre deux univers et Intégration d’un univers dans un autre univers. Création d’une liaison dynamique entre deux univers Vous allez créer une liaison entre un univers actif et un univers de référence. A la fin de la procédure, les éléments de l’univers de référence sont affichés au sein de l’univers actif. Remarque : Pour créer une telle liaison, vous devez avoir exporté l’univers de référence au moins une fois. Dans le cas contraire, DESIGNER refuse d’établir la liaison. Vérifiez si l’univers que vous souhaitez lier à l’univers de référence est bien l’univers actif, puis suivez les étapes suivantes : 1. Sélectionnez la commande Liaisons du menu Edition. L’onglet Liaisons de la boîte de dialogue Paramètres de l’univers s’affiche : Manuel du designer 267 Chapitre 10 Gestion des univers 2. Cliquez sur le bouton Ajouter liaison. Dans la boîte de dialogue qui apparaît, sélectionnez l’univers de référence. L’univers que vous sélectionnez s’affiche ensuite dans la zone centrale de l’onglet Liaison. 3. Dans la zone centrale, cliquez sur l’univers qui doit être relié à votre univers actif. Si l’univers que vous avez sélectionné n’a jamais été exporté, vous recevez un message d’erreur. 4. Cliquez sur le bouton Ouvrir. 5. Cliquez sur le bouton OK pour créer la liaison et quitter la boîte de dialogue. Les éléments sont affichés au sein de l’univers actif. Eléments de référence dans l’univers actif Le DESIGNER affiche les éléments de l’univers de référence en grisé dans les fenêtres Univers et Structure de l’univers actif. Si vous travaillez en mode connecté, la connexion de l’univers actif devient celle de l’univers de référence. Vous pouvez, bien sûr, modifier cette connexion si nécessaire. La stratégie de détection de jointure de l’univers actif reste inchangée. Il n’est pas possible de modifier ou de supprimer ces éléments dérivés dans l’univers actif. Vous pouvez, cependant, créer une jointure reliant une table provenant de l’univers de référence à une table dans l’univers actif. Suppression de la liaison Vous ne pouvez supprimer une liaison avec l’univers de référence que si l’univers actif ne contient plus d’objet basé sur les éléments de référence, ni de jointures sur ces éléments. Ainsi, si vous souhaitez supprimer une liaison, assurez-vous d’abord qu’il ne reste plus d’élément de ce type dans l’univers actif. Pour supprimer une liaison, procédez comme suit : 1. Cliquez sur le nom de l’univers de référence dans l’onglet Liaisons. 2. Cliquez sur le bouton Supprimer liaison. 3. Cliquez sur OK. Les éléments de l’univers de référence disparaissent de l’univers actif. 268 Manuel du designer Comment relier des univers ? Modification de l’univers de référence Si l’emplacement de votre univers de référence a changé, vous devez indiquer son nouvel emplacement pour maintenir la liaison. Pour cela, suivez la procédure suivante : 1. Cliquez sur l’univers de référence affiché dans l’onglet Liaisons. Il s’agit de l’univers affiché dans la zone centrale de la boîte de dialogue. 2. Cliquez sur le bouton Modifier source. La boîte de dialogue Univers à lier s’affiche. 3. Localisez l’univers de référence en utilisant la fonction Parcourir dans la boîte de dialogue. 4. Cliquez sur le bouton Ouvrir. Le nouvel univers de référence s’affiche dans l’onglet Liaisons. Intégration d’un univers dans un autre univers Au lieu de lier des univers, vous pouvez inclure les éléments de l’univers de référence dans un univers dérivé. Dans ce cas, DESIGNER copie les éléments de l’univers de référence dans l’univers dérivé. Les éléments résultants dans l’univers dérivé sont indépendants de ceux de l’univers de référence. Ainsi, la modification d’un univers de référence n’a aucune conséquence sur les univers qui en sont dérivés. Deux raisons peuvent vous décider à adopter l’intégration d’un univers dans un autre : • Vous souhaitez copier le contenu d’un univers donné dans un univers actif. • Vous souhaitez mettre fin à la liaison dynamique existant entre deux univers. La procédure qui consiste à inclure des éléments provenant d’un univers externe dans l’univers actif est pratiquement identique à celle qui permet de relier deux univers. Vous n’avez cependant pas besoin d’exporter l’univers de référence. Remarque : Si vos deux univers étaient liés avant l’opération, la procédure supprime la liaison dynamique et les éléments de l’univers actif ne sont alors plus liés à l’univers externe. Manuel du designer 269 Chapitre 10 Gestion des univers Si vous avez ouvert plusieurs univers, sélectionnez celui qui doit être l’univers actif, puis : 1. Sélectionnez la commande Liaisons du menu Edition. L’onglet Liaisons de la boîte de dialogue Paramètres de l’univers s’affiche. 2. Cliquez sur le bouton Ajouter liaison. Dans la boîte Univers à lier, sélectionnez un univers. L’univers que vous sélectionnez est affiché dans la zone centrale de l’onglet Liaisons. 3. Dans la zone centrale, sélectionnez l’univers à inclure dans l’univers actif. 4. Cliquez sur le bouton Inclure. 5. Cliquez sur OK. Les éléments de l’univers de référence sont affichés au sein de l’univers actif. Exemple Univers dynamiquement liés ........................................................... Cette section présente deux univers liés dynamiquement. L’univers de référence Océan Voyages est utilisé par le directeur des ventes de la chaîne fictive de stations balnéaires, pour effectuer l’analyse marketing. Remarquez qu’il s’agit de l’univers de démonstration proposé par BUSINESSOBJECTS et WEBINTELLIGENCE, enregistré sous le nom beachfr.unv dans le dossier Universe de BUSINESSOBJECTS. 270 Manuel du designer Comment relier des univers ? Le contenu de cet univers est présenté ci-dessous : Univers de référence Océan Voyages A partir de cet univers de référence, le directeur crée un univers dérivé centré sur les réservations. Manuel du designer 271 Chapitre 10 Gestion des univers L’univers dérivé est présenté ci-après. Dans la fenêtre Univers, les composants dérivés apparaissent en grisé. Les nouveaux composants s’affichent normalement Les composants de la fenêtre Structure apparaissent en grisé Univers dérivé Réservations Comme indiqué ci-dessus, les éléments dérivés de l’univers de référence sont en grisé. Le directeur a créé deux nouvelles classes Réservations par trimestre et Réservations par lieu de séjour, dont les classes et les objets s’affichent normalement. Le directeur a également choisi de masquer la classe Ventes qui n’est pas utile dans l’univers Réservations. 272 Manuel du designer Annexe Base de données Club ................................................................................. Dans cette annexe ❑ Base de données Club 274 Structure des tables 274 Manuel du designer 273 Annexe Base de données Club Cette annexe fournit des informations détaillées sur la structure de la base de données Club qui a été construite avec Microsoft Access. La plupart des exemples et illustrations duprésent manuel s’appuient sur cette base. Vous trouvez le fichier de base de données Club.mdb dans le sous-dossier Demo du dossier Business Objects. Le dossier Demo contient également la base de données de démonstration eMode. Structure des tables La base de données Club est utilisée par le directeur des ventes - spécialisé dans les voyages organisés - d’une chaîne fictive de stations balnéaires. A partir de cette base de données, le directeur des ventes peut effectuer une analyse des ventes et une analyse marketing. Cette base est composée des tables suivantes : • Age_group • City • Country • Customer • Invoice_Line • Region • Region_SLine • Reservation_Line • Reservations • Resort • Resort_Country (Country) • Sales • Sales_Person • Service • Service_Line • Sponsor (Customer) 274 Manuel du designer Annexe Le détail de chaque table est précisé dans les tableaux ci-dessous : Table Age_group Cette table contient les informations relatives à l’âge des clients. Colonne Description age_min Age minimum age_max Age maximum age_range Tranche d’âge des clients Voici les résultats d’une requête reposant sur la table Age_group : Table City Cette table contient les informations relatives aux villes où les clients habitent. Colonne Description city_id Identificateur de la ville (compteur automatique) city Ville où le client habite (Albertville, Amsterdam, Augsburg...Versailles, Washington D.C., Yokohama) region_id Identificateur de la région (compteur automatique) Table Country Cette table contient les informations relatives au pays où les clients habitent. Colonne Description country_id Identificateur du pays dans lequel le client habite country Pays où le client habite (Australie, France, Allemagne, Pays-Bas, Japon, Etats-Unis) Manuel du designer 275 Annexe Table Customer Cette table contient toutes les informations relatives au client. Colonne Description cust_id Identificateur du client (compteur automatique) first_name Prénom du client last_name Nom de famille du client age Age du client phone_number Numéro de téléphone du client address Première ligne de l’adresse du client city_id Identificateur de la ville (compteur automatique) sales_id Identification de la personne ayant vendu un séjour, (compteur automatique) sponsor_id Identification éventuelle d’un sponsor (optionnel) Voici les résultats partiels d’une requête reposant sur la table Customer : 276 Manuel du designer Annexe Table Invoice_Line Cette table contient les informations concernant les factures. Colonne Description inv_id Compteur de factures automatique service_id Compteur de service automatique days Nombre de jours séjournés (entre 3 et 15). Pour des raisons de facturation, au-delà de 15 jours, le système considère un deuxième séjour. nb_guests Nombre de clients pour lesquels la facture est dressée Table Region Cette table contient les informations relatives aux régions où se déroulent les séjours. Colonne Description region_id Identificateur de région region Région où les clients habitent (Bavière, Côte Est, Allemagne de l’Est, Bretagne) country_id Identificateur de pays Table Region_SLine Cette table permet le calcul d’un chiffre d’affaires agrégé dans l’univers. La fonctionnalité Navigation agrégée est traitée dans le chapitre 5. Colonne Description sl_id Identificateur de vente region_id Identificateur de la région sales_revenue Chiffre d’affaires par région Manuel du designer 277 Annexe Table Reservation_Line Cette table contient les informations relatives aux réservations. Colonne Description res_id Identificateur de réservation service_id Identificateur de service res_days Jours de la semaine réservés (1 - 7) future_guests Nombre d’hôtes (entre 1 et 5) Table Reservations Cette table contient les informations concernant les dates de réservations. Colonne Description res_id Compteur automatique de réservation cust_id Identificateur du client (automatique) res_date Date de réservation Table Resort Cette table contient les informations concernant les stations balnéaires. Colonne Description resort_id Identificateur de la station balnéaire resort Nom de la station balnéaire : Australian Reef, Bahamas Beach, Côte d’Azur, Hawaiian Club, Royal Caribbean country_id Identificateur du pays de séjour (compteur automatique) 278 Manuel du designer Annexe Table Sales Cette table contient les informations sur la vente. Colonne Description inv_id Identification de la facture mise à jour automatiquement cust_id Identification du client mise à jour automatiquement invoice_date Date de la facture Table Sales_Person Cette table contient les informations concernant la personne effectuant la vente d’un séjour. Colonne Description sales_id Identificateur du vendeur (compteur automatique) sales_person Nom du vendeur Table Service Cette table contient les informations concernant les tarifs et les types de services disponibles sur le lieu de séjour. Colonne Description service_id Identificateur du service (compteur automatique) service Service disponible (voir résultats de la requête cidessous) sl_id Identificateur de la gamme des services, mis à jour automatiquement (et présenté dans la table ci-dessous) price Prix du service Manuel du designer 279 Annexe Voici le résultat d’une requête générée à partir de la colonne service de cette table : Table Service_Line Cette table contient les informations concernant la gamme de services offerts, selon leur catégorie. Colonne Description sl_id Identificateur du service (compteur automatique) service_line Services appartenant aux catégories suivantes : chambre, repas et boissons, et activités de loisirs. resort_id Compteur de séjours entre 1 et 5 280 Manuel du designer Index @Aggregate_Aware 178 syntaxe 215 @Aggregate_Awareness 214 @Prompt 179 @Script 180 @Select 181 @Variable 182 @Where 183 A affectation liste de valeurs 187-194 affichage colonnes dans les tables 72 nombre de lignes dans les tables de base de données 81 organisation de la représentation graphique de tables 163 valeurs des colonnes 79-80 valeurs des tables 79 aide en ligne xiii aide voir documentation BusinessObjects alias 130-142 création 139-142 définition de 130 détection 139 exemple avec des tables de référence partagées 131 exemples avec des tables de référence partagées flexibles 135 exemples de 131-138 illustration 130 ou contextes 153 propagation 141 représentation graphique 141 utilisation avec des contextes 152 analyse multidimensionnelle création de hiérarchies 205 définition 201 types 201 Annuler (commande) 51 aperçu avant impression commande 248 approche basée élément aux univers liés 264 approche basée maître aux univers liés 264 approche basée référence à des univers liés 263 assistant de création d’univers avantages 29 description 29 lancement 30 options d’affichage 31 utilisation 30-37 association mot de passe à un fichier d’univers 245 astuces viii B barres d’outils 49-50 base de démonstration 26 base de données Club 26, 274 structure des tables 274 table Age_group 275 table City 275 table Country 275 table Customer 276 table Invoice_Line 277 table Region 277 table Region_Sline 277 table Reservation_Line 278 table Resort 278 table Sales 279 table Sales_Person 279 table Service 279 table Service_Line 280 Beachfr.unv 26 Blobs 174 boucle définition 127-128 détection 128 résolution 128, 129 boutons de la souris 50 C caractères acceptés dans les noms d’univers 53 cardinalités commande Détecter les cardinalités 129 détection dans les jointures 60 détection lors de la résolution de boucles 129 symboles pour 75 cartésien produit 65 classe création 169 création via l’assistant 34 définition 19 description 171 édition 170 suppression 35 clause Where 175 Club base de données 26 colonnes options graphiques 78 valeurs des 79-80 commande Annuler 51 aperçu avant impression 248 Exécuter 43-44 exemple 44 options 44 restriction sur les minuscules 44 syntaxe 44 mise en page 247 Vérifier l’intégrité 114-119 concaténation 226 conception d’un univers Manuel du designer 281 Index méthodologie 28 condition création 196 définition 196 conditions autorisation de conditions complexes 64 voir aussi Manuel de l’utilisateur BusinessObjects connecté mode 43 connexion 53-57 création 56 informations générales 55 modification 57 partagée 54 personnelle 55 sécurisée 54 suppression 57 types 53 visualisation 57 connexions prudence à propos des noms 56 connexions partagées environnement de test 54 fichiers correspondants 54 connexions personnelles fichiers correspondants 55 contexte 142-150 alternative aux alias 145 autorisation d’ordres SQL multiples pour chaque contexte 65 autorisation de contextes multiples 65 avertissement 148 création 150-151 définition 142 détection 151 exemple 143-145 incidence sur les requêtes 146-147 ou alias 153 règle d’utilisation 150 requêtes ambigües 146 requêtes incompatibles 147 requêtes inférées 147 résolution d’interruption de séquence 156 utilisation avec des alias 152 282 Manuel du designer contexte (commande) 150 contextes avec schémas de navigation agrégée 221-223 couche de méta-données 18 création alias 139-142 classe 169 classe à partir de l’assistant 34 condition 196 contextes 150-151 hiérarchies 204 liste de valeurs 189 objet 172 objet à partir de l’assistant 34 objet de type indicateur 195 objet de type indicateur à partir de l’assistant 35 sous-classe 171 univers de base 29 création d’une connexion 56 D data warehouses et navigation agrégée 211 définition analyse multidimensionnelle 201 classe 19 condition 196 équi-jointure 100 format d’un objet 199 jointure externe 100 liste de valeurs 187 nombre maximal de lignes à rapatrier d’une table de la base de données 61 objet 19 objet personnel 236 options de la base de données 46, 59 raccourci jointure 100 restrictions sur les requêtes 63 stratégie 33 théta-jointure 100 univers 18, 53 démonstration base 26 univers 26 description assistant de création d’univers 29 classe 171 objet 175 description d’univers 53 Designer boutons de la souris 50 fenêtres 47 fin d’une session 45 interface 46, 51 lancement d’une session 41-44 mise en oeuvre d’actions 50 nouveautés de la version 5.1 23 designer d’univers connaissances préalables 16 fonction 16 tâches 17 Détecter les alias (commande) 140 Détecter les boucles (commande) 128 Détecter les cardinalités (commande) 129 détection alias 139 boucle 128 contexte 151 détection automatique jointure 101 détection visuelle 163 Developer Suite viii, 23 distinction de casse commande Exécuter 44 distribution d’un univers 250-256 documentation BusinessObjects viii-xiii aide en ligne xiii Informations supplémentaires xiii Manuel de résolution des incidents xii manuels au format PDF xi présentations multimédias ix Prise en main de BusinessMiner x Quick Tour ix, x service de documentation sur le Web viii documentation voir documentation BusinessObjects documents échange entre répertoires 259 Index domaine de sécurité sélection à la connexion 30 domaine document 42 domaine sécurité 42 domaine univers 250 domaines de développement 257-259 domaines de production 257-259 données personnelles, utilisation dans des listes de valeurs 192 E éditeur de hiérarchies 204-206, ??-206 Editeur de requête illustration 191 éditeur de SQL 177-183 édition classe 170 liste de valeurs 190 objet 173 eMode 23, 26 emplacement de la base de données 274 exemple d’une liste de valeurs restreinte 191 exemple de hiérarchie personnalisée 206 enregistrement options 244 univers 242 enregistrement d’univers 38 équi-jointure définition 100 erreur messages, voir aussi Manuel de résolution des incidents Euro 53 export univers 252-254 F fenêtre Structure 46 fenêtre Univers 46, 167 fichier .key 43 spécification dans la commande Exécuter (exemple) 44 fichier de stratégie externe Informix 86 fichier de stratégie externe Oracle 86 fichier de stratégie externe Sybase 86 fichier pdac.lsi 55 fichier pdac.ssi 55 fichier sdac.lsi 54 fichier sdac.ssi 54 filtre classes/conditions 168 filtre classes/objets 168 fin d’une session Designer 45 fonctions @ 178-183 format de l’objet (commande) 199 formes de jointure 75 G groupes de travail répartition 251-252 H hiérarchie de temps 186 hiérarchies 202 ajout d’objets de type dimension à 205 création 204, 205 définition 202 exemple de hiérarchie personnalisée avec eMode 206 modification de l’ordre des objets 206 I identification 42 identification de l’univers 250 identification sous un nom différent 260 import univers 255-256 impression options 246-249 résultats de la vérification de l’intégrité 119 impression d’un univers 249 indicateur création 195 création via l’assistant 35 insertion objet personnel 236-237 tables et colonnes à partir d’une base de données 66-68 intégration d’un univers dans un autre 269 interface 51 interruption de séquence 163 définition 154, 160 détection 155, 162 détection visuelle 163 résolution 156, 162 utilisation d’ordres SQL multiples 158 utilisation de contextes 156 J jointure candidate 101 définition 99-100 détection automatique 101 détection de cardinalités 60 examen de la représentation graphique des tables 163 extraction de tables avec des jointures 60 format de sortie des stratégies jointure 92 interruption de séquence 154 stratégie de création de jointures 84 stratégies 61 jointure candidate 101 jointure externe définition 100 L lancement assistant de création d’univers 30 d’autres produits BusinessObjects 260 d’une session Designer 41-44 d’une session via la commande Exécuter 43-44 de Designer à l’aide de la commande Exécuter (exemple) 44 de Designer sans l’écran de logo 44 lignes dans les tables de base de données 81 Manuel du designer 283 Index rapatriement d’une table de la base de données 61 limitation durée d’exécution des requêtes 63 nombre de lignes retournées de la base de données 62 taille maximale des objets de type long 62 liste mode 70-71 liste de valeurs affichage 192 association à des objets 188 contenant des données personnelles 192-194 création 189 définition 187, 229 droit d’édition accordé à l’utilisateur 188 édition 190, 192 exportation avec l’univers 188 fichier d’extension .lov 188 options 188 purge 192 rafraîchissement 192 rafraîchissement avant utilisation 188 restriction (exemple avec eMode) 191 utilisation de données personnelles et non d’entreprise 192 utilisation des conditions pour resctriction 190 visualisation à partir de BusinessObjects 188 local mode 43 M manipulation de fenêtres 47 Manuel de résolution des incidents xii masquer des éléments 168 mécanisme de verrouillage 251 menu Fenêtre 47 méta-données couche 18 méthodologie conception d’un univers 28 284 Manuel du designer mise en page commande 247 mises à jour viii mode connecté 43 mode connecté/local spécification dans la commande Exécuter 44 Mode entreprise 243 mode entreprise 42 mode Exploration 201 mode liste 70-71 mode local 43 mode Rotation 201 mode travail en groupe 243 modes conneté/local 42 modification connexion 57 mot de passe 261 nombre de lignes 82 modification de connexion 57 mot de passe association à un fichier d’univers 245 modification 261 spécification dans la commande Exécuter 44 N navigation agrégée configuration de BusinessObjects pour ignorer les tables incompatibles 216 définition 210 exemple de syntaxe 215 exemples 213-223 identification des combinaisons d’objets agrégés 214 méthodologie 212 Navigation agrégée (commande) 219 résolution de boucles à l’aide de contextes 221 spécification des objets incompatibles 216-218 test des univers 224 Navigation agrégée (commande) 219 niveau de sécurité d’accès 198 nom connexions 56 nom d’univers 53 caractères acceptés 53 nombre maximum de caractères dans le nom 53 nom d’utilisateur spécification dans la commande Exécuter 44 nom de l’objet 174 nombre de lignes adaptation au volume des données 82 affichage dans la fenêtre Structure 82 modification 82 Nombre de lignes (option) 77 optimisation des requêtes 82 options 81 normalisation 135 nouveautés dans Designer 5.1 23 numéro de révision 58, 252 O objet affectation d’une liste de valeurs 187-194, 229-231 association de liste de valeurs 188 association de tables 176 attribution d’une qualification 185 attribution de format de base de données 199 Blobs 174 clause Where 175 création 172 création via l’assistant 34 de type dimension 19 de type indicateur 19 de type information 19 définition 19, 173 définition de l’utilisation dans l’Editeur de requête 199 description 175 édition 173 fonctionnalités avancées 198-199 format 199 HTML 200 nom 174 propriétés 184-194 qualification 184 Index qualification par défaut 35 stratégie de création d’objets 84 suppression 35 types 174 objet concaténé 226 syntaxe pour 228 objet de type dimension 184 objet de type indicateur création 195 création via l’assistant 35 objet de type information 185 objet HTML 200 objet personnel définition 236 fichier .udo 236 insertion 236-237 voir aussi Manuel de l’utilisateur BusinessObjects objets limitation de la taille des objets de type long 62 stratégies 61 objets de type indicateur création 232 exemples 232 objets de type information 184 objets incompatibles navigation agrégée, spécification 216-221 opérations liées au pressepapiers 168 options Accorder à l’utilisateur un droit d’édition 188 Afficher le format 78 Alias et nom de table 76 Analyse approfondie 115 Analyse automatique de la définition 116 Analyse rapide 115 apparence des jointures et cardinalités 75 Associer une liste de valeurs 188 Centre sur la sélection 78 Créer les classes et les objets par défaut à partir des tables 60 Détecter les cardinalités dans les jointures 60 effet 3D 76 Envoyer message de vérification de l’intégrité avant l’export 116 Exporter avec l’univers 188, 229 Extraire les jointures avec les tables 60 Modifier manuellement le nombre de lignes des tables 81 Nombre de lignes 77 Nombre maximum de lignes retournées 78 Ordres SQL multiples pour chaque contexte 65 Ordres SQL multiples pour chaque indicateur 65 Permet l’utilisation des opérateurs complexes 64 Permet l’utilisation des opérateurs union, intersect et minus 64 Permet l’utilisation des sousrequêtes 64 Permet la sélection des contextes multiples 65 Permettre l’export incrémental 254 Rafraîchir le nombre de lignes de toutes les tables 81 Rafraîchir le nombre de lignes des tables non définies 81 Rafraîchissement automatique 188, 229 Rechercher des boucles 115 Sauvegarder pour tous les utilisateurs 242 Souligner les clés 78 Travailler avec les surcharges d’univers (Supervisor) 257 Vérifier l’intégrité de l’univers à l’ouverture 116 options d’enregistrement 244 options d’impression 246-249 options de la base de données 46, 59 options graphiques 75 ordres SQL multiples interruption de séquence 158 organisation schéma de tables 163 tables et colonnes 70 ouverture d’un univers 45 P page Web pour la documentation viii paramètres modification des paramètres d’univers 53 paramètres d’un univers 52-65 PDF manuels en ligne xi presse-papiers opérations 168 produit cartésien 65 propagation d’alias 141 propriétés objet 184-194 purge de liste de valeurs 192 Q qualification objet 184 Quick Tour ix, x R raccourci jointure définition 100 Rafraîchir la structure (commande) 120 rafraîchir la structure (commande) 120 rafraîchissement liste de valeurs 192 rafraîchissement de la fenêtre Structure 120 référentiel description des domaines 42 distribution d’un univers 250 domaine document 42 domaine sécurité 42 domaine univers 42 fichier .key 43 migration d’un univers dérivé vers un autre domaine 258 migration d’univers entre domaines 257 mode entreprise 42 Manuel du designer 285 Index option -key file 44 sélection à la connexion 30 spécification dans la commande Exécuter 44 travail en mode connecté/ local 42 répartition en groupes de travail 251-252 répartition en phases des univers 257-259 représentation graphique alias 141 requête ambigüe 146 impact des contextes 146 incompatible 147 inférée 147 requête ambigüe 146 requête incompatible 147 requête inférée 147 requêtes conditions 190 limitation de la durée d’exécution 63 limitation de la taille des objets de type long 62 spécification de restrictions sur 63, 64 requêtes combinées utilisation autorisée 64 résolution des boucles 128, 129 résolution des incidents affichage des erreurs de la vérification de l’intégrité 119 types d’erreur de la vérification d’intégrité 118 voir aussi Manuel de résolution des incidents ressources système spécification de restrictions 62 résumé des informations sur les univers 58 révision numéro 58, 252 286 Manuel du designer S sauvegarder pour tous les utilisateurs option 243 sécurité connexions partagées 54 connexions personnelles 55 connexions sécurisées 54 noms de connexion 56 sécurité d’accès niveau 198 sécurité objet Confidentiel 198 sécurité objet Contrôlé 198 sécurité objet Privé 198 sécurité objet Public 198 sécurité objet Restreint 198 sélection stratégie intégrée 59-60 stratégies à partir de l’assistant 33 tables et colonnes à partir d’une base de données 66-68 sensibilité à la casse noms de connexion 56 sous-classe création 171 sous-classes création 171 définition 171 sous-requête utilisation autorisée 64 spécification restrictions pour les ressources système 62 spécification de stratégies 61 SQL autorisation d’ordres SQL multiples pour chaque contexte 65 éditeur 177-183 enabling multiple statements 65 stratégie affichage 85 application de stratégies externes 94 création d’objets 84 création de jointures 84 création de stratégies externes 87 création de stratégies externes à partir de fichiers à plat 89 définition 33, 84 définition de stratégies externes 85 définition de stratégies intégrées 84 exemple de stratégie externe 88 format de sortie des stratégies jointure 92 format de sortie des stratégies liste de tables 92 format de sortie des stratégies objet 91 formats de sortie 91 intégrée 59-60 jointures 61 limitation sur les stratégies intégrées 85 liste de tables 84 objets 61 paramètres facultatifs de stratégies externes 88 sélection à partir de l’assistant 33 sélection dans l’assitant de création d’univers 94 sélection/par défaut 31 tables 61 visualisation des stratégies externes 95 stratégie intégrée 59-60 stratégies 61 sélection 59 stratégies externes 85 à partir d’un fichier à plat 89 à partir du SQL 87 application 94 création 87 création à partir d’un fichier à plat 89 création du fichier à plat 90 définition 85 emplacement 86 exemple à partir du SQL 88 exemple de fichier 86 exemple de format de sortie 93 formats de sortie 91-93 paramètres facultatifs 88 Index paramètres facultatifs pour la création à partir de fichiers à plat 89 visualisation dans l’onglet Stratégies 95 stratégies intégrées 84 limitation 85 structure fenêtre 46 suppression connexion 57 syntaxe @Aggregate_Aware 215 commande Exécuter 44 objets concaténés 228 T table format de sortie des stratégies liste de tables 92 insertion dans un univers 34 stratégie de listes de tables 84 table de référence 123 exemple d’alias avec des tables de référence partagées 131 exemple d’alias avec des tables de référence partagées flexibles 135 flexible 135 partagée 131, 134 table factuelle 123 tables affichage des colonnes dans 72 création de classes et d’objets par défaut 60 options graphiques 76 organisation 71 stratégies 61 valeurs des 79 visualisation 70 tables et colonnes organisation 70 sélection à partir d’une base de données 66-68 test des univers utilisation de connexions paratgées 54 théta-jointure définition 100 U univers caractères acceptés dans les noms 53 création d’un univers de base 29 création de classes et d’objets par défaut à partir de tables 60 définition 18, 53 description lors de la création 53 distribution 250-256 distribution via le gestionnaire de fichiers 251 domaine 250 domaine univers 42 échange entre référentiels 259 enregistrement 38, 242 étapes de création 17 export 252-254 fenêtre 46, 167 fichier .unv 242 génération via l’assistant 36 identification 250 illustration 37 import 255-256 impression 249 intégration dans un autre univers 269 liés 262-272 migration d’un domaine vers un autre 257-259 migration entre domaines 257 modification de l’univers source des documents dans BusinessObjects 258 modification des paramètres 53 nom 53 nom court 242 nom long 242 nombre maximum de caractères dans le nom 53 nommage 53 noms de fichiers 242 objets personnels, insertion 236 ouverture 45 paramètres 52-65 recommandation à propos des noms 38 résumé des informations 58 spécification dans la commande Exécuter 44 suppression d’une liaison 268 vérification de l’intégrité 114-119, 207 univers de démonstration 26 univers dérivés migration vers un autre domaine 258 univers intégrés 269 univers liés 262-272 approche basée élément 264 approche basée maître 264 approche basée reférence 263 approches 262 conditions requises 266 création d’une liaison dynamique 267 définition 267-272 éléments de référence dans l’univers actif 268 exemple 270 incidence 265 modification de l’univers de référence 269 paramètre CORE_ORDER_ PRIORITY 265 univers multiples WebIntelligence 159 utilisateur identification 42 utilisation d’alias 130-142 utilisation de contextes 142-150 V VBA 23 fonction @script 180 Vérification de l’intégrité types d’erreur 118 vérification de l’intégrité options 116 vérification de l’intégrité d’un univers 114-119, 207 Vérifier l’intégrité 207 commande 114-119 impression des résultats 119 Manuel du designer 287 Index que faire lorsque la base de données de l’univers a changé 120 résultats 118 verrouillage mécanisme 251 Visual Basic for Applications voir VBA visualisation connexion 57 liste de valeurs à partir de BusinessObjects 188 tables 70 W WebIntelligence utilisation d’univers multiples 159 288 Manuel du designer