Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. IBM Cognos Analytics
  3. Utilisation avancée de Report Studio
Extrait - IBM Cognos Analytics Développement de rapports avec Report Studio
Extraits du livre
IBM Cognos Analytics Développement de rapports avec Report Studio Revenir à la page d'achat du livre

Utilisation avancée de Report Studio

Introduction

Dans les chapitres précédents, les bases de la construction de rapports ont été posées. Vous êtes désormais capable de construire des rapports avec Report Studio à l’aide des principaux conteneurs de données que sont les listes, les tableaux croisés ou encore les graphiques et les visualisations. Ont également été abordés la mise en page de rapports, le formatage des objets et leur affichage conditionnel, la création de styles conditionnels et de variables, et l’utilisation de filtres et d’invites. Avec tous ces outils, il est possible de développer la plupart des rapports demandés, mais les demandes utilisateurs sont souvent incongrues et parfois complexes. Afin de pouvoir les satisfaire, nous aborderons dans ce chapitre d’autres fonctionnalités et d’autres objets, moins souvent utilisés que les précédents, mais permettant de débloquer certaines situations. 

Les singletons et les répéteurs

1. Les singletons

À part les listes, les tableaux croisés et les visualisations, il existe également un autre type de conteneur de données : le singleton. Il permet d’afficher une donnée élémentaire unique, n’importe où dans le rapport. Il est très utile par exemple pour afficher un total en en-tête de rapport, ou le nom et l’adresse d’une entreprise, ou n’importe quelle donnée pertinente pouvant être affichée seule dans le rapport.

Pour ajouter un singleton au rapport, il suffit de cliquer sur l’onglet Boîte à outils dans le panneau Objets insérables de Report Studio, puis d’ouvrir le sous-menu des CONTENEUR DES DONNÉES.

Le singleton est ensuite glissé et déplacé à l’endroit voulu du rapport, comme pour une liste, un tableau croisé, etc. Comme d’habitude, il est recommandé de l’insérer dans la case d’une table pour des questions de mise en page.

images/04EP01.png

Dans l’exemple suivant, le rapport présentera les ventes par ligne de produits pour le Mexique dans une liste, mais avant cela, il présentera également le total des ventes, toujours pour le Mexique.

Le singleton permet de mettre en avant certaines informations, notamment les informations globales ou de type récapitulation.

images/04EP02.png

Le singleton n’affiche que la première valeur d’une liste. Par exemple, si la donnée élémentaire...

Les comportements conditionnels

Après avoir passé en revue les différents conteneurs de données, les récapitulatifs, les filtres et les invites, les groupements, etc. qui sont plutôt de l’ordre du contenu, il est temps de voir maintenant comment enrichir visuellement un rapport par le biais de variables de différents types. Elles permettront par exemple de mettre l’accent sur un chiffre d’affaires ayant dépassé un certain seuil en le changeant de couleur, d’afficher ou non certains éléments du rapport en fonction des sélections faites sur la page d’invite, d’appliquer différents formats à des cellules de tableaux croisés en fonction de leur valeur, etc.

Nous verrons comment créer et utiliser un style conditionnel, comment créer une variable et nous décrirons les différents types de variables disponibles. Nous illustrons cette section d’exemples de mise en valeur de données à l’aide de variables de style et du rendu conditionnel sur les objets.

1. Les styles conditionnels

Un style conditionnel permet d’appliquer un formatage particulier à un élément en fonction de la valeur d’une donnée. En guise d’exemples, nous créerons un rapport présentant les retours de produits en fonction de divers axes d’analyse ; les variables seront utilisées afin de mettre en valeur certaines données.

Un nouveau rapport est créé, ainsi qu’une nouvelle requête dans laquelle les éléments Product Type, Product, Quantity et Return Quantity (Quantité retournée) sont insérés. Une liste liée à la requête précédente est créée dans la page du rapport, et les différents éléments y sont insérés. La liste peut être groupée par type de produit pour plus de clarté.

Le but ici est donc de faire ressortir visuellement certains résultats avec un style conditionnel, par exemple en affichant en vert les bons résultats et en rouge les mauvais.

Pour mettre en valeur l’élément Return Quantity grâce à un style conditionnel, il faut cliquer sur la cellule de fait de la colonne puis sur la propriété...

Le bloc conditionnel

Jusqu’à présent dans cet ouvrage, la majorité des objets présentés étaient de nature à présenter ou à formater les données. Le bloc conditionnel permet d’aller plus loin et de mettre en place un affichage changeant en fonction d’une variable. De cette manière, il est possible d’adapter l’affichage du rapport à la demande de l’utilisateur par exemple, en fonction de ses choix dans la page d’invites.

Prenons un exemple classique. L’objectif est que l’utilisateur puisse choisir, dans la page d’invite, le type de données qu’il souhaite visualiser dans le rapport (données agrégées ou détaillées par exemple), ou encore qu’il puisse choisir les axes d’analyse à observer.

Pour illustrer ce dernier exemple, on crée un rapport formé d’une page d’invite et d’une page de données.

  • La page d’invite contient une invite de date avec un paramètre P_Date et une invite de valeur avec un paramètre P_Axe pour l’axe d’analyse.

images/04EP27.png
  • L’invite de valeur contient des choix statiques, définis dans la propriété de même nom.

images/04EP28.png

C’est cette dernière invite qui permet de configurer la variable d’affichage déterminant le comportement du bloc conditionnel et donc des listes de valeurs à afficher en fonction des différents axes d’analyse.

La page principale contient une table avec un titre et un bloc conditionnel. Le titre...

Ajout d’un espace de tableau croisé

Les tableaux croisés, qui ont été abordés précédemment, permettent de croiser les informations et d’étudier les données en recoupant divers axes d’analyse. Les espaces de tableau croisé sont un type d’objet qui ne peut être inséré que dans un tableau croisé et qui permet d’ajouter de l’information ou encore de formater le tableau pour une meilleure lecture.

Concrètement, un espace de tableau croisé insère une cellule vide, sans information, dans laquelle il est possible d’ajouter du texte par exemple.

Il existe deux types d’espaces de tableau croisé. Celui mentionné précédemment qui ajoute une cellule au niveau des arêtes du tableau, et l’espace de tableau croisé (avec des cellules de fait) qui insère, en plus des cellules des arêtes, des cellules de fait dont le contenu doit être défini.

1. Espace de tableau croisé

Imaginons un tableau croisé présentant le chiffre d’affaires (Revenue) en fonction des lignes et des types de produit (en abscisse) ainsi qu’en fonction de la méthode de commande (en ordonnée). Le tableau croisé se présente comme suit :

images/04EP42.png

Chaque colonne représente une méthode de commande. Mais l’information...

Présentations conditionnelles

Pour aller plus loin dans la gestion de la mise en page et des formats de sortie, il est possible d’utiliser les Présentations conditionnelles, qui offrent un contrôle total sur le contenu et la forme du rapport en fonction du format de sortie. Grâce à elles, on peut par exemple générer un rapport de synthèse avec des graphiques, des indicateurs, etc. lors d’une exécution en mode HTML, et une version détaillée sous forme de tableau croisé lors d’une exécution au format Excel (en général, en vue d’un retraitement postérieur des données). Il est également possible de produire une autre version imprimable avec une mise en page différente lors d’une exécution au format PDF. Rien n’empêche de construire des rapports totalement différents d’un mode d’exécution à au autre !

Plusieurs étapes sont nécessaires à la création de présentations conditionnelles, la première étant la création d’une variable de chaîne qui détecte le format de sortie du rapport et qui est donc utilisée pour créer les différentes versions du rapport.

Comme il a été vu antérieurement, on crée la variable de chaîne via le menu dédié...

La référence à un composant de présentation

Un autre objet très intéressant en termes de réutilisation du travail déjà fait est la Référence à un composant de présentation, disponible dans la section AVANCÉ de la boîte à outils.

images/04EP55.png

Une référence à un composant de présentation permet de créer un raccourci vers un autre objet, comme une liste, un graphique, une table, etc., ce qui évite de recréer l’objet à maintes reprises.

Il est très intéressant de combiner la référence à un composant de présentation aux présentations conditionnelles. De cette manière, les objets ne sont définis que dans une page, et dans les autres pages, les objets sont appelés grâce au « raccourci ». Le travail de formatage n’est donc plus à faire, tout comme le choix des palettes (dans le cas d’un graphique), des dimensions, etc.

Si, par exemple, le rapport en PDF et le rapport en HTML, sont semblables, hormis le titre ou l’organisation de la page elle-même, tous les éléments peuvent être appelés grâce à la référence au composant de présentation, et le seul travail à faire sur cette page est de réorganiser les éléments....

Création de requêtes à partir d’unions ou de jointures

Les requêtes sources des différents conteneurs de données sont indépendantes les unes des autres, mais Report Studio offre également la possibilité de les faire interagir, comme dans une requête SQL, à l’aide de jointures, d’unions ou d’intersections. De cette manière, il est possible d’opérer des calculs ou des comparaisons que le modèle de données n’offre pas en raison de sa conception.

1. Les jointures

L’objet Jointure est disponible dans la section Objets insérables de la partie Requêtes du rapport.

images/04EP59.png

Avant de pouvoir utiliser des jointures, il faut tout d’abord créer les requêtes qui doivent interagir. Dans cet exemple, l’affichage d’un produit sera régi par l’écart de revenus entre 2015 et 2016. Les produits ayant le mieux évolué entre ces deux années seront mis en avant par le tri, mais également à l’aide de styles conditionnels mettant en valeur les écarts, ce qui sera l’occasion de mettre en pratique ce qui a été vu auparavant.

Il faut tout d’abord créer les deux requêtes de produits comme suit. La première est filtrée sur l’année 2015, et la seconde sur l’année 2016....

Présentation de quelques fonctions utiles

Tout comme les fonctions de rapport, les fonctions disponibles lors de la définition des données élémentaires dans les requêtes sont très utiles et très nombreuses. Le but de cette section est d’en présenter certaines, sans viser l’exhaustivité. De toute manière, dans Report Studio elles viennent toutes accompagnées d’un descriptif, situé dans la section Informations de l’Expression de donnée élémentaire.

Lors de la définition d’une donnée élémentaire, les différentes fonctions se trouvent dans l’onglet Fonctions de la fenêtre.

images/04EP70.png

Comme mentionné précédemment, lorsque l’on clique sur une fonction, une description et sa syntaxe sont disponibles dans l’onglet Astuces, situé en bas à droite.

On y retrouve tous les types de fonctions : opérateurs (+, -, and, between, etc.), fonctions de récapitulatif (total, moyenne, minimum, etc.), des fonctions de date, fonctions de transformation de chaînes, etc.

Lors d’un blocage dans le développement, passez en revue les différentes fonctions disponibles. Elles sont tellement nombreuses qu’il est pratiquement possible de tout faire, en les combinant si besoin.

Quelques fonctions seront présentées dans ce qui suit, assorties d’exemples d’utilisation particulièrement significatifs.

1. Les opérateurs

Sont présents ici les opérateurs classiques de calcul, comme +, *, -, /, ou encore des instructions conditionnelles telles que if, then, else, etc. C’est davantage une liste de mots réservés des langages informatiques permettant de créer du code qu’une liste d’opérateurs à proprement parler.

images/04EP71.png

Notez que les fonctions for ou for report...

Accès au détail

Dans un rapport, la définition d’accès à d’autres rapports est possible, permettant aux rapports de communiquer entre eux et aux utilisateurs de basculer de l’un à l’autre, tout en passant des paramètres, et donc de rester dans le même contexte. Cette fonctionnalité est très utile notamment pour créer un tableau de bord composé de plusieurs rapports et permettre ainsi une navigation aisée d’un rapport à l’autre, ou encore pour fournir des données détaillées à la demande. Par exemple, si l’on clique sur l’une des barres d’un histogramme de ventes, un nouveau rapport s’ouvre, affichant le détail des ventes dans une liste, tout en gardant les paramètres du rapport initial.

Ce type de structure de rapport est très plébiscité par les utilisateurs, car il permet de conserver une vision globale de l’information, mais également d’entrer dans le détail à la demande, et en un clic, ce qui donne beaucoup de dynamisme aux rapports.

Il faut tout d’abord créer un rapport « global » qui contient un graphique des ventes sur une année (choisie dans la page d’invite), montrant les revenus par type de commande et par ligne de produits.

images/04EP81.png

La requête ici est simple et contient un filtre paramétré.

images/04EP82.png

Il faut ensuite créer le rapport détaillé. Il s’agira de la liste des ventes par produit sur une année...

Relations Principale/Détails

Les relations Principale/Détails sont généralement utilisées pour afficher des données qui nécessiteraient plusieurs rapports, pour fragmenter l’information ainsi que pour la diffusion de rapports en rafale.

Une relation Principale/Détails se définit au niveau d’un conteneur de données ou d’une page et permet de créer une relation de type jointure entre un conteneur et un autre. Pour que les résultats soient satisfaisants, les conteneurs doivent être imbriqués. Par exemple, une liste dans une page avec une relation Principale/Détails entre les deux, ou encore une liste insérée dans une autre liste.

Prenons le cas de deux listes imbriquées. L’exemple portera sur un rapport présentant les ventes de produits par pays. Une liste montrera le pays (requête principale) et une liste montrant les ventes par produits y sera insérée (requête détails).

Il faut tout d’abord créer une requête ne retournant que la donnée élémentaire Pays (Country).

images/04EP90.png

Puis il faut créer une deuxième requête présentant les produits, le pays (pour créer la relation Principale/Détails) ainsi que certaines mesures, comme le revenu, les quantités, etc.

images/04EP91.png

Dans la page du rapport, il faut créer...