29 0 5MB
MYREPORT DATA CONCEVOIR ET ADMINISTRER L’ENTREPOT DE DONNEES & DEVELOPPER ET FAIRE VIVRE L’ENTREPOT
Pilotez vos processus métiers !
www.report-one.com
MYREPORT DATA Page 2/118
SOMMAIRE 1.
RAPPELS SUR LES BASES DE DONNEES ................................................................................................................ 6
2.
THEORIE DE LA MODELISATION EN ETOILE ......................................................................................................... 8
2.1.
Qu’est-ce qu’un modèle ?............................................................................................................................ 8
2.2.
Les modèles relationnels simples .................................................................................................................. 8
2.3.
Les modèles en étoile..................................................................................................................................... 8
2.3.1.
Qu’est-ce qu’un modèle en étoile ? ....................................................................................................... 8
2.3.2.
Quels sont les avantages ? ........................................................................................................................ 9
2.3.3.
Quels sont les inconvénients ? .................................................................................................................. 9
2.3.4.
Comment construire un modèle en étoile ? .......................................................................................... 9
3.
LANCEMENT DE MYREPORT DATA .................................................................................................................... 10
3.1.
Comment ouvrir un projet existant ? ......................................................................................................... 10
3.2.
Comment créer un nouveau projet ? ....................................................................................................... 10
3.3.
Découverte de l’interface de MyReport Data ........................................................................................ 12
4.
PRESENTATION DE L’EXERCICE DE FORMATION ............................................................................................. 13
5.
COMMENT SE CONNECTER AUX BASES DE DONNEES SOURCES ? ............................................................. 14
5.1.
Comment se connecter à la base de données Demonstration.mrd ? .............................................. 14
5.2.
Quels sont les différents types de connexions ? ...................................................................................... 16
5.3.
Comment manipuler la Syntaxe SQL ? ..................................................................................................... 16
5.4.
Comment créer une connexion ODBC ? ................................................................................................. 17
5.5.
Comment créer un modèle simple sur une connexion ? ...................................................................... 18
5.6.
Trucs et astuces ............................................................................................................................................. 20
6.
COMMENT CREER UNE JOINTURE ? ................................................................................................................. 21
6.1.
Quels sont les 3 types de jointure ? ............................................................................................................ 21
6.2.
Comment créer une jointure ? ................................................................................................................... 22
6.3.
Comment modifier les caractéristiques d’une jointure ? ...................................................................... 23
6.4.
Comment ajouter/modifier un filtre sur une jointure ? ........................................................................... 23
6.5.
Comment modifier la couleur de présentation d’une jointure ? ......................................................... 24
7.
COMMENT MANIPULER LES CHAMPS DESTINATION ? ................................................................................... 26
7.1.
Introduction .................................................................................................................................................... 26
7.2.
Comment ajouter un champ destination ? ............................................................................................. 26
7.3.
Comment renommer un champ destination ? ....................................................................................... 27
7.4.
Comment ajouter un dossier de champs destination ? ........................................................................ 27
7.5.
Comment modifier le type d’un champ ? ............................................................................................... 28
7.5.1.
Comment choisir le type d’un champ ? ............................................................................................... 28
7.5.2.
Comment utiliser un type personnalisé ? .............................................................................................. 29
7.6.
Comment modifier la qualification du champ ? .................................................................................... 30
www.report-one.fr
MYREPORT DATA Page 3/118
7.7.
Comment paramétrer le masque d’affichage par défaut ? ............................................................... 31
7.8.
Comment faire un tri personnalisé sur les valeurs du champ ? ............................................................ 32
7.9.
Pourquoi et comment indexer un champ destination ? ....................................................................... 33
7.10.
Comment préfixer/suffixer les libellés et les noms SQL des champs destination ? ............................ 36
7.11.
Récapitulatif des propriétés d’un champ destination ........................................................................... 37
7.12.
Comment gérer la qualité de la donnée ? ............................................................................................. 38
7.13.
Exercices ......................................................................................................................................................... 38
7.13.1.
Exercice 1 .................................................................................................................................................... 38
7.13.2.
Exercice 2 .................................................................................................................................................... 39
7.13.3.
Exercice 3 .................................................................................................................................................... 39
8.
COMMENT UTILISER DES TRANSFORMATIONS ASSISTEES ? ............................................................................ 41
8.1.
Comment créer une transformation assistée à partir d’un champ Date ? ....................................... 41
8.2.
Comment créer une transformation assistée à partir d’un champ Texte ? ....................................... 42
8.3.
Exercice .......................................................................................................................................................... 43
9.
COMMENT CREER UN CHAMP TRANSFORME ? ............................................................................................. 44
9.1.
Comment ajouter un champ transformé ? .............................................................................................. 44
9.2.
Comment utiliser les fonctions ? ................................................................................................................. 45
9.3.
Liste des fonctions ......................................................................................................................................... 46
9.3.1.
Texte ............................................................................................................................................................. 46
9.3.2.
Mathématiques ......................................................................................................................................... 47
9.3.3.
Date ............................................................................................................................................................. 48
9.3.4.
Heure ........................................................................................................................................................... 49
9.3.5.
Logique........................................................................................................................................................ 49
9.3.6.
Variable ....................................................................................................................................................... 50
9.3.7.
Divers............................................................................................................................................................ 50
9.3.8.
SQL ............................................................................................................................................................... 50
9.3.9.
Excel ............................................................................................................................................................. 51
9.3.10.
Correspondances ...................................................................................................................................... 51
9.4.
Comment créer une table de correspondances ? ................................................................................ 51
9.5.
Comment utiliser les tables de correspondance ? ................................................................................. 53
9.6.
Comment insérer des commentaires dans les champs transformés ? ............................................... 54
10. COMMENT CREER DES FILTRES ? ....................................................................................................................... 55 10.1.
Comment ajouter un filtre au modèle ? ................................................................................................... 55
10.2.
Options des filtres .......................................................................................................................................... 57
10.3.
Filtrer sur un champ source ou un champ destination ? ....................................................................... 57
10.4.
Comment combiner les filtres ? .................................................................................................................. 58
11. COMMENT METTRE A JOUR MANUELLEMENT LES DONNEES DE L’ENTREPOT ? ......................................... 60 11.1.
Comment lancer un ETL sur ordre ? ........................................................................................................... 60
12. COMMENT CREER DES DOSSIERS ET DES MODELES DATAWAREHOUSE ? .................................................. 62 12.1.
Qu’est-ce qu’un modèle Datawarehouse ? ........................................................................................... 62
12.2.
Comment paramétrer la connexion au Datawarehouse ? ................................................................. 62 www.report-one.fr
MYREPORT DATA Page 4/118
12.3.
Comment créer un dossier ? ....................................................................................................................... 63
12.4.
Comment créer un modèle simple ? ........................................................................................................ 65
13. COMMENT CREER DES MODELES DE FICHIERS ? ............................................................................................ 71 13.1.
Comment créer un dossier ? ....................................................................................................................... 71
13.2.
Comment créer un modèle de fichier plat ? .......................................................................................... 71
13.2.1. 13.3. 13.3.1. 13.4.
Comment gérer les fichiers plats à largeur fixe ? ................................................................................ 74 Comment créer un modèle Excel ? .......................................................................................................... 76 Comment lire les données dans un tableau croisé ? ......................................................................... 78 Quelles sont les spécificités des modèles de fichiers ? .......................................................................... 83
13.4.1.
Les modes de chargement ..................................................................................................................... 83
13.4.2.
Typage des champs ................................................................................................................................. 83
14. COMMENT CREER DES MODELES INTERMEDIAIRES ? .................................................................................... 85 14.1.
Présentation des modèles Datawarehouse intermédiaires .................................................................. 85
14.2.
Quelles sont les spécificités d’un modèle Datawarehouse intermédiaire ? ...................................... 87
14.3.
Exercice .......................................................................................................................................................... 87
15. COMMENT CREER UN MODELE DE CONSOLIDATION ? ............................................................................... 92 15.1.
Présentation des modèles de consolidation ............................................................................................ 92
15.2.
Quelles sont les spécificités d’un modèle de consolidation ? .............................................................. 94
15.2.1.
Chargement d’un modèle de consolidation....................................................................................... 94
15.2.2.
Clé primaire et indexation ....................................................................................................................... 95
15.3.
Exercice .......................................................................................................................................................... 95
16. COMMENT METTRE EN PLACE DE MODE MULTI-REQUETE ? ......................................................................... 99 16.1.
Quel est le principe du mode Multi-Requête ? ....................................................................................... 99
16.2.
Comment mettre en œuvre le mode Multi-Requête ? .......................................................................100
16.2.1.
Requêtes et liens virtuels ........................................................................................................................100
16.2.2.
Travail préliminaire ...................................................................................................................................100
16.2.3.
Comment activer le mode Multi-Requête ? ......................................................................................102
16.2.4.
Comment créer une requête ? ............................................................................................................102
16.2.5.
Comment créer un lien virtuel ? ...........................................................................................................104
16.2.6.
Application ...............................................................................................................................................104
16.3.
Exemples avancés ......................................................................................................................................106
16.3.1.
Exercice 1 ..................................................................................................................................................106
16.3.2.
Exercice 2 ..................................................................................................................................................107
17. QUELLES SONT LES PROPRIETES AVANCEES DU MODELE ?.........................................................................110 17.1.
Comment ajouter une description au modèle ? ..................................................................................110
17.2.
Comment paramétrer le délai d’exécution ? .......................................................................................110
17.3.
Comment inclure les modèles sources ? ................................................................................................110
17.4.
Comment choisir le nom de la table dans l’entrepôt de données ? ...............................................111
18. QUELS SONT LES DIFFERENTS MODES DE CHARGEMENT ?..........................................................................113 18.1.
Dans quels cas charger le modèle ?.......................................................................................................113
www.report-one.fr
MYREPORT DATA Page 5/118
18.2.
Comment paramétrer le mode de chargement d’un modèle ? .....................................................113
18.2.1.
Le mode « Suppression table / Création table / Insertion données » ............................................113
18.2.2.
Le mode « Insertion données » ..............................................................................................................113
18.2.3.
Le mode « Mise à jour données / Insertion données » ......................................................................114
18.2.4.
Le mode « Suppression données / Mise à jour données / Insertion données » ............................115
www.report-one.fr
MYREPORT DATA Page 6/118
1. RAPPELS SUR LES BASES DE DONNEES Avant de commencer à faire un modèle décisionnel pour analyser vos chiffres, il faut déjà savoir à quoi ressemble les bases de données sources. Prenons l’exemple de la base de données Démonstration sur laquelle nous allons travailler.
Dans la base de données source Démonstration, nous retrouvons plusieurs tables nommées. Chaque table contient une clé primaire (écrite et soulignée en rose) et/ou une ou plusieurs clés secondaires/étrangères (écrite en vert et précédée d’un #). Clé primaire = identifiant unique d’une table. La clé secondaire/étrangère d’une table sera toujours reliée à la clé primaire d’une autre table. Ce schéma de base de données n’est pas du tout optimisé pour faire du reporting décisionnel. En effet, si nous souhaitons construire un report affichant nos montants facturés par sous famille d’article et par client, notre requête SQL contiendra 5 jointures. Nous allons donc préparer notre modèle décisionnel en se basant sur le modèle relationnel de la base de données sources.
www.report-one.fr
MYREPORT DATA Page 7/118
Pour cela, il suffit de regrouper tout ce qui est de même nature pour créer une seule table. Dans notre exemple, les tables « Articles », « Familles Articles » et « Sous Famille Articles » vont être regroupées dans une et même seule table dans notre base de données décisionnelle. On fera de même pour les tables « Entêtes Factures » et « Lignes Factures ». Nous obtiendrons donc le modèle suivant :
Nous retrouvons nos 3 tables issues de notre regroupement de tables de la base de données source. Dans l’exemple de report de tout à l’heure, il nous fallait 5 jointures sur le modèle relationnel de la base de données Démonstration. Sur notre modèle décisionnel il nous faut plus que 2 jointures pour faire notre report comprenant notre montant facturé par sous famille d’article et par client. Nous avons donc optimisé notre temps d’exécution de requête. Le modèle que nous venons de construire s’appelle en décisionnel un modèle en étoile.
www.report-one.fr
MYREPORT DATA Page 8/118
2. THEORIE DE LA MODELISATION EN ETOILE 2.1. Qu’est-ce qu’un modèle ? Dans MyReport, les modèles correspondent à un paramétrage d’extraction et de traitement de données. Ils sont composés de plusieurs éléments : •
La liste des tables sources, contenant les éléments utilisés comme source de données par le modèle.
•
Les jointures, reliant les différentes tables sources.
•
Les filtres, qui permettent d’exclure certaines données.
•
Les champs destinations, contenant les données « métier » qui seront chargées dans l’entrepôt de données.
Il existe deux catégories de modèles : les modèles « Source » et les modèles « Datawarehouse ». Les modèles « Source » ont comme source de données soit les bases de données de production (comptabilité, gestion commerciale, gestion de production, ERP …), soit des fichiers texte ou Excel. Les modèles « Datawarehouse » ont comme source de données soit les modèles « Source », soit les modèles « Datawarehouse ». Ils permettent de créer des modèles de modèles à volonté. Les modèles « Datawarehouse » peuvent être de deux types : « simple » ou « de consolidation ». Les modèles « simples » sont des modèles pour lesquels les tables sont reliées par des jointures. Pour les modèles « de consolidation », les différents éléments sont de même nature, et leurs données sont cumulées dans une même structure. Par exemple, ils peuvent servir à avoir un accès simultané aux ventes de deux sociétés différentes, ayant des logiciels distincts. Les modèles peuvent être chargés ou non dans l’entrepôt de données. S’ils le sont, une table par modèle est automatiquement générée dans l’entrepôt de données. Les modèles non chargés ne peuvent être utilisés dans des modèles de niveau supérieur que s’il s’agit d’un modèle de consolidation.
2.2. Les modèles relationnels simples Dans un modèle relationnel simple, la structure du modèle est calquée sur le modèle conceptuel des données utilisé dans l’application. Toutes les données d’un domaine (par exemple la table des ventes, mais aussi celles des clients, commerciaux, articles …) sont ainsi remontées dans un seul modèle et stockées dans l’entrepôt de données. Les avantages : •
Ces modèles sont plus rapides à construire : il suffit de reproduire le modèle conceptuel des données de l’application source.
Les inconvénients : •
Ils peuvent facilement devenir peu lisibles, à cause de l’enchevêtrement de jointures multiples entre de nombreuses tables.
•
Ils sont difficilement maintenables et peu évolutifs.
•
Les modèles étant chargés dans l’entrepôt de données, la table résultante est très volumineuse (beaucoup de lignes et de colonnes).
•
Des mêmes informations sont répétées inutilement dans la même table (par exemple la description d’un produit, champ pouvant être assez long), et dans l’entrepôt de données (par exemple, l’ensemble des informations sur le produit sont dans les données de vente, mais aussi dans celles de production).
•
Le temps de chargement de l’ETL peut être important, à cause de la complexité de la requête à exécuter.
2.3. Les modèles en étoile 2.3.1. Qu’est-ce qu’un modèle en étoile ? Les modèles en étoile correspondent à une modélisation orientée conception d’entrepôts de données, car ils sont optimisés pour les requêtes d’analyse.
www.report-one.fr
MYREPORT DATA Page 9/118
Ils sont composés d’une table de fait et de plusieurs axes d’analyse. La table de fait contient les éléments mesurés dans les analyses (CA, quantités …). Les axes d’analyse sont situés autour de la table de fait. Ils contiennent les éléments constitutifs des dimensions (des « thèmes ») explorés lors de l’analyse (par exemple, dans le cadre d’un axe « Article », le libellé, le code article, la famille, son prix unitaire …). Chacun de ces éléments (table de fait, axes d’analyse) est un modèle distinct. Le modèle final, reliant la table de fait aux axes d’analyse, est un modèle sans chargement.
2.3.2. Quels sont les avantages ? •
La quantité d’information stockée dans le Datawarehouse est optimisée (par exemple, seul le code client est remonté dans la table de fait de vente, et non pas l’ensemble des informations du client. Les informations de l’axe article seront aussi bien utilisées pour la facturation que pour les commandes).
•
Les modèles sont plus modulaires et évolutifs.
•
Les temps d’ETL sont optimisés.
•
Les requêtes des utilisateurs finaux (Builder ou Viewer) sont optimisées.
2.3.3. Quels sont les inconvénients ? •
Leur conception peut sembler moins intuitive dans un premier temps.
2.3.4. Comment construire un modèle en étoile ? La méthodologie permettant de construire un modèle en étoile est décrite ci-dessous :
1. La première étape est de créer la table de fait. Elle répond à la question « Que veut-on analyser ? ». Elle contient donc les éléments mesurés lors de l’analyse, ainsi que les champs (clés étrangères) qui feront les liens vers les axes d’analyse.
2. La seconde étape est de créer les axes d’analyse. Ils répondent à la question « Comment veuton analyser les données ? ». Ils contiennent les dimensions explorées dans l’analyse, ainsi que la clef primaire permettant de faire le lien vers la table de fait.
3. La dernière étape est la création du modèle final, reliant les clefs primaires des axes d’analyse
aux clefs étrangères de la table de fait. Ce modèle ne devra pas être chargé dans l’entrepôt de données.
Lors de la construction, il est important de faire attention aux points suivants : •
Tous les indicateurs doivent avoir le même niveau de détail, défini par les axes d’analyse
•
Les clés primaires des axes doivent être uniques, sinon les faits seront démultipliés.
www.report-one.fr
MYREPORT DATA Page 10/118
3. LANCEMENT DE MYREPORT DATA Au lancement de MyReport Data, la fenêtre suivante s’affiche :
Deux choix s’offre à vous : •
La possibilité d’ouvrir un projet existant (sur la partie gauche de l’interface)
•
La possibilité de créer un nouveau projet (en bas de l’interface en cliquant sur le bouton « Créer un nouveau projet »)
3.1. Comment ouvrir un projet existant ? Pour ouvrir un projet existant, rien de plus simple : cliquons sur un des projets s’affichant dans la partie gauche de l’interface d’accueil de MyReport Data Dans ce cas, une fenêtre de login et mot de passe apparaît :
Une fois le login et mot de passe renseigné, l’interface de travail de MyReport Data s’ouvre.
3.2. Comment créer un nouveau projet ? Pour créer un nouveau projet, il suffit de cliquer sur le bouton « Créer un nouveau projet ». Dans ce cas, la fenêtre suivante apparaît :
www.report-one.fr
MYREPORT DATA Page 11/118
Renseignons le nom de notre nouveau projet, déterminons sur quel serveur/poste nous voulons qu’il se trouve et enfin saisir le mot de passe de l’utilisateur « Admin » de ce projet.
« Afficher le mot de passe » permet d’afficher dans les zones de saisies « Mot de passe » et « Confirmation » le mot de passe que nous avons renseigné pour vérifier qu’il n’y a pas d’erreur. « Retenir le mot de passe » permettra à l’utilisateur de se connecter sans avoir à ressaisir son mot de passe à chaque fois. Dès que le projet est créé nous le retrouvons dans la partie gauche de l’interface :
www.report-one.fr
MYREPORT DATA Page 12/118
Il nous reste plus qu’à cliquer dessus pour que l’interface de travail de MyReport Data s’ouvre.
3.3. Découverte de l’interface de MyReport Data
1
2
3
L’interface de MyReport Data se décompose en 3 parties : 1. 2. 3.
Le ruban nous permettra de retrouver toutes les options concernant le projet, les modèles, les jointures, les ETLs, les autorisations, l’espace de travail… L’espace « Connexions, modèles et publication » : nous trouverons la liste des connexions et modèles déjà créés, ainsi la partie publication des modèles. L’espace de mapping : dans cet espace nous pourrons sélectionner les tables pour construire nos modèles, nous pourrons également créer des jointures entre les tables.
www.report-one.fr
MYREPORT DATA Page 13/118
4. PRESENTATION DE L’EXERCICE DE FORMATION Afin de découvrir les fonctionnalités de MyReport Data, nous vous proposons un cas d’étude qui vous permettra de découvrir les principaux cadres d’utilisation de MyReport Data. Pour constituer la base décisionnelle, vous disposez des données suivantes : •
Une base contenant les données de facturation, en format Interbase. Elle contient les éléments concernant les articles, les clients ainsi que les factures
•
Une base contenant les données de gestion commerciale, au format Microsoft Access. Elle contient entre autres les données concernant les commerciaux.
•
Deux fichiers Excel, contenant respectivement
Les objectifs par commerciaux et par année (F Objectifs.xls). Le prévisionnel de facturation (Previsionnel.xls)
L’objectif du projet est d’accéder : •
Aux données de facturation
•
Aux données de facturation et au prévisionnel de facturation
•
Aux données de facturation et aux objectifs
Il sera aussi nécessaire de définir des droits d’accès adaptés aux commerciaux et aux comptables. Ce manuel déroulant l’ensemble du processus de création d’un entrepôt de données avec MyReport, nous vous conseillons de suivre l’ordre des leçons. Voici le modèle en étoile que nous allons construire dans les premières leçons du manuel :
www.report-one.fr
MYREPORT DATA Page 14/118
5. COMMENT SE CONNECTER AUX BASES DE DONNEES SOURCES ? 5.1. Comment se connecter à la base de données Demonstration.mrd ? Vous allez maintenant créer une connexion à la base de données (Firebird) contenant les informations de facturation. Dans l’espace « Sources », faites un clic droit puis sélectionnez « Nouveau >> Nouvelle connexion ».
L’interface « Propriétés de la connexion » s’affiche alors. Elle permet de paramétrer la base de données à utiliser. Dans le bloc « Nom de la connexion », saisissez le texte « Facturation ». Dans la liste déroulante « Type de connexion », sélectionnez le pilote « Firebird ». Juste en dessous dans l’onglet « Paramètres », sélectionnez : •
DataSource : dans la liste déroulante apparaît le nom du PC/Serveur sur lequel vous êtes et ses différentes adresses IP
•
DataBase : sélectionnez le chemin où se trouve la base de données Firebird. Dans notre exemple, la base de données se trouve à l’emplacement suivant : « C:\DemoMyReport\Database_DemoMyReport\MyCRM\Demonstration.mrd ».
•
Tous les autres paramètres doivent rester par défaut.
A noter : L’utilisateur administrateur d’une base de données Firebird est sysdba et son mot de passe est masterkey.
www.report-one.fr
MYREPORT DATA Page 15/118
Enfin quand vous avez renseigné tous les paramètres, cliquez sur le bouton « Tester la connexion ». Si tout va bien, vous devez avoir le message suivant :
A noter : L’option « Actualisation automatique de la liste des tables » permet de rafraichir automatiquement le liste des tables lorsque vous créer un nouveau modèle. Cette option n’est pas cochée par défaut.
www.report-one.fr
MYREPORT DATA Page 16/118
5.2. Quels sont les différents types de connexions ? Vous avez différents pilotes à votre disposition pour vous connecter à vos bases de données sources. •
Access OleDB
•
AS400
•
AS400 OleDB
•
Firebird
•
Informix
•
Interbase
•
MySQL
•
ODBC
•
ODBC Firebird
•
ODBC Interbase
•
ODBC MySQL
•
ODBC Oracle
•
ODBC PostgreSQL
•
ODBC SQLServer
•
OleDB
•
Oracle
•
PostgreSQL
•
SQLite
•
SQLServer
5.3. Comment manipuler la Syntaxe SQL ? La syntaxe SQL peut être modifiée en cliquant sur le bouton « Syntaxe SQL » à côté de la liste déroulante « Type de connexion ».
www.report-one.fr
MYREPORT DATA Page 17/118
Il est aussi possible dans cette fenêtre de choisir le type de syntaxe (élément « Jointure » de la « Syntaxe SQL ») : •
Pour les bases Oracle et ODBC Oracle : Syntaxe SQL Classique ou Syntaxe Oracle ((+) pour les jointures externes).
•
Pour les bases Informix et ODBC Informix : syntaxe SQL Classique ou Syntaxe Informix (seul le OUTER est autorisé pour les jointures externes).
L’option « Aliasser les champs » est cochée par défaut, dans ce cas les champs de toutes les requêtes sont aliassés. Attention : Cette option doit être désactive avec certaines bases de données (par exemple pour les bases Progress).
5.4. Comment créer une connexion ODBC ? Vous allez maintenant créer une connexion ODBC vers la base Access contenant les informations sur les commerciaux. Dans « l’espace Sources », cliquez droit puis sélectionnez « Nouveau >> Nouvelle connexion ». Appelez cette connexion « GesCom ». Sélectionnez le type de connexion « ODBC ». Cliquez ensuite sur le bouton « Administrateur ODBC ». Vous accédez alors à l’administrateur de sources ODBC de Windows. Sélectionnez l’onglet « Sources de données système », puis cliquez sur « Ajouter ».
www.report-one.fr
MYREPORT DATA Page 18/118
Vous pouvez alors choisir le pilote ODBC à utiliser. Sélectionnez le pilote adéquat, qui est ici « Microsoft Access Driver (*.mdb, *.accdb) », puis cliquez sur « Terminer ». Nommez la source de données « GesCom », puis sélectionnez le fichier « C:\Program Files (x86)\ReportOne\MyReport5\gescom.mdb ». Validez en cliquant sur OK. Dans l’interface des « Propriétés de la connexion » de « GesCom », saisissez dans « Dsn » la source de données « GesCom » que vous avez créée dans l’Administrateur de sources de données ODBC.
5.5. Comment créer un modèle simple sur une connexion ? Dans la partie « Sources », faites un clic droit sur la connexion « Facturation » et sélectionnez « Nouveau >> Nouveau modèle ».
www.report-one.fr
MYREPORT DATA Page 19/118
Nommez-le « F Factures » pour représenter la table de faits de notre modèle puis cliquez sur le bouton « Créer ».
Dans la « zone de mapping », cliquez sur « Tables de la connexion » pour faire afficher la liste des tables de votre connexion « Facturation ». Dans la fenêtre « Tables de la connexion » qui apparaît, cliquez sur le bouton « Actualiser les tables » et à l’aide de la touche « Ctrl » de votre clavier sélectionnez les tables « FACTURE » et « DETAIL_FACTURE ». Puis cliquez sur le bouton « Ajouter au mapping » et fermer la fenêtre « Tables de la connexion ». Vos deux tables apparaissent alors dans la zone de mapping de MyReport Data.
www.report-one.fr
MYREPORT DATA Page 20/118
5.6. Trucs et astuces Il arrive parfois qu’il y une astérisque « * » au niveau du nom de la connexion et/ou du nom du modèle dans la partie « Sources », cela veut tout simplement dire que vous n’avez pas encore sauvegardé votre travail.
www.report-one.fr
MYREPORT DATA Page 21/118
6. COMMENT CREER UNE JOINTURE ? 6.1. Quels sont les 3 types de jointure ? Il est possible de paramétrer 3 types de jointure dans MyReport Data : •
Les jointures simples permettent de ne sélectionner que les éléments se trouvant dans les deux tables.
•
Les jointures externes permettent de sélectionner tous les éléments d’une des tables.
•
Les jointures totales permettent de sélectionner l’ensemble des éléments des deux tables.
Ces jointures vont être illustrées avec l’exemple suivant : dans la base de données, il existe une table contenant les noms des commerciaux suivant les secteurs, et une seconde table contenant le nom des commerciaux. Le champ de jointure est « Id_Secteur ».
Commerciaux
Secteurs
Id_Secteur
Nom
Id_Secteur
Libellé
1
P.O. Loste
1
Nord Est
2
P. Timsit
2
Nord Ouest
4
F. Savic
3
Sud Est
5
T. Chesne
4
Sud Ouest
Le secteur commercial 3 n’a aucun commercial d’affecté, et le 5 n’a pas de libellé. Voici les résultats obtenus avec les différents types de jointure :
Commerciaux.Id_Secteur
Commerciaux.Nom
Secteurs.Id_Secteur
Secteurs.Libellé
1
P.O. Loste
1
Nord Est
2
P. Timsit
2
Nord Ouest
4
F. Savic
4
Sud Ouest
Le commercial affecté au secteur 5 n’apparaît pas, et le libellé affecté au secteur 3 non plus.
Commerciaux.Id_Secteur
Commerciaux.Nom
Secteurs.Id_Secteur
Secteurs.Libellé
1
P.O. Loste
1
Nord Est
2
P. Timsit
2
Nord Ouest
4
F. Savic
4
Sud Ouest
5
T. Chesne
Tous les commerciaux apparaissent, mais le libellé du secteur n’est pas renseigné pour le commercial « T. Chesne ».
www.report-one.fr
MYREPORT DATA Page 22/118
Commerciaux.Id_Secteur
Commerciaux.Nom
Secteurs.Id_Secteur
Secteurs.Libellé
1
P.O. Loste
1
Nord Est
2
P. Timsit
2
Nord Ouest
3
Sud Est
4
Sud Ouest
4
F. Savic
Tous les libellés de secteurs apparaissent, mais le commercial n’est pas renseigné pour le libellé « Sud Est ».
Commerciaux.Id_Secteur
Commerciaux.Nom
Secteurs.Id_Secteur
Secteurs.Libellé
1
P.O. Loste
1
Nord Est
2
P. Timsit
2
Nord Ouest
3
Sud Est
4
Sud Ouest
4
F. Savic
5
T. Chesne
Tous les commerciaux et libellés apparaissent.
6.2. Comment créer une jointure ? Sélectionnez le modèle « F Factures » dans la partie « Sources ». Glissez/déposez le champ « FAC_ID » de « FACTURE » sur le champ « DET_ID_FAC » de « DETAIL_FACTURE ».
Vous venez de créer votre première jointure. Cette jointure est par défaut une jointure simple, ne sélectionnant les informations que lorsque les champs joints sont égaux.
www.report-one.fr
MYREPORT DATA Page 23/118
6.3. Comment modifier les caractéristiques d’une jointure ? Sélectionnez la jointure nouvellement créée, puis cliquez droit et sélectionnez « Propriété de la jointure ». Vous accédez alors à la fenêtre « Propriété de la jointure ».
Cette interface permet de modifier les tables et champs utilisés pour les jointures, l’opérateur utilisé, le type de jointure ainsi que la couleur de la jointure.
A noter : Dans le cas d’une connexion sur une base Oracle, le type de jointure « Jointure totale » n’est pas disponible.
6.4. Comment ajouter/modifier un filtre sur une jointure ? Vous pouvez avoir besoin de rajouter des filtres dans certains cas bien précis (par exemple, cas d’un filtre sur un champ situé du côté externe d’une jointure). Pour ajouter un filtre sur votre jointure, il suffit de cliquer sur le lien « + ajouter/modifier un filtre » en bas de la fenêtre de « Propriété de la jointure ». Vous avez maintenant la possibilité de rajouter un filtre en cliquant sur le « + ».
www.report-one.fr
MYREPORT DATA Page 24/118
6.5. Comment modifier la couleur de présentation d’une jointure ? Les jointures apparaissent par défaut en noir dans l’espace de mapping. Cette couleur peut être modifiée, pour distinguer, mettre en valeur les jointures externes ou personnalisées ou encore les différentes requêtes.
www.report-one.fr
MYREPORT DATA Page 25/118
Pour modifier la couleur de la jointure, dans la fenêtre « Propriété de la jointure », cliquez sur le bouton « Couleur d’affichage ». Sélectionnez la couleur désirée, puis validez.
www.report-one.fr
MYREPORT DATA Page 26/118
7. COMMENT MANIPULER LES CHAMPS DESTINATION ? 7.1. Introduction Les champs destination sont les champs mis à disposition des utilisateurs finaux (MyReport Builder, Page et Viewer), ou des modèles de niveaux supérieurs. Ils correspondent aux objets métiers qui seront manipulés. Ces champs peuvent soit être simplement un champ des tables disponibles, soit le résultat d’une transformation.
7.2. Comment ajouter un champ destination ? Le modèle « F Facture » doit contenir les mesures de la facturation utilisées dans le reporting, ainsi que les liens (clefs étrangères) vers les tables d’analyse. Placez-vous dans le modèle « F Facture » de la connexion « Facturation », puis double-cliquez sur le champ « FAC_ID » de la table « FACTURE ». Ce champ s’ajoute alors à la liste des champs destination. En utilisant les touches « Shift » et « Ctrl » de votre clavier, sélectionnez les champs « FAC_DATE », « FAC_ID_CLI » et « FAC_ID_COM » de la table « FACTURE », puis glissez/déposez les dans l’espace des champs destination. Effectuez la même manipulation avec les champs « DET_ID », « DET_ID_ART », « DET_QTE », « DET_REM », « DET_TOT » de la table « DETAIL_FACTURE ».
Résumé : Vous pouvez ajouter des champs destination de deux façons : •
En double cliquant sur le champ source.
•
En sélectionnant les champs sources désirés et en les glissant/déposant dans l’espace des champs destination.
www.report-one.fr
MYREPORT DATA Page 27/118
7.3. Comment renommer un champ destination ? Cliquez droit sur le champ « FAC_DATE » dans « l’espace des champs destination », puis sélectionnez « Renommer ».
Tapez le texte « Date Facture », puis validez par la touche « Entrée » de votre clavier. Vous venez de renommer le champ.
7.4. Comment ajouter un dossier de champs destination ? Les dossiers de champs permettent de grouper les informations du même type, et ainsi de mettre à disposition de l’utilisateur un modèle plus lisible et mieux organisé. Dans le modèle « F Facture », placez-vous dans « l’espace des champs destination ». Cliquez droit, puis sélectionnez « Nouveau >> Dossier ».
www.report-one.fr
MYREPORT DATA Page 28/118
Nommez ce dossier « Factures ». Ce dossier contiendra tous les éléments caractéristiques d’une facture. Sélectionnez les champs « FAC_ID », « DET_ID », « DET_QTE », « DET_REM », « DET_TOT », puis glissez/déposez les dans le dossier « Factures ».
7.5. Comment modifier le type d’un champ ? 7.5.1. Comment choisir le type d’un champ ? Dans MyReport, les champs destination sont de différents types, suivant les informations manipulées. Les types disponibles sont : •
Texte
•
Entier, Décimal, booléen,
•
Date, date et heure, heure.
Le type du champ destination est par défaut celui de son champ source. Dans le cas de modèles texte ou Excel, les champs sources sont considérés comme étant de type « Texte ». Vous aurez donc souvent besoin de les modifier. Pour modifier le type, cliquez droit puis sélectionnez « Propriétés du champ ».
www.report-one.fr
MYREPORT DATA Page 29/118
Comme vous pouvez le constater, les propriétés des champs s’affichent à droite des champs destination. Important : Lorsque vous changez une propriété d’un champ, cette dernière est automatiquement validée. Vous pourrez bien sûr la modifier si besoin. La partie « Propriétés du champ » reste affichée si vous ne fermez pas avec la croix en haut à droite.
A noter : Un symbole est affecté à chaque type de champ.
7.5.2. Comment utiliser un type personnalisé ? En fonction du type du champ source, MyReport Data détermine automatiquement le type utilisé pour le stockage de l'information dans l'entrepôt de données. L'affectation du type du champ destination est déterminée en tenant compte du type de base de données utilisée pour le stockage de l'entrepôt. www.report-one.fr
MYREPORT DATA Page 30/118
Attention : Pour connaître les différents types supportés par la base de données Datawarehouse, reportez-vous à la documentation de son éditeur. Le type personnalisé spécifié dans propriétés du champ est dépendant de la base de données utilisée pour stocker le Datawarehouse. Si le type de base de données est modifié, assurez-vous de la compatibilité des types utilisés. Par ailleurs, les types personnalisés du fait de leur précision peuvent provoquer une perte de données si le type utilisé n'est pas en capacité de stocker la totalité de l'information
7.6. Comment modifier la qualification du champ ? Deux qualifications sont possibles pour les champs destination : •
Dimension d’analyse : une dimension d’analyse est un champ pivot sur lequel l’utilisateur final souhaitera effectuer des analyses. Les opérations de « Somme » et de « Moyenne » n’ont pas de sens sur ces champs.
•
Indicateur : un indicateur est un champ de mesure sur lequel l’utilisateur final pourra effectuer des calculs. Ils sont typiquement sommés ou moyennés dans le reporting.
Par défaut, un champ de type « Décimal » sera considéré comme un « Indicateur », sinon comme une « Dimension d’analyse ». Dans le modèle « F Factures », le champ « FAC_ID » a été par défaut considéré comme un indicateur. Ce champ est une dimension d’analyse. Pour modifier la qualification d’un champ, sélectionnez-le, cliquez droit, et allez dans les « Propriétés du champ ».
www.report-one.fr
MYREPORT DATA Page 31/118
Sélectionnez « Dimension d’analyse » et mettez le type en « Entier » au lieu de « Décimal ». A noter : Une couleur différente est utilisée pour chaque type de champ (voir la légende en bas des champs destination). Les utilisateurs finaux ne pourront pas utiliser les agrégations « Somme » et « Moyenne » pour les dimensions d’analyse.
7.7. Comment paramétrer le masque d’affichage par défaut ? Vous pouvez paramétrer dans MyReport Data le masque d’affichage par défaut d’un champ lorsqu’il est utilisé dans un report. Dans le modèle « F Factures » du dossier « Facturation », le champ « DET_QTE » est un champ de type Décimal. Son masque par défaut est « Standard ». Vous allez le modifier pour que les décimales ne soient pas affichées et pour avoir un espace comme séparateur de milliers. Sélectionnez ce champ, dans les « Propriétés du champ », dans la partie « Format dans le report » cliquez sur la liste déroulante « Masque » et sélectionnez le masque « # ##0 ».
www.report-one.fr
MYREPORT DATA Page 32/118
7.8. Comment faire un tri personnalisé sur les valeurs du champ ? Faire un tri personnalisé sur les valeurs d'un champ permet de définir l'ordre "par défaut" des valeurs de ce champ, lorsqu'il sera utilisé comme dimension d'analyse dans un report en mode tableau. Sur la connexion « Facturation », faites un clic droit « Nouveau >> Nouveau modèle ». Nommez-le « A Temps » et cliquez sur le bouton « Créer ». Cliquez sur « Tables de la connexion » au milieu de la zone de mapping et dans le fenêtre qui s’ouvre sélectionnez la table « TEMPS » et ajoutez là à la zone de mapping. Fermez ensuite la fenêtre « Tables de la connexion ». Dans l’espace « Champs destination » faites un clic droit « Nouveau >> Dossier » et nommez le « Temps ». Sélectionnez les champs « DATE_ », « MOIS », « LIBELLE_MOIS », « TRIMESTRE », « SEMESTRE » et « ANNEE » et faites-les glisser sur le dossier « Temps » dans l’espace « Champs destination ». Renommez le champ « DATE_ » en « DATE ». Le champ « LIBELLE_MOIS » est un champ de texte. Lors de la création de reports, ses occurrences seront triées par ordre alphabétique croissant (Août – Avril – Décembre – Février – Janvier…). Pour assister les utilisateurs MyReport Builder, vous allez trier les occurrences de ce champ dans un ordre cohérent (Janvier – Février – Mars…). Sélectionnez le champ « LIBELLLE_MOIS », cliquez droit et allez dans les propriétés. Dans la partie « Format du report >> Tri pour le report », sélectionnez dans la liste déroulante « Personnalisé ». Cliquez sur le petit crayon permettant de modifier le tri. La fenêtre de tri s’affiche, cliquez sur « Actualiser » en haut à droite pour faire afficher les valeurs de votre champ « LIBELLE_MOIS » puis faites-les glisser (ou utilisez les flèches haut et bas) pour les mettre dans l’ordre que vous souhaitez. Dès que vous avez terminé, cliquez sur le bouton « OK ».
www.report-one.fr
MYREPORT DATA Page 33/118
Vous avez la possibilité d’importer ou d’exporter votre tri personnalisé en cliquant sur les boutons de la fenêtre de tri personnalisé. Cela vous ouvre un explorateur Windows afin d’enregistrer un fichier avec une extension « .fix ». Vous pourrez ainsi réutiliser des tris personnalisés déjà réalisé.
7.9. Pourquoi et comment indexer un champ destination ? Les index permettent d’optimiser les recherches d’informations. Dans MyReport, ils seront principalement utilisés sur les clefs primaires et secondaires des tables, afin d’optimiser le fonctionnement des jointures dans les modèles de niveau supérieur. Dans le modèle « F Factures » : •
Les clefs secondaires sont les champs « Date Facture », « FAC_ID_CLI », « FAC_ID_COM », « DET_ID_ART ».
Nous allons indexer ces champs. Sélectionnez les champs « Date Facture », « FAC_ID_CLI » et « FAC_ID_COM » du modèle « F Factures ». Faîtes clic droit, puis « Propriétés ». Cochez la case « Créer un index ».
www.report-one.fr
MYREPORT DATA Page 34/118
Si vous sélectionnez un champ à la fois, vous avez la possibilité de personnaliser le nom de l’index. Les noms d’index devront être différents pour chaque champ d’un projet. Sélectionnez le champ « DET_ID_ART ». Dans les propriétés de ce champ, quand vous sélectionnez « Index », juste en dessous un nom personnalisable apparaît.
www.report-one.fr
MYREPORT DATA Page 35/118
A noter : Un champ avec un index aura le symbole suivant
devant son libellé.
Dans votre modèle « F Factures », la clé primaire sera définie avec les champs « FAC_ID » et « DET_ID ». Vous allez donc les sélectionner et sélectionnez « Clé primaire » dans la liste déroulante « Index ».
www.report-one.fr
MYREPORT DATA Page 36/118
A noter : Un champ avec une clé primaire aura le symbole suivant
devant son libellé.
Important : Une clé primaire peut être composée de plusieurs champs.
Important : Tous champs servant de jointure dans un modèle de niveau supérieur doit être soit indexé soit définie en clé primaire.
7.10. Comment préfixer/suffixer les libellés et les noms SQL des champs destination ? Lorsqu’un modèle contient plusieurs champs destination ayant le même libellé, il est conseillé de renommer chacun de ces champs de manière unique. Pour modifier un ou plusieurs champs en une seule manipulation, vous pouvez utiliser les fonctions « Préfixer par » ou « Suffixer par », accessibles par clic droit sur les champs destination.
www.report-one.fr
MYREPORT DATA Page 37/118
Pour modifier les noms SQL des champs (noms du champ dans la base), vous pouvez utiliser les fonctions « Préfixer le nom SQL par » et « Suffixer le nom SQL par ». Important : MyReport Builder utilise les noms SQL pour lier les éléments du report aux champs du modèle. Si vous renommez le nom SQL (nom dans la base) alors qu’un report a déjà été créé avec ce champ, le lien entre le report et le modèle sera coupé.
7.11. Récapitulatif des propriétés d’un champ destination 1.
Nom affiché
Nom du champ apparaissant dans l’espace des champs destination, ainsi que dans les modèles de niveau supérieur. 2.
Nom dans la base
Nom stocké dans la base de données Datawarehouse et qui permet de faire le lien avec les reports créés avec MyReport Builder. 3.
Qualification
Dimension d’analyse ou Indicateur. Il n’est pas possible dans MyReport Builder et Viewer de demander une agrégation « Somme » ou « Moyenne » sur une dimension d’analyse. Question à se poser : Est-ce cohérent de faire une Somme sur mon champ ? Si ce n’est pas cohérent, mon champ sera une Dimension d’analyse sinon mon champ sera un Indicateur. Exemple : Est-ce cohérent de faire une Somme sur le champ « FAC_ID » ? Non, le champ « FAC_ID » sera donc une dimension d’analyse. 4.
Type
Texte, Entier, Décimal, Date, Heure, Date et heure, Booléen 5.
Taille www.report-one.fr
MYREPORT DATA Page 38/118
La taille doit être précisée pour les champs de type Texte. 6.
Description
Permet d’affecter à un champ un commentaire qui sera visible dans MyReport Builder. 7.
Format dans le report
Permet de définir un masque d’affichage et un tri sur le champ. 8.
Formule
Affiche la formule permettant d’obtenir le champ. 9.
Tri pour la requête
Permet de définir l’ordre des valeurs pour la visualisation de la requête. 10. Agrégation Permet de stocker uniquement le résultat d’une agrégation effectuée selon les autres champs non agrégés. 11. Index Permet d’indexer les champs afin d’optimiser les temps de requêtage sur les modèles de niveau supérieur. 12. Visible Un champ intermédiaire, utilisé dans un calcul dans le même modèle mais sans intérêt pour l’utilisateur final, peut-être mis comme invisible. Il ne sera pas chargé dans l’entrepôt de données.
7.12. Comment gérer la qualité de la donnée ? 7.13. Exercices Vous allez mettre en pratique les éléments de cette leçon dans les exercices suivants.
7.13.1. Exercice 1 Objectif : Le modèle « F Factures » doit être modifié afin d’obtenir le résultat suivant :
Réalisation : Pour cela, renommez les champs de la manière suivante :
www.report-one.fr
MYREPORT DATA Page 39/118
« FAC_ID_COM » « DET_ID_ART » « FAC_ID_CLI » « FAC_ID » « DET_ID » « DET_QTE » « DET_REM » « DET_TOT »
en en en en en en en en
« Code Commercial » « Code Article » « Code Client » « Code Facture » « Code Ligne Facture » « Quantité Facture » « Remise Facture » « Montant Facture »
Modifiez la qualification des champs « Code Commercial », « Code Article », « Code Client » et « Code Ligne Facture » en « Dimension d’analyse ». Modifiez le type des champs « Code Client », « Code Commercial », « Code Article », « Code Facture », « Code Ligne Facture », « Quantité Facture » en « Entier ».
7.13.2. Exercice 2 Objectif : Créez le modèle « A Articles » pour obtenir le résultat suivant :
Réalisation : •
Sur la connexion « Facturation », faites un clic droit puis « Nouveau >> Nouveau modèle ». Nommez votre modèle « A Articles ».
•
Dans l’espace « Mapping » cliquez sur « Tables de la connexion ». Dans la fenêtre qui s’ouvre, sélectionnez les tables « ARTICLES », « FAMILLES_ARTICLES » et « SOUS_FAMILLES_ARTICLES ».
•
Faites les jointures entre les tables de la manière suivante : o
ARTICLES.FAM_ID = FAMILLES_ARTICLES.FAM_ID
o
FAMILLES_ARTICLES.SSFAM_ID = SOUS_FAMILLES_ARTICLES.SSFAM_ID
•
Dans les champs destination, créez le dossier « Articles ».
•
Ajoutez les champs destination en les faisant glisser sur le dossier « Articles » puis renommez-les de la manière suivante : « ART_ID » « ART_DESIGN » « FAM_ID » « FAM_DESIGN » « SSFAM_ID » « SSFAM_DESIGN »
, renommé en , renommé en , renommé en , renommé en , renommé en , renommé en
« Code Article » « Désignation Article » « Code Famille Article » « Désignation Famille Article » « Code Sous Famille Article » « Désignation Sous Famille Article »
•
Modifiez la qualification des champs « Code Article », « Code Famille Article », « Code Sous Famille Article » en « Dimension d’analyse ».
•
Modifiez le type des champs précédents en « Entier ».
•
Déclarez le champ « Code Article » en « Clé primaire » et les champs « Code Famille Article » et « Code Sous Famille Article » en « Index ».
7.13.3. Exercice 3 Objectif : Modifiez le modèle « A Temps » pour obtenir le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 40/118
Réalisation : •
Renommez les champs correctement
•
Les champs « Mois », « Libellé Mois », « Trimestre », « Semestre », « Année » doivent avoir comme qualification « Dimension d’analyse » et comme type « Entier ».
www.report-one.fr
MYREPORT DATA Page 41/118
8. COMMENT UTILISER DES TRANSFORMATIONS ASSISTEES ? 8.1. Comment créer une transformation assistée à partir d’un champ Date ? Sur votre modèle « A Temps », si la table source n’avait comme seul champ le champ « DATE_ », vous auriez pu créer directement le champ « Année » en utilisant une transformation assistée. Pour cela, rien de plus simple, positionnez-vous sur le champ « Date » dans les champs destination, faites un clic droit sur le champ et sélectionnez « Extraire >> Année ».
Le champ est automatiquement créé dans les champ destination. Via ce menu, vous pouvez effectuer les transformations suivantes pour les champs de type « Date », « Date et Heure » et « Heure » :
Fonction
Champ « Date »
Champ « Date et Heure »
Année
X
X
Mois
X
X
Semaine
X
X
Jour
X
X
Jour de la semaine
X
X
Champ « Heure »
Heure
X
X
Minute
X
X
Seconde
X
X
www.report-one.fr
MYREPORT DATA Page 42/118
8.2. Comment créer une transformation assistée à partir d’un champ Texte ? Vous allez, en utilisant une transformation assistée, créer un champ contenant le département d’un client à partir d’un champ contenant un code postal, en extrayant les deux premiers caractères. Pour cela, sur la connexion « Facturation », faites un clic droit « Nouveau >> Nouveau modèle » et nommez-le « A Clients ». Dans la zone de mapping, ajoutez la table « CLIENT ». Créez le dossier « Clients » dans les champs destination. Puis faites glisser tous les champs de la table sur le dossier dans les champs destination sauf le champ « CLI_TEL ». Renommez-les correctement et qualifiez-les de manière à obtenir le résultat suivant :
Sélectionnez le champ « Code Postal Client », faites un clic droit et sélectionnez « Extraire une chaine de caractère ». Dans la fenêtre « Extraire une chaine de caractère », extraire à partir de la gauche, à partir du caractère numéro 1 et extraire 2 caractères. En cliquant sur « + actualiser » vous pouvez voir apparaître ce qui sera extrait puis cliquer sur le bouton « OK ». Nommez le champ « Département Client » dans les champs destination. Pensez à renommer le nom dans la base dans les propriétés du champ en lui donnant le nom « DPT_CLI ».
www.report-one.fr
MYREPORT DATA Page 43/118
8.3. Exercice Objectif : Modifiez le modèle « A Temps » pour obtenir le résultat suivant :
Réalisation : •
•
Créez les champs suivants, en utilisant les transformations assistées : o
Jour
, obtenu en extrayant le « Jour » du champ « Date »
o
Jour de la semaine champ « Date »
, obtenu en extrayant le champ « Jour de la semaine » du
o
Semaine
, obtenu en extrayant le champ « Semaine » du champ « Date »
Réorganisez les champs dans l’ordre indiqué ci-dessus.
www.report-one.fr
MYREPORT DATA Page 44/118
9. COMMENT CREER UN CHAMP TRANSFORME ? 9.1. Comment ajouter un champ transformé ? Les champs transformés permettent de créer, en appliquant des transformations, des nouveaux champs à partir de données existantes. Vous avez accès à plus de 160 fonctions, permettant de traiter des champs tous types. Sélectionnez le modèle « A temps » du dossier « Facturation », puis sélectionnez le groupe « Temps ». Cliquez droit, puis sélectionnez « Nouveau >> Champ ». Vous accédez alors à l’interface des « Champs transformés » : Cet espace permet de créer des champs répondants à vos besoins métiers, à partir : •
des champs sources et des champs destination précédemment créés,
•
des opérateurs, fonctions et/ou tables de correspondances.
Nous voulons ici créer un champ « AnMois », contenant l’année sur les 4 premiers caractères, et le mois sur les deux derniers. Saisissez « AnMois » dans la zone « Nom du champ ». Saisissez ensuite la formule suivante : « [Année]*100+[Mois] ». Pour ajouter des champs à la formule, double cliquez dessus. Validez par le bouton « OK ». Pour finir, changez le type du champ « AnMois » en « Entier ». Vous venez de créer un champ transformé.
www.report-one.fr
MYREPORT DATA Page 45/118
Ce champ a été ajouté à la liste des transformations.
9.2. Comment utiliser les fonctions ? Les champs transformés peuvent être plus élaborés que celui que vous venez de créer, lorsqu’ils utilisent des fonctions. Dans le modèle « A Clients », vous allez créer un nouveau champ contenant le nom complet du client. Il sera constitué du nom, mis en majuscules, et du prénom. Sélectionnez le modèle « A Clients », placez-vous sur le groupe « Clients », puis créez un champ transformé. Nommez le « Nom Complet Client ». Vous voulez mettre en majuscule le champ « Nom Client », qui est un champ de type « Texte ». Pour cela, dans la partie « Expression », commencez à saisir « Ma », un menu contextuel s’affiche et vous propose plusieurs fonctions. Sélectionnez la fonction « Majuscule(Texte) » et faites une tabulation avec votre clavier. A noter : Il était également possible de rechercher la fonction dans la partie « Fonctions » de la fenêtre du « Champ transformé » et double-cliquer sur la fonction « Majuscule(Texte) » pour que cette dernière s’affiche dans la partie « Expression ». Double-cliquer ensuite sur le champ « CLI_NOM » dans les champs sources. Pour concaténer avec le champ « Prénom Client », tapez sur « & », puis insérez une chaîne de texte contenant un espace. Rajoutez un « & », puis double cliquez sur le champ « Prénom Client ».
www.report-one.fr
MYREPORT DATA Page 46/118
Validez en appuyant sur « OK ». Vous venez de créer un champ utilisant une fonction.
9.3. Liste des fonctions 9.3.1. Texte •
Cherche (sous_texte, Texte) : renvoie la première position de sous-texte dans texte (Compatible en SQL et avec Excel)
•
ChercheAPartir (sous_texte, Texte, index) : renvoie la première position de sous-texte dans texte à partir de index (Compatible avec Excel)
•
CommencePar (Champ, Texte) : renvoie vrai si champ commence par texte sans tenir compte de la casse (Compatible en SQL)
•
Concatene (Texte1, Texte2, …) : concatène tous les textes (Compatible en SQL et avec Excel)
•
Contient (Champ, Texte) : renvoie vrai si champ contient texte sans tenir compte de la casse (Compatible en SQL et avec Excel)
•
Correspondance (Texte, table_correspondance, numéro_colonne=1, valeur par defaut= « ») : renvoie la valeur correspondante au texte défini dans la table de correspondance
•
Droite (Texte, nb_car) : extrait les nb_car derniers caractères de texte (Compatible en SQL et avec Excel)
•
Extrait (Texte, délimiteur, Position) : renvoie l’élément situé en ième position dans texte délimité par délimiteur
•
FinitPar (Champ, Texte) : renvoie vrai si champ finit par texte sans tenir compte de la casse (Compatible en SQL)
•
Gauche (Texte, nb_car) : extrait les nb_car premiers caractères de texte (Compatible en SQL et avec Excel)
•
Insere (Source, Texte, Index) : insert source dans texte à la position index
www.report-one.fr
MYREPORT DATA Page 47/118
•
Longueur (Texte) : renvoie la longueur de texte (Compatible en SQL et avec Excel)
•
Majuscule (Texte) : convertit texte en majuscule (Compatible en SQL et avec Excel)
•
Milieu (Texte, Index, nb_car) : extrait une sous-chaine de caractères de texte à partir de index sur nb_car caractères (Compatible en SQL et avec Excel)
•
Minuscule (Texte) : convertit texte en minuscule (Compatible en SQL et avec Excel)
•
NomPropre (Texte) : convertit la première lettre de texte en majuscule et le reste de texte en minuscule (Compatible avec Excel)
•
RepeteDroite (Texte, caractère, Nombre) : complète texte à droite avec caractère jusqu’à ce que la taille fasse Nombre
•
RepeteGAuche (Texte, caractère, Nombre) : complète texte à gauche avec caractère jusqu’à ce que la taille fasse Nombre
•
Substitue (Texte, Ancien, Nouveau) : remplace dans texte toutes les chaines de caractères ancien pour la chaîne de caractère nouveau (Compatible avec Excel)
•
Supprime (Texte, index, nb_car) : supprime une sous-chaîne de caractères de texte à partir de index sur nb_car caractères
•
SupprimeEspace (Texte) : supprime les espaces avant et après texte (Compatible en SQL et avec Excel)
•
SupprimeEspaceDroite (Texte) : supprime les espaces après texte
•
SupprimeEspaceGauche (Texte) : supprimes les espaces avant texte
•
TexteEnBooleen (Texte) : convertit texte en booléen (supprime les espaces avant et après texte)
•
TexteEnDate (Texte) : convertit texte en date (supprime les espaces avant et après texte)
•
TexteEnDateHeure (Texte) : convertit texte en date/heure (supprime les espaces avant et après texte)
•
TexteEnEntier (Texte) : convertit texte en entier (supprime les espaces avant et après texte) (Compatible avec Excel)
•
TexteEnHeure (Texte) : convertit texte en heure (supprime les espaces avant et après texte)
•
TexteEnNumérique (Texte) : convertit texte en numérique (supprimes les espaces avant et après texte) (Compatible avec Excel)
9.3.2. Mathématiques •
Abs (Nombre) : renvoie la valeur absolue de nombre (Compatible en SQL et avec Excel)
•
Aleatoire : renvoie une valeur aléatoire entre 0 et 1 (Compatible en SQL et avec Excel)
•
Arrondi (Nombre) : arrondi nombre sans décimal (Compatible en SQL et avec Excel)
•
ArrondiA (Nombre, nb_decimale) : arrondi nombre avec nb_decimale décimales (Compatible en SQL et avec Excel)
•
ArrondiInferieur(Nombre) : arrondi nombre vers – infini (Compatible en SQL et avec Excel)
•
ArrondiSuperieur (Nombre) : arrondi nombre vers + infini (Compatible en SQL et avec Excel)
•
Caractere (Nombre) : renvoie le caractère dont la valeur ASCII est nombre (Compatible avec Excel)
•
Carre (Nombre) : renvoie le carré de nombre
•
EntierEnBooleen (Nombre) : convertit nombre en booléen
•
EntierEnTexte (Nombre) : convertit nombre en texte (Compatible avec Excel)
•
Exp (Nombre) : renvoie l’exponentielle de nombre (Compatible en SQL et avec Excel)
•
Max (Nombre1, Nombre2, …) : renvoie le nombre maximum de la série (Compatible avec Excel)
•
Min (Nombre1, Nombre2, …) : renvoie le nombre minimum de la série (Compatible avec Excel)
•
Mod (Nombre, diviseur) : renvoie le reste d’une division (Compatible en SQL et avec Excel)
•
NumeriqueEnBooleen (Nombre) : convertit nombre en booléen
•
NumeriqueEnDate (Nombre) : convertit nombre en date (Compatible avec Excel)
•
NumeriqueEnDateHeure (Nombre) : convertit nombre en date/heure (Compatible avec Excel)
•
NumeriqueEnHeure (Nombre) : convertit nombre en numérique (Compatible avec Excel)
•
NumeriqueEnTexte (Nombre) : convertit nombre en texte (Compatible avec Excel) www.report-one.fr
MYREPORT DATA Page 48/118
•
Puissance (nombre, puissance) : renvoie nombre à la puissance puissance (Compatible en SQL et avec Excel)
•
RacineCarre (Nombre) : renvoie la racine carrée du nombre (Compatible en SQL et avec Excel)
•
Signe (Nombre) : renvoie le signe (-1,0 ou 1 du nombre) (Compatible en SQL et avec Excel)
•
SiVideZero (Nombre) : renvoie 0 si nombre est nulle, sinon renvoie nombre (Compatible avec Excel)
•
SiZeroVide (Nombre) : renvoie nul si nombre vaut 0, sinon renvoie nombre (Compatible avec Excel)
•
Tronque (Nombre) : tronque nombre sans décimale (Compatible en SQL et avec Excel)
•
TronqueA (Nombre, nb_decimale) : tronque nombre avec nb_decimale décimales (Compatible en SQL et avec Excel)
9.3.3. Date •
AjouteMois (date/heure, nb_mois) : renvoie la date décalée du nombre de mois (Compatible en SQL et avec Excel)
•
AjouteSemaine (date/heure, nb_semaine) : renvoie la date décalée du nombre de semaines
•
Annee (date/heure) : extrait l’année de date/heure (Compatible en SQL et avec Excel)
•
AnneeEntre (Date1, Date2) : renvoie le nombre d’années entre date1 et date2, y compris les années non entières
•
DateEnDateSAP (Date) : convertit date en date SAP au format AAAAMMJJ
•
DateEnTexte (Date) : convertit date en texte
•
DateHeureEnNumerique (Date/heure) : convertit date/heure en nombre (Compatible avec Excel)
•
DateHeureEnTexte (Date/heure) : convertit date/heure en texte (Compatible avec Excel)
•
DateSAPEnDate (DateSAP) : convertit DateSAP (qui contient une date au format SAP : AAAAMMJJ) en date
•
EncodeDate (année, mois, jour) : renvoie une date à partir de année, mois, jour (Compatible avec Excel)
•
EncodeDateHeure (année, mois, jour, heures, minutes, secondes) : renvoie une date à partir de année, mois, jour, heures, minutes, secondes (Compatible en SQL et avec Excel)
•
ExtraitDate (Date/heure) : extrait la date de date/heure
•
Jour (date/heure) : extrait le jour de date/heure (Compatible en SQL et avec Excel)
•
JourDeLAnnee (date/heure) : extrait le jour de l’année de date/heure (Compatible en SQL et avec Excel)
•
JourDeLaSemaine (date/heure) : extrait le jour de la semaine de date/heure (1 : lundi -> 7 : dimanche) (Compatible en SQL et avec Excel)
•
JourEntre (Date1, Date2) : renvoie le nombre de jours entre date1 et date2, y compris les jours non entiers
•
JoursDansLAnnee (date/heure) : renvoie le nombre de jours dans l’année de date/heure
•
JoursDansLeMois (date/heure) : renvoie le nombre de jours dans le mois de date/heure
•
JoursDansUneAnnee (Année) : renvoie le nombre de jours dans année
•
JoursDansUnMois (Année, Mois) : renvoie le nombre de jours dans mois de année
•
Max (Nombre1, Nombre2, …) : renvoie le nombre maximal de la série (Compatible avec Excel)
•
Min (Nombre1, Nombre2, …) : renvoie le nombre minimal de la série (Compatible avec Excel)
•
Mois (date/heure) : extrait le mois de date/heure (Compatible en SQL et avec Excel)
•
MoisEntre (Date1, Date2) : renvoie le nombre de mois entre date1 et date2, y compris les mois non entiers
•
ReEncodeDate (Texte, Séparateur, Position_Année, Position_Mois, Position_Jour) : renvoie une date à partir du séparateur et de la position de année, mois, jour dans texte
•
Semaine (date/heure) : extrait la semaine de date/heure. La semaine 1 contient le premier mardi de l’année (Compatible avec Excel)
•
SemaineDuMois (date/heure) : extrait la semaine du mois de date/heure www.report-one.fr
MYREPORT DATA Page 49/118
•
SemaineEntre (Date1, Date2) : renvoie le nombre de semaines entre date1 et date2, y compris les semaines non entières
9.3.4. Heure •
AjouteHeure (date/heure, nb_heure) : renvoie la date/heure décalée du nombre d’heures
•
AjouteMinute (date/heure, nb_minute) : renvoie la date/heure décalée du nombre de minutes
•
AjouteSeconde (date/heure, nb_seconde) : renvoie la date/heure décalée du nombre de secondes
•
EncodeDateHeure (Année, Mois, Jour, Heures, Minutes, Secondes) : renvoie une date à partir de année, mois, jours, heures, minutes, secondes (Compatible en SQL et avec Excel)
•
ExtraitHeure (date/heure) : extrait l’heure de date/heure (Compatible avec Excel)
•
Heure (date/heure) : extrait les heures de date/heure (Compatible en SQL et avec Excel)
•
HeureEnNumerique (Heure) : convertit l’heure en numérique
•
HeureEnTexte (Heure) : convertit l’heure en texte (Compatible avec Excel)
•
HeureEntre (Date/heure1, date/heure2) : renvoie le nombre d’heures entre date/heure1 et date/heure2, y compris les heures non entières
•
MilliSeconde (date/heure) : extrait les millisecondes de date/heure
•
Minute (date/heure) : extrait les minutes de date/heure (Compatible en SQL et avec Excel)
•
MinuteEntre (date/heure1, date/heure2) : renvoie le nombre de minutes entre date/heure1 et date/heure2, y compris les minutes non entières
•
MinutesDuJour (date/heure) : extrait les minutes de la journée de date/heure
•
Seconde (date/heure) : extrait les secondes de date/heure (Compatible en SQL et avec Excel)
•
SecondeDeLHeure (date/heure) : extrait les secondes de l’heure de date/heure
•
SecondeEntre (date/heure1, date/heure2) : extrait les secondes entre date/heure1 et date/heure2, y compris les secondes non entières
9.3.5. Logique •
BooleenEnEntier (Booleen) : convertit un booléen en entier
•
BooleenEnNumerique (Booleen) : convertit un booléen en numérique
•
BooleenEnTexte (Booleen) : convertit un booléen en texte (Compatible avec Excel)
•
ComprisEntre (Champ, valeur1, valeur2) : renvoie vrai si champ entre valeur1 et valeur 2 (Compatible en SQL)
•
DifferentDe (Champ, Valeur1, Valeur2, …) : renvoie vrai si champ est différent de tous les éléments suivants (Compatible en SQL et avec Excel)
•
EgalA (Champ, Valeur1, Valeur2, …) : renvoie vrai si champ est égal à des éléments suivants (Compatible en SQL et avec Excel)
•
EstDateHeure (Texte) : renvoie vrai si la valeur est une date/heure, sinon faux
•
EstDecimal (Texte) : renvoie vrai si la valeur est un décimal, sinon faux
•
EstEntier (Texte) : renvoie vrai si la valeur est un entier, sinon faux
•
EstVide (Valeur) : renvoie vrai si la valeur est nulle, sinon faux (Compatible en SQL)
•
Et (test1, test2, …) : renvoie vrai si tous les tests sont vrais (Compatible en SQL et avec Excel)
•
Faux : renvoie faux (Compatible avec Excel)
•
FinitPar (Champ, Texte) : renvoie vrai si champ finit par texte sans tenir compte de la casse (Compatible en SQL)
•
InferieurA (Champ, Valeur) : renvoie vrai si champ est strictement inférieur à valeur (Compatible en SQL et avec Excel)
•
InferieurOuEgalA (Champ, Valeur) : renvoie vrai si le champ est inférieur ou égal à valeur (Compatible en SQL et avec Excel)
•
MyReport (Texte) : appelle la fonction passée en paramètre via le moteur interne
www.report-one.fr
MYREPORT DATA Page 50/118
•
NeCommencePasPar (Champ, Texte) : renvoie vrai si champ ne commence pas par texte sans tenir compte de la casse (Compatible en SQL)
•
NeContientPas (Champ, Texte) : renvoie vrai si champ ne contient pas texte sans tenir compte de la casse (Compatible en SQL et avec Excel)
•
NeFinitPasPar (Champ, Texte) : renvoie vrai si champ ne finit pas par texte sans tenir compte de la casse (Compatible en SQL)
•
Non (test) : renvoie vrai si test est faux, sinon faux (Compatible en SQL et avec Excel)
•
NomComprisEntre (Champ, valeur1, valeur2) : renvoie vrai si champ n’est pas compris entre valeur1 et valeur2 (Compatible en SQL)
•
Ou (test1, test2, …) : renvoi vrai si un des tests est vrai (Compatible en SQL et avec Excel)
•
RegExp (Texte, test) : renvoie vrai si la valeur est acceptée par l’expression régulière
•
Si (test, valeur1, valeur2) : renvoie valeur1 si test est vrai, sinon valeur 2 (Compatible en SQL et avec Excel)
•
SiSuccessif (test1, valeur1, test2, valeur2, …, valeur par défaut) : renvoie valeur1 si test1 est vrai sinon valeur2 si test2 est vrai … sinon valeur par défaut (Compatible en SQL)
•
SuperieurA (Champ, valeur) : renvoie vrai si champ est strictement supérieur à valeur (Compatible en SQL et avec Excel)
•
SuperieurOuEgalA (champ, valeur) : renvoie vrai si champ est supérieur ou égal à valeur (Compatible en SQL et avec Excel)
•
Vide : renvoie la valeur nulle (Compatible en SQL)
•
Vrai : renvoie vrai (Compatible avec Excel)
9.3.6. Variable •
Aujourdhui : renvoie la date du jour (Compatible en SQL et avec Excel)
•
DateETL : renvoie la date du dernier ETL
•
DateETLOK : renvoie la date du dernier ETL qui n’a pas généré d’erreur
•
Guillemet : renvoie la valeur \ «
•
Maintenant : renvoie la date/heure du jour (Compatible en SQL et avec Excel)
•
NomBaseDeDonnees : renvoie le nom de la base de données
•
NomConnexion : renvoie le nom de la connexion
•
NomModele : renvoie le nom du modèle
•
NomModeleComplet : renvoie le nom complet du modèle
•
NumeroLigne : renvoie le numéro de la ligne
9.3.7. Divers •
EnregistrementPrecedent (Champ) : Renvoie la valeur précédente d’un champ
9.3.8. SQL •
SQLBooleen (texte_formule_sql) : renvoie le booléen que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLBooleenAgrege (texte_formule_sql) : renvoie le booléen que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
•
SQLDate (texte_formule_sql) : renvoie la date que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLDateAgrege (texte_formule_sql) : renvoie le booléen que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
•
SQLDateHeure (texte_formule_sql) : renvoie la date/heure que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLDateHeureAgrege (texte_formule_sql) : renvoie la date/heure que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
www.report-one.fr
MYREPORT DATA Page 51/118
•
SQLDecimal (texte_fomule_sql) : renvoie le décimal que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLDecimalAgrege (texte_fomule_sql) : renvoie le décimal que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
•
SQLEntier (texte_fomule_sql) : renvoie l’entier que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLEntierAgrege (texte_fomule_sql) : renvoie l’entier que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
•
SQLHeure (texte_fomule_sql) : renvoie l’heure que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLHeureAgrege (texte_fomule_sql) : renvoie l’heure que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
•
SQLTexte (texte_fomule_sql) : renvoie le texte que doit renvoyer la base de données avec le texte_formule_sql ne contenant pas les agrégations
•
SQLTexteAgrege (texte_fomule_sql) : renvoie le texte que doit renvoyer la base de données avec le texte_formule_sql contenant les agrégations
9.3.9. Excel •
ExcelBooleen (texte_formule_excel) : renvoie le booléen que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelDate (texte_formule_excel) : renvoie la date que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelDateHeure (texte_formule_excel) : renvoie la date/heure que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelDecimal (texte_formule_excel) : renvoie le décimal que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelEntier (texte_formule_excel) : renvoie l’entier que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelHeure (texte_formule_excel) : renvoie l’heure que doit renvoyer la formule excel avec le texte_formule_excel
•
ExcelTexte (texte_formule_excel) : renvoie le texte que doit renvoyer la formule excel avec le texte_formule_excel
9.3.10. Correspondances Vous trouverez dans cette partie toutes les tables de correspondances de votre projet que vous pourrez utiliser dans vos formules.
9.4. Comment créer une table de correspondances ? Vous pouvez ajouter des tables correspondant à vos besoins métiers. Pour cela, il suffit d’aller dans le menu « Outils >> Correspondance » du ruban de MyReport Data. Nous allons ici créer une table de correspondance contenant les départements et leurs régions correspondantes. Dans la fenêtre « Tables de correspondance », nommez votre table « CP_REGION » et renseignez la « clé d’entrée » qui correspondra aux départements, renseignez également la valeur 1 et renommez-la en « Région ».
www.report-one.fr
MYREPORT DATA Page 52/118
A noter : Il est possible de récupérer depuis le presse-papier des valeurs que l’on aurait au préalable copier depuis un bloc-notes ou autre.
Important : Il est possible de renseigner plusieurs valeurs pour une même clé d’entrée ; il suffira de cliquer sur le bouton + situé à droite de la fenêtre.
Pour ajouter des lignes, il suffit de cliquer sur le bouton + situé en bas de la fenêtre « Tables de correspondance ». En bas de la liste, il faudra renseigner la valeur par défaut comme ci-dessous :
www.report-one.fr
MYREPORT DATA Page 53/118
Important : Si aucune valeur n’est trouvée pour une clé d’entrée c’est la valeur par défaut qui sera renvoyée.
Cliquez enfin sur le bouton « Valider » pour sauvegarder votre travail et sortir de la fenêtre « Tables de correspondance ». Où sont enregistrées les tables de correspondance ? Les tables de correspondance sont enregistrées dans votre projet (dossier MySystem), dans le dossier « Correspondence ». Leur extension est « .corx ».
Cette table peut maintenant être utilisée dans les champs transformés.
9.5. Comment utiliser les tables de correspondance ? MyReport permet l’utilisation de tables de correspondance, afin d’associer à un texte ou un code une autre information. Nous allons utiliser une table de correspondance entre le département et la région du client. Sélectionnez le modèle « A Clients », placez-vous sur le groupe « Clients », puis créez un champ transformé. Nommez le « Région Client ». Dans la partie catégorie, sélectionnez « Correspondance », dans la partie libellé apparaît notre table de correspondance « CP_REGION ». Double-cliquez dessus, la syntaxe pour utiliser la table de correspondance apparaît dans la partie Expression. Sélectionnez ensuite à gauche de la fenêtre « Champ transformé » le champ destination « Département Client » et double-cliquez dessus pour l’ajouter à la formule. www.report-one.fr
MYREPORT DATA Page 54/118
Validez en cliquant sur le bouton « OK ». Vous venez de créer un champ transformé utilisant une correspondance.
9.6. Comment insérer des commentaires dans les champs transformés ? Pour ajouter du commentaire dans vos formules, préfixer celui-ci par //. Exemple : //Utilisation de la table de correspondance Exemple d’utilisation :
www.report-one.fr
MYREPORT DATA Page 55/118
10. COMMENT CREER DES FILTRES ? 10.1. Comment ajouter un filtre au modèle ? Les filtres permettent de ne sélectionner que certaines données parmi l’ensemble des données disponibles. La table « TEMPS », utilisé dans le modèle « A temps », contient un calendrier allant de début 1996 à fin 2020. Les données de facturation n’étant disponibles qu’à partir de début 2012, nous allons éliminer de ce calendrier les dates comprises entre 1996 et 2011. Sélectionnez le modèle « A temps ». Cliquez sur l’onglet « Filtre », puis sur le bouton « Nouveau filtre » symbolisé par un « + ».
La fenêtre de « Propriétés d’un filtre » apparaît alors :
Sélectionnez le champ « Date » parmi la liste des champs destination, le message suivant apparaît :
www.report-one.fr
MYREPORT DATA Page 56/118
Si vous cliquez sur le bouton « OUI », toutes les valeurs seront affichées. Si vous cliquez sur le bouton « NON », MyReport n’affiche aucune valeur. Dans notre exemple, nous n’aurons pas besoin de toutes les valeurs donc vous cliquerez sur le bouton « NON ».
Sélectionnez ensuite l’opérateur « Supérieur ou égal à ». Saisissez la date « 31/12/2011 » dans l’encadré « Sélectionner une date » puis faites « Entrée » avec la touche de votre clavier ou validez la date en cliquant sur le petit calendrier juste à côté. Enfin, cliquez sur le bouton « Ajouter ». Validez par le bouton « OK ». Le message suivant apparaît :
www.report-one.fr
MYREPORT DATA Page 57/118
Vous allez cliquer sur le bouton « OUI » pour modifier le filtre et nous verrons un peu plus bas à quoi cela sert. Le filtre sur le modèle « A temps » est maintenant créé.
10.2. Options des filtres
Dans les options des filtres, il y a une case à cocher « Appliquer systématiquement ce filtre » qui permet de définir si le filtre est appliqué quelle que soit la requête de MyReport Builder ou s’il est appliqué uniquement si un champ de la table du filtre est utilisé. Par exemple, le filtre sur le champ TEMPS.DATE_ ne serait appliqué uniquement dans MyReport Builder si le report utilise un champ de la table TEMPS. Si la case est décochée, le filtre sera appliqué uniquement si un champ de la table du filtre est utilisé et il y aura la précision suivante à côté du filtre « (appliqué uniquement aux requêtes sur la table du champ « DATE_ ») »
10.3. Filtrer sur un champ source ou un champ destination ? Dans l’interface de création des filtres, vous pouvez soit filtrer à partir des champs sources (en choisissant le champ dans « tables et champs »), soit à partir des champs destination. Les filtres sur champs source sont appliqués dès l’exécution de la requête : seules les données « utiles » sont donc remontées dans MyReport Data.
www.report-one.fr
MYREPORT DATA Page 58/118
Les filtres sur champ destinations sont appliqués ligne à ligne, avant l’insertion des données dans l’entrepôt. Il est donc conseillé, lorsque les deux solutions sont possibles, de filtrer sur un champ source afin de diminuer la durée totale de l’ETL. Important : Il est donc conseillé, lorsque les deux solutions sont possibles, de filtrer sur un champ source afin de diminuer la durée totale de l’ETL.
10.4. Comment combiner les filtres ? Afin de créer des filtres élaborés, vous pouvez créer des groupes de filtres (qui permettent de gérer les priorités) et modifier les opérateurs entre les filtres. Dans votre entrepôt, vous voulez les données qui correspondent à l’un des critères suivants : •
Code client = 7
•
(Code commercial = 3) et (Article = 30)
Nous allons d’abord réaliser une copie du modèle « F Facture ». Sélectionnez le modèle « F Facture », cliquez droit et sélectionnez « Copiez ». Cliquez droit et sélectionnez « Coller ». Vous venez de créer une copie du modèle « F Facture », nommée « F Facture2 ». Sélectionnez le modèle « F Facture2 », puis cliquez sur « Ajouter un filtre ». Sélectionnez le champ « FAC_ID_COM », sélectionnez l’opérateur « Egal à », puis sélectionnez la valeur « 3 ».
Cliquez sur « AJOUTER » pour valider le filtre et ajouter d’autres filtres. Créez ensuite un filtre « DET_ID_ART » égal à « 30 », puis un autre « FAC_ID_CLI » égal à « 7 ». Vous obtenez les filtres suivants :
www.report-one.fr
MYREPORT DATA Page 59/118
Les deux premiers filtres vont ensemble, vous allez donc les regrouper. Pour cela, placez-vous sur le « et » situé entre ces filtres, puis cliquez sur le bouton « Créer un groupe ».
Vous obtenez le résultat suivant :
Vous allez maintenant modifier le filtre « et » compris entre le groupe nouvellement créé et le filtre sur le client. Pour cela, sélectionnez l’opérateur « et », et double cliquez dessus. Il se change en « ou ».
www.report-one.fr
MYREPORT DATA Page 60/118
11. COMMENT METTRE A JOUR MANUELLEMENT LES DONNEES DE L’ENTREPOT ? 11.1. Comment lancer un ETL sur ordre ? Un ETL sur ordre consiste à forcer la mise à jour des données de l’entrepôt. Il peut être lancé soit sur un modèle, soit sur plusieurs modèles. Dans l’espace des « Sources », sélectionnez (en maintenant la touche « Ctrl » appuyée) : •
les modèles « A Articles », « A Clients », « F Factures »
Placez-vous sur un des éléments sélectionnés, cliquez droit, et choisissez « ETL sur ordre ».
Vous accédez alors à l’interface « ETL sur ordre », cochez les modèles dans la partie « Choix des modèles » puis cliquer sur le bouton « EXECUTER ETL » :
Important : Par défaut, les ETL s’exécutent en parallèle (case à cocher « Exécution des ETL en parallèle »).
www.report-one.fr
MYREPORT DATA Page 61/118
Il est possible de simuler les ETLs afin de vérifier si d’éventuelles erreurs sont présentes, pour cela il suffit en bas de la fenêtre « ETL sur ordre » de cocher la case « Simuler (permet de tester les modèles sans chargement de données) sur un nombre de lignes choisit ». Enfin, cliquer sur la croix en haut à droite de la fenêtre pour quitter.
www.report-one.fr
MYREPORT DATA Page 62/118
12. COMMENT CREER DES DOSSIERS ET DES MODELES DATAWAREHOUSE ? 12.1. Qu’est-ce qu’un modèle Datawarehouse ? Les modèles créés dans les connexions sources permettent de ne récupérer les informations ne provenant que d’une source de données. Pour pouvoir croiser les informations provenant de sources différentes, vous allez utiliser les modèles Datawarehouse, qui utilisent comme données sources des modèles existants déjà chargés. Vous pouvez ainsi faire des modèles de modèles sur autant de niveaux que nécessaire. Afin de faciliter leur organisation, ils sont regroupés par dossiers de la connexion Datawarehouse. Les modèles Datawarehouse peuvent être de deux types : •
Les modèles de base de données (déjà vu dans les connexions sources)
•
Les modèles de consolidation, qui permettent de cumuler les données de deux modèles ayant la même structure (par exemple, les informations concernant les ventes de deux sociétés).
12.2. Comment paramétrer la connexion au Datawarehouse ? Il suffit dans l’onglet « Datawarehouse » de faire un clic droit sur la connexion Datawarehouse et de sélectionner « Propriétés ». La fenêtre « Propriétés de la connexion » s’ouvre. Vous allez pouvoir paramétrer la connexion au Datawarehouse avec les types de connexions suivants : •
Firebird
•
Interbase
•
MySQL
•
ODBC Firebird
•
ODBC MySQL
•
ODBC Oracle
•
ODBC PostgreSQL
•
ODBC SQL Server
•
Oracle
•
PostgreSQL
•
SQL Server
Important : Nous recommandons vivement d’utiliser SQL Server comme type de connexion pour le Datawarehouse.
Dans notre exemple, nous allons nous connecter
www.report-one.fr
MYREPORT DATA Page 63/118
12.3. Comment créer un dossier ? La connexion Datawarehouse est organisée par dossiers, contenant les modèles. Pour créer un nouveau dossier, placez-vous sur la connexion Datawarehouse, cliquez droit, et sélectionnez « Nouveau >> Nouveau Dossier ».
www.report-one.fr
MYREPORT DATA Page 64/118
Nommez le « Intermédiaire », puis créez un autre dossier nommé « Modèles finaux ». Vous obtenez le résultat suivant :
A noter : Il est possible de créer des sous-dossiers afin d’organiser les modèles.
Ainsi sur le dossier « Modèles finaux » vous pouvez rajouter deux sous-dossiers nommés « Compta » et « Gescom » comme ci-dessous :
www.report-one.fr
MYREPORT DATA Page 65/118
12.4. Comment créer un modèle simple ? Vous allez maintenant créer un modèle permettant l’analyse des informations de facturation. Il s’agit du modèle en étoile regroupant les tables de faits et les axes d’analyse. Placez-vous sur le dossier « Modèles finaux » et sur le dossier « Gescom ». Cliquez droit, et sélectionnez « Nouveau >> Nouveau modèle ».
Nommez le « Facturation ».
Cliquez sur le lien « Tables de la connexion ». Dans la fenêtre sélectionnez avec la touche Ctrl de votre clavier les modèles suivants de la connexion « Facturation » : « A Articles », « A Clients », « A Temps », « F Factures ». Cliquez sur le bouton « Ajouter au mapping ».
www.report-one.fr
MYREPORT DATA Page 66/118
Fermez la fenêtre « Tables de la connexion ». Réalisez ensuite les jointures en partant de la table de faits. Par exemple pour la relation entre les tables « F Factures » et « A Temps », vous avez le message suivant qui apparaît :
Si vous cliquez sur le warning apparaît :
en bas à côté du bouton « Fermer » vous avez le message suivant qui
www.report-one.fr
MYREPORT DATA Page 67/118
Sur le modèle « A Temps » il n’y a pas de clé primaire ni d’index déclaré sur le champ « Date ». Vous allez donc dans la fenêtre « Indexation des champs de la jointure » sélectionner « Clé primaire » dans la liste déroulante à côté du champ « Date ».
Le warning disparaît :
Vous pouvez valider en cliquant sur le bouton « OK ». La jointure est alors créée. Important : La clé primaire sur le champ « Date » a été automatiquement créé sur le modèle « A Temps » de la connexion « Facturation ».
Vous devez obtenir le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 68/118
Vous pouvez constater qu’il y a un point d’information
sur deux des jointures.
Si vous cliquez dessus le message suivant apparaît :
A noter : Pour optimiser la jointure, il faut que le type des deux champs servant de jointure soit le même. Cette fois il faut retourner sur les modèles dans l’onglet « Source » et modifier les types de champs pour ne plus avoir ces petites alertes. Dès que vous avez fait vos modifications dans les modèles sources, vous obtenez un modèle en étoile sans warning ni information.
www.report-one.fr
MYREPORT DATA Page 69/118
Vous allez maintenant ajouter les champs destination au modèle. Sélectionnez les champs « Nom Complet Client », « Nom Client », « Prénom Client », « Adresse Client », « Code Postal Client », « Ville Client », « Département Client », « Région Client » de la table « A Client », et ajoutez-les aux champs destination. Vous pouvez remarquer que les groupes créés dans les modèles sources sont propagés dans les modèles Datawarehouse. Sélectionnez les champs « Désignation Article » et « Code Famille Article », « Désignation Famille Article », « Code Sous Famille Article », « Désignation Sous Famille Article » de la table « A Articles », et ajoutez-les aux champs destination. Sélectionnez les champs « Mois », « Libellé Mois », « Trimestre », « Semestre », « Année », « AnMois » de la table « A temps », et ajoutez-les aux champs destination. Sélectionnez les champs « Code Facture », « Code Ligne Facture », « Quantité Facture », « Remise Facture », « Montant Facture » de la table « F Factures » et ajoutez-les aux champs destination. Vous allez maintenant ajouter aux champs destination les clefs étrangères de la table de fait : •
Sélectionnez le champ « Code Client » de « F Factures » et ajoutez-le au groupe « Clients »
•
Sélectionnez le champ « Code Article » de « F Factures » et ajoutez-le au groupe « Articles »
•
Sélectionnez le champ « Date Facture » de « F Factures » et ajoutez-le au groupe « Temps ».
www.report-one.fr
MYREPORT DATA Page 70/118
Récapitulatif : Lors de la création d’un modèle en étoile, mettez la table de fait au milieu de l’espace de mapping, puis les axes d’analyse autour. Créez les jointures à partir de la table de fait. Les champs se trouvant dans la table de fait et dans les axes d’analyse doivent de préférence être pris dans la table de fait.
www.report-one.fr
MYREPORT DATA Page 71/118
13. COMMENT CREER DES MODELES DE FICHIERS ? Les modèles de fichiers ne sont pas liés à une base de données et donc à une connexion. Ils doivent être créés dans un dossier. Ce dossier peut contenir autant de modèles que souhaité, de type Texte ou Excel. Les modèles déclarés peuvent être répartis dans des sous dossiers.
13.1. Comment créer un dossier ? Dans l’espace des Sources, faîtes un clic droit, puis sélectionnez « Nouveau >> Nouveau Dossier » et nommez le « Fichiers plats ».
13.2. Comment créer un modèle de fichier plat ? Les modèles de fichier plat permettent d’utiliser comme source de données des fichiers texte délimités, quelle que soit leur extension (txt, csv …), ou à largeur fixe. Sélectionnez le dossier « Fichiers plats ». Cliquez droit, puis sélectionnez « Nouveau >> Nouveau modèle ».
www.report-one.fr
MYREPORT DATA Page 72/118
Sélectionnez « Modèle de fichier plat » puis nommez ce nouveau modèle « A Temps ».
En option, vous pouvez ajouter une description.
www.report-one.fr
MYREPORT DATA Page 73/118
Cliquez sur « CREER », vous entrez dans l’assistant de configuration du fichier source (chemin d’accès et Options). Dans un premier temps, vous devez spécifier la localisation du fichier qui est situé dans « C:\DemoMyReport\MySystem_DemoMyReport\Modele\Divers ». Vous pouvez alors : •
Décider de la localisation du fichier source. Soit : o
A son emplacement d’origine : dans ce cas décochez « Enregistrer le fichier dans le projet »
o
Dans le répertoire Data du projet, laissez le paramétrage par défaut. Remarquez, dans la partie basse de l’écran l’emplacement du fichier dans le répertoire Data du MySystem.
•
Choisir le séparateur utilisé dans le fichier (point-virgule, espace, virgule …).
•
Spécifier le délimiteur texte,
•
Spécifier le caractère d’échappement.
o o
Utile si vos chaines de caractères sont entourées avec un délimiteur ( " par exemple) Un caractère d'échappement permet de supprimer toute signification du caractère qui le suit. Si vous avez un fichier texte avec le délimiteur ", la chaine suivante "texte1 \" texte2" sera lu en : texte1 " texte2 ; le caractère " précédé de \ n’est, dans ce cas, pas considéré comme un délimiteur texte.
Le paramétrage par défaut convient pour le fichier « A temps.txt ». Cliquez sur le bouton Suivant pour passer à l’Aperçu des données.
Cet écran vous permet de : •
Préciser si les colonnes ont un en-tête,
•
Paramétrer le nombre de lignes à afficher dans l’aperçu,
•
Rafraichir l’aperçu des données.
Vous pouvez à tout moment revenir aux étapes précédentes avec le bouton PRECEDENT. www.report-one.fr
MYREPORT DATA Page 74/118
Vous pouvez valider ce paramétrage avec le bouton OK.
Vous venez de paramétrer la source de données d’un fichier plat.
Vous pouvez revenir à tout moment dans cet assistant de paramétrage en cliquant droit sur le modèle et en sélectionnant « Configurer le fichier source ».
13.2.1. Comment gérer les fichiers plats à largeur fixe ? Comme nous l’avons vu un fichier plat peut être délimité par des caractères spéciaux (Point-virgule, Tabulation …). Dans certains cas, il n’y a pas de séparateurs entre les colonnes mais ces colonnes ont chacune une largeur fixe. Dans ce cas, il est nécessaire de choisir « Largeur fixe » dans la liste des séparateurs. Les paramètres Délimiteur de texte et Caractère d’échappement ne sont alors plus modifiables. Dans l’écran suivant, vous êtes invité à positionner manuellement un séparateur de colonnes représenté par une ligne fléchée.
www.report-one.fr
MYREPORT DATA Page 75/118
•
Pour créer un séparateur, cliquez à l’emplacement voulu, au niveau des données.
•
Pour supprimer un séparateur, cliquez sur la croix correspondante en bas de l’écran.
•
Pour déplacer un séparateur, cliquez dessus et faîtes-le glisser.
Lorsque le paramétrage des séparateurs vous convient, vous pouvez valider en cliquant sur OK Dans les champs destination, créez un dossier « Types clients », et faites glisser les « Champ1 » et « Champ2 » en les renommant et en les qualifiant pour obtenir le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 76/118
13.3. Comment créer un modèle Excel ? Les modèles Excel permettent d’utiliser des classeurs Excel comme source de données. Sélectionnez le dossier « Fichiers plats ». Cliquez droit, puis sélectionnez « Nouveau modèle ». Sélectionnez « Modèle de fichier Excel » puis nommez ce nouveau modèle « F Objectifs ». En option, vous pouvez ajouter une description.
Cliquez sur « CREER », vous entrez dans l’assistant de configuration du fichier source (Chemin d’accès et Options). Dans un premier temps, vous devez spécifier la localisation du fichier Excel (F Objectifs.xlsx) qui est situé dans le répertoire suivant : « C:\DemoMyReportV1 BE\Database_DemoMyReport\MyCRM ». Attention : les fichiers Excel avec l’extension XLS ou XLSB ne sont pas supportés. Si vous sélectionnez un fichier de ce type, MyReport Data vous proposera de le migrer automatiquement vers un format supporté.
Vous pouvez alors : •
•
Décider de la localisation du fichier source. Soit : o
A son emplacement d’origine : dans ce cas décochez « Enregistrer le fichier dans le projet »
o
Dans le répertoire Data du projet, laissez le paramétrage par défaut. Remarquez, dans la partie basse de l’écran l’emplacement du fichier dans le répertoire Data du MySystem.
Sélectionner la feuille du classeur qui contient les données à importer, o
L’assistant liste également les zones nommées Excel contenant des données.
•
Rafraichir la liste des sources de données,
•
Spécifier le format des données dans le fichier source : sous forme de Listing ou de Tableau croisé.
www.report-one.fr
MYREPORT DATA Page 77/118
Sélectionnez la feuille « feuil1 » et conservez le paramètre « LISTING SIMPLE ». Cliquez sur le bouton Suivant pour passer à l’Aperçu des données.
Cet écran vous permet de :
www.report-one.fr
MYREPORT DATA Page 78/118
•
Préciser si les colonnes ont un en-tête,
•
Paramétrer le nombre de lignes à afficher dans l’aperçu,
•
Rafraichir l’aperçu des données.
Vous pouvez à tout moment revenir aux étapes précédentes avec le bouton PRECEDENT. Vous pouvez valider ce paramétrage avec le bouton OK.
Vous pouvez revenir à tout moment dans cet assistant de paramétrage en cliquant droit sur le modèle et en sélectionnant « Configurer le fichier source ».
13.3.1. Comment lire les données dans un tableau croisé ? Il arrive que les données ne soient pas sous la forme d’un listing. Exemple :
ID Commercial 1 2 3 4 5 6
2015 600000 1650000 3150000 3150000 1650000 600000
2016 600000 1650000 3150000 3150000 1650000 600000
L’assistant de création d’un modèle Excel permet de lire ce format de données pour les stocker dans une table de l’entrepôt de données : il s’agit d’un décroisement de données. Créez un nouveau modèle de fichier Excel dans le dossier « Fichiers plats » et nommez le « F Objectifs décroisés ».
www.report-one.fr
MYREPORT DATA Page 79/118
Sélectionnez le même fichier que dans le paragraphe précédent (F Objectifs.xlsx) et choisissez la « Feuil3 » dans les options puis « Tableau croisé ».
Vous allez être prise en charge par l’assistant afin de déterminer précisément le format des données.
www.report-one.fr
MYREPORT DATA Page 80/118
Les données sources sont sous la forme d’un tableau croisé : sélectionnez TABLEAU.
Répondez NON car la première cellule des valeurs n’est pas en A1 mais en B2.
L’étape suivant demande de sélectionner la première cellule des valeurs. Cliquez sur la cellule en B2 puis sur le bouton DEFINIR COMME UN INDICATEUR.
www.report-one.fr
MYREPORT DATA Page 81/118
Cliquez sur SUIVANT. A cette étape, on remarque que les données ont bien été décroisées.
www.report-one.fr
MYREPORT DATA Page 82/118
Il nous reste maintenant à nommer chacune des nouvelles colonnes, en cliquant sur l’icône CRAYON, comme ci-dessous :
Vous pouvez valider ce paramétrage en cliquant sur OK.
www.report-one.fr
MYREPORT DATA Page 83/118
13.4. Quelles sont les spécificités des modèles de fichiers ? Les modèles de fichiers comportent quelques spécificités par rapport aux modèles de base de données.
13.4.1. Les modes de chargement Si vous avez choisi de charger le modèle de fichier, vous disposez de 2 modes de chargement : • •
Suppression table / Création table / Insertion données Insertion données
Les deux modes « Mise à jour données » et « Suppression données / Mise à jour données / Insertion données » font appel à une clé primaire non paramétrable avec ce format de fichiers : ils ne sont pas disponibles.
13.4.2. Typage des champs Le type de données (Texte, Entier, Décimal …) n’est pas une information disponible dans les fichiers (à plat ou Excel), contrairement aux bases de données. MyReport Data ne pourra pas utiliser cette information pour typer directement les champs destination. Cependant MyReport Data proposera un typage par défaut, compte tenu de la structure des données : il sera peut-être nécessaire de corriger ce typage automatique. Par exemple, sur le modèle « Fichiers plats \ A temps », si l’on regarde le fichier source, le champs Date est type comme du Texte :
www.report-one.fr
MYREPORT DATA Page 84/118
Si vous glisser/déposer ce champ dans l’espace des champs destination, vous obtenez un champ qui est de type Date compte tenu de la structure de ses données.
www.report-one.fr
MYREPORT DATA Page 85/118
14. COMMENT CREER DES MODELES INTERMEDIAIRES ? 14.1. Présentation des modèles Datawarehouse intermédiaires Considérons le Process suivant :
Dans ce Process, le modèle final en étoile « DW/MyCompta/Ecritures générales » s’appuie sur 5 modèles sources chargés. La modélisation des données n’est pas toujours si simple et il est souvent nécessaire de travailler sur les données dans des modèles intermédiaires. Considérons le nouveau Process :
www.report-one.fr
MYREPORT DATA Page 86/118
Dans ce Process, le modèle final en étoile « DW/MyCRM/Facture » s’appuie sur les données de 3 modèles sources : •
MyCRM/F Facture
•
Divers/A temps
•
Divers/A Articles
et sur les données du modèle « DW/_MyCRM/A Société » lui-même alimenté par 3 modèles sources « MyCRM/i Societe », « Divers/idTrancheCA » et « MyCRM/i Contact ». Dans cette modélisation, le modèle « DW/_MyCRM/A Société » est un modèle intermédiaire, car servant dans un modèle de niveau supérieur (DW/MyCRM/Facture) et utilisant des modèles de niveau inférieur (MyCRM/i Societe, Divers/idTrancheCA et MyCRM/i Contact).
www.report-one.fr
MYREPORT DATA Page 87/118
Information : le nombre d’étapes intermédiaires ne se limitent pas à 1 ; vous pouvez en avoir autant que nécessite le traitement de vos données.
14.2. Quelles sont les spécificités d’un modèle Datawarehouse intermédiaire ? Comme tout autre modèle utilisé dans un modèle de niveau supérieur, veillez à paramétrer les clés primaires ou index pour les champs qui le nécessitent dans ce modèle intermédiaire. Pour rappel, on indexe, ou on crée une clé primaire sur tout champ qui sera utilisé dans une jointure dans un modèle de niveau supérieur. De la même manière, pensez à paramétrer correctement le chargement du modèle intermédiaire ; pour cela, référez-vous au chapitre « 18.1 - Dans quels cas charger un modèle ? ».
14.3. Exercice Dans le dossier « Fichiers plats », vous disposez du modèle « A types Clients ». Les données de ce modèle proviennent d’un fichier plat. Nous souhaitons utiliser ces données pour enrichir l’axe d’analyse « A Clients » présent dans la connexion « Facturation ». Dans la connexion « Facturation », nous accédons à des données provenant de Firebird. Pour pouvoir relier des données de Firebird avec les données du fichier plat, nous allons passer par un modèle intermédiaire dans la connexion Datawarehouse. Dans l’onglet Datawarehouse, vous aviez déjà préparé un dossier « Intermédiaires ». Dans ce dossier, créez un nouveau modèle de type base de données et appelez-le « A Clients ». Dans l’espace des mappings, sélectionnez les tables suivantes : • •
Dans la connexion « Facturation », sélectionnez « A Clients » Dans le dossier « Fichiers plats », sélectionnez « A types Clients »
Information : vous pouvez utiliser la touche du clavier « ctrl » pour sélectionner plusieurs modèles en seule fois.
www.report-one.fr
MYREPORT DATA Page 88/118
Créez une jointure entres les champs : • •
« Code client » du modèle « Facturation/A Clients » « Code client » du modèle « Fichiers plats/A types Clients »
Vous devez obtenir le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 89/118
Glissez-déposez le dossier Clients du modèle Facturation/A Clients puis glissez-déposez le champ « Type Client » du modèle Fichiers plats/A types Clients dans le dossier de destination Clients. Vous obtenez le résultat suivant :
Nous souhaitons utiliser ce modèle dans le modèle final « Facturation » en lieu et place du modèle source « A Clients ». Sachant que le lien entre la table de faits Facture et ce nouvel axe d’analyse se fera avec le champ « Code Client », il est nécessaire de définir une clé primaire sur ce champ.
www.report-one.fr
MYREPORT DATA Page 90/118
Nous allons maintenant mettre à jour le modèle final « Facturation » pour qu’il s’appuie sur ce nouveau modèle. Sélectionnez le modèle « Datawarehouse \ Modèles finaux \ Gescom \ Facturation ». Dans l’espace de mapping, cliquez droit sur la table « Facturation/A Clients » et sélectionnez « Changer la source de la table »
Sélectionnez la table présente dans « Datawarehouse \ Intermédiaires \ A Clients ».
www.report-one.fr
MYREPORT DATA Page 91/118
Il ne vous reste plus qu’à glisser-déposer le champ « Type Client » dans l’espace des Champs destination. Dans l’onglet « Process », vous pouvez vérifier que la modélisation de la Facturation s’appuie directement sur 4 modèles sources et sur le nouveau modèle intermédiaire « I Articles ».
www.report-one.fr
MYREPORT DATA Page 92/118
15. COMMENT CREER UN MODELE DE CONSOLIDATION ? 15.1. Présentation des modèles de consolidation Les modèles de consolidation permettent de regrouper au sein d’une même table des données ayant la même structure ou des structures proches, mais provenant de sources de données différentes. Les données de la première source de données seront en premier dans la table consolidée, les données de la deuxième source seront stockées sous celles de la première source et ainsi de suite. Les modèles de consolidation permettent une exploitation simultanée, dans des tableaux de bord, de données provenant de plusieurs sociétés, plusieurs applicatifs métiers ou même d’onglets Excel différents. Nous allons ici consolider les données de facturation avec le prévisionnel de facturation. Sélectionnez le dossier « Facturation intermédiaire », cliquez droit puis sélectionnez « Nouveau >> Modèle consolidation » et nommez le « F facturation + previ ».
Cliquez sur Tables de la connexion et sélectionnez les tables « Facturation / F Facture » et « Fichiers plats / F Prévi facturation » puis cliquez sur AJOUTER AU MAPPING.
www.report-one.fr
MYREPORT DATA Page 93/118
Sélectionnez l’ensemble des champs de la table « F Facture », puis ajoutez-les aux champs destination. Cliquez sur le bouton « Surligner les champs ». Tous les champs de F Facture sont surlignés ainsi que les champs communs de « F Prévi facturation », car ils portent le même nom. Vous pouvez aussi sélectionner individuellement les champs destination pour connaitre les champs sources des 2 tables. Si vous sélectionnez le champ destination « Id facture » ou le champ destination « Id ligne facture », il n’y aura aucune correspondance dans le modèle « F Prévi facturation », ce qui est normal car cette table ne contient pas ces 2 colonnes. En conséquence, les valeurs de ces 2 champs destination seront vides pour les enregistrements provenant de « F Prévi facturation ».
Si deux champs ont des noms libellés différents, vous pouvez forcer leur consolidation. Pour cela, sélectionnez le champ destination, cliquez droit puis demandez à « Changer le champ source ». Pour l’exemple, effectuez l’opération sur le champ « Id article ». L’interface suivante s’affiche :
www.report-one.fr
MYREPORT DATA Page 94/118
Vous pouvez y sélectionner pour chacune des tables de la consolidation les champs source à utiliser.
Récapitulatif : • • •
La sélection des champs destination n’a pas besoin d’être effectuée pour chacune des tables de la consolidation. Les champs doivent avoir le même nom dans les différents modèles pour être pris en compte automatiquement. Si un champ non présent dans chacune des tables est sélectionné, sa valeur sera non renseignée pour les enregistrements provenant des tables dans lesquelles il est absent.
15.2. Quelles sont les spécificités d’un modèle de consolidation ? 15.2.1. Chargement d’un modèle de consolidation Un modèle de consolidation est forcément chargé, il créera nécessairement une table dans l’entrepôt de données. Pour le constater, ouvrez les propriétés du modèle « DW/Facturation intermédiaire/F Facturation + previ ». Vous constatez qu’il n’est pas possible de sélectionner une autre valeur que Oui pour le Chargement.
www.report-one.fr
MYREPORT DATA Page 95/118
Par contre, un modèle qui n’est utilisé que dans un modèle de consolidation n’aura pas à être chargé.
15.2.2. Clé primaire et indexation Un modèle de consolidation est un type particulier de modèle intermédiaire. Les règles d’indexation ou de positionnement de clés primaires s’appliquent de la même manière.
Attention : si vous positionnez une clé primaire dans un modèle de consolidation, assurez-vous que les données sur laquelle porte cette clé sont bien uniques. Si besoin, créez une clef concaténée pour s’assurer de l’unicité des données. Exemple : concaténation de la société et du numéro de facture.
15.3. Exercice Nous disposons de données de ventes de 2 sociétés, notre objectif est de consolider ces données pour analyse ultérieure. Créez une première connexion qui pointe sur la base de données Firebird « Démonstration » et nommez la « Société1 ». Dans cette connexion, créez un modèle « Ventes » qui utilise la table « SOC1_VENTES » et paramétrez-le de la manière suivante :
www.report-one.fr
MYREPORT DATA Page 96/118
Dans le dossier des champs destination « Vente », ajoutez un champ transformé :
Ainsi le nouveau champ Société prendra le nom de la connexion, à savoir « Société1 ». Créez une seconde connexion qui pointe sur la base de données Firebird « Démonstration » et nommez la « Société2 ». Plutôt que de paramétrer manuellement le nouveau modèle, nous allons copier le modèle « Ventes » de la connexion « Société1 » puis coller ce modèle dans la connexion Société2. Vous devriez obtenir le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 97/118
A ce stade, nous avons paramétré 2 modèles sources avec la même structure et contenant un champ Société qui permettra de distinguer les données provenant de chacune des 2 sociétés. Passons à la consolidation des données. Dans l’onglet Datawarehouse, créez le dossier « Ventes Conso » Dans ce nouveau dossier, créez le modèle de consolidation Ventes
Ajoutez au mapping, les 2 tables « Société1 / Ventes » et « Société2 / Ventes »
www.report-one.fr
MYREPORT DATA Page 98/118
Sélectionnez tous les champs de la table Société1/Ventes puis déposez les dans l’espace des Champs destination. Vous pouvez vérifier que la correspondance avec les champs de table Société2/Ventes a bien été réalisée en utilisant l’icône « Surligner les champs ». Vous pouvez aussi vérifier, avec l’utilitaire « Voir les valeurs du champ », que le champ société contient bien les 2 valeurs Société1 et Société2. Ce modèle de consolidation pourra être utilisé dans un modèle final en étoile. Attention a bien positionner les indexs et clés primaires sur les champs qui seront utiliser dans des jointures.
www.report-one.fr
MYREPORT DATA Page 99/118
16. COMMENT METTRE EN PLACE DE MODE MULTI-REQUETE ? 16.1. Quel est le principe du mode Multi-Requête ? Le mode multi-requête de MyReport permet de définir dans un même modèle plusieurs requêtes de récupération des données.
Attention : Le mode multi-requête n’est accessible que sur des modèles sans chargement.
Le mode multi-requête doit être utilisé dès qu’un modèle contient plusieurs tables de faits, de granularités différentes. Dans ce cas, à un enregistrement d’une table de fait correspondent plusieurs enregistrements d’une autre table. Table Facture Table Budget
Code article
Date
Année
Quantité
Code article
Année
Quantité
Art1
13/01/2016
2016
3
Art1
2016
100
Art1
22/01/2016
2016
10
Art2
2016
75
Art1
15/02/2016
2016
1
Art2
18/02/2016
2016
2
Si un modèle « classique » est utilisé, la valeur de la table de fait la moins « détaillée » (ici Budget) est remontée pour chaque élément de la table de fait ayant la granularité la plus fine (ici Facture). Table Budget
Table Facture
Code article
Année
Quantité
Code article
Date
Année
Quantité
Art1
2016
100
Art1
13/01/2016
2016
3
Art1
2016
100
Art1
22/01/2016
2016
10
Art1
2016
100
Art1
15/02/2016
2016
1
Art2
2016
75
Art2
18/02/2016
2016
2
Si ce modèle était diffusé, voici le résultat erroné qui en découlerait : 2016
TOTAL
Qté Budget
Qté Fact
Qté Budget
Qté Fact
Art1
300
14
300
14
Art2
75
2
75
2
375
16
375
16
Libellé
www.report-one.fr
MYREPORT DATA Page 100/118
Dans le cas précédent, si le modèle est paramétré comme modèle multi-requête, les données des tables Budget et Facture seront récupérées séparément, puis assemblées par MyReport Builder.
Table Budget
Table Facture
Code article
Année
Quantité
Art1
2016
100
Art2
2016
75
Code article
Date
Année
Quantité
Art1
13/01/2016
2016
3
Art1
22/01/2016
2016
10
Art1
15/02/2016
2016
1
Art2
18/02/2016
2016
2
2016
TOTAL
Qté Budget
Qté Fact
Qté Budget
Qté Fact
Art1
100
14
100
14
Art2
75
2
75
2
375
16
375
16
Libellé
16.2. Comment mettre en œuvre le mode Multi-Requête ? 16.2.1. Requêtes et liens virtuels Lors de la création d’un modèle multi-requête, vous devrez paramétrer les différentes requêtes, ainsi qu’éventuellement les liens virtuels. Une requête permet de définir un ensemble de données pouvant être analysé indépendamment. Elle contiendra une seule table de fait, ainsi que ses axes d’analyse associés. Un axe d’analyse sera en conséquence fréquemment utilisé dans plusieurs requêtes. Comme pour les modèles en étoile « simples », les différentes tables d’une requête doivent impérativement avoir un même niveau de détail : à un enregistrement d’une table de fait ne doit correspondre au maximum qu’une valeur dans l’axe d’analyse. Un lien virtuel permet de créer un lien entre deux champs de requêtes différentes contenant la même information. Ils doivent être créés entre tous les champs communs de deux tables non reliées entre elles à travers des axes d’analyse.
16.2.2. Travail préliminaire Nous allons créer un modèle permettant de suivre dans un même tableau de bord les objectifs ainsi que la facturation réelle. Dans le dossier « Facturation », créez un nouveau modèle nommé « Facturation + Obj ». Ajoutez au mapping les modèles « F Facture », « F Objectif », « A Article », « A Client », « A Commercial » et « A Temps », puis réalisez les jointures comme indiquées ci-dessous.
www.report-one.fr
MYREPORT DATA Page 101/118
Sélectionnez les champs « Libellé article » et « Prix article » de la table « A Article », et ajoutez-les aux champs destination. Sélectionnez les champs « Nom Commercial », « Prénom Commercial », « Nom Complet Commercial » de la table « A Commercial », et ajoutez-les aux champs destination. Sélectionnez les champs « AnMoisJour », « Jour », « Nom Jour semaine », « Libelle jour semaine », « Semaine », « AnMois », « Mois », « Libelle mois », « Année » de la table « A temps », et ajoutez-les aux champs destination. Sélectionnez les champs « Nom client » et « Prénom client » de la table « A Client » et ajoutez-les aux champs destination. Sélectionnez les champs « Id Facture », « Quantité », « Remise », « CA » de la table « F Facture » et ajoutezles aux champs destination. Sélectionnez le champ « Objectif » de la table « F Objectif » et ajoutez-les aux champs destination. Ajoutez ensuite les clefs étrangères de la table de fait aux champs destination : •
Sélectionnez le champ « Id Client » de « F Facture » et ajoutez-le au groupe « Client »
•
Sélectionnez le champ « Id Article » de « F Facture » et ajoutez-le au groupe « Article »
•
Sélectionnez le champ « Id commercial » de « F Facture » et ajoutez-le au groupe « Commercial »
•
Sélectionnez le champ « Date Facture » de « F Facture » et ajoutez-le au groupe « Temps ».
www.report-one.fr
MYREPORT DATA Page 102/118
Positionnez à Non le paramètre chargement dans les propriétés du modèle. Nous allons maintenant appliquer le mode multi-requête au modèle que nous venons de créer. Ce dernier contient deux tables de faits ayant des granularités différentes : à une ligne d’objectif peuvent correspondre plusieurs lignes de facturation.
16.2.3. Comment activer le mode Multi-Requête ? Le mode multi-requête correspond à une utilisation avancée de MyReport Data. Il n’est donc pas affiché par défaut. Dans l’interface principale de MyReport Data, allez dans le menu « OUTILS >> Préférences », puis sélectionnez le mode d’affichage « Multi-requêtes » :
16.2.4. Comment créer une requête ?
www.report-one.fr
MYREPORT DATA Page 103/118
Dans un modèle multi-requête, une requête doit être créée pour chaque ensemble de données pouvant être analysé indépendamment (une table de faits et ses axes d’analyse associés). Dans le modèle « facturation + Obj », deux requêtes devront être créées : une pour analyser la facturation, et l’autre pour analyser le budget. Sélectionnez le modèle « Facturation + Obj ». Cliquez sur l’onglet « Requêtes », puis sur le bouton « Ajouter une requête ».
Nommez la requête « Facturation », puis sélectionnez l’ensemble des tables et axes devant faire partie de cette requête (« F Facture », « A Article », « A Client », « A Commercial » et « A temps »), puis validez la requête en cliquant sur le bouton « OK ».
Créez ensuite la requête « Objectif », contenant les tables « F Objectif » et « A Commercial ». Vous obtenez le résultat suivant :
www.report-one.fr
MYREPORT DATA Page 104/118
16.2.5. Comment créer un lien virtuel ? 16.2.5.1. Qu’est-ce qu’un lien virtuel ? Les liens virtuels permettent de faire correspondre à un champ destination d’un modèle plusieurs champs de table sources appartenant à des requêtes différentes. Cela permet de ne mettre dans un modèle utilisant le mode multi-requête qu’un seul champ destination contenant l’information recherchée, même si cette dernière est stockée dans plusieurs champs appartenant à plusieurs requêtes.
16.2.5.2. Dans quels cas créer un lien virtuel ? 1. 2.
Les liens virtuels doivent être créés entre tous les champs communs de deux tables appartenant à des requêtes différentes. Dans le cas où des jointures externes sont définies entre les tables de faits et les axes d’analyse, des liens virtuels devront aussi être créés entre les clefs étrangères des différentes tables de faits si ces champs doivent être mis à disposition des utilisateurs Builder.
16.2.6. Application Nous allons créer deux liens virtuels dans le modèle « Facturation + Obj ». « Année » est un champ destination, présent dans le dossier « Temps ». Les champs « Année » de « A Temps » et « Année » de « F Objectif » permettent respectivement d’analyser les factures et les objectifs par année. Ce sont deux champs communs appartenant à deux requêtes différentes (respectivement Facturation et Objectif). Il faut donc créer un lien virtuel entre ces champs, pour respecter la règle 1 énoncée précédemment. Pour cela, créez une jointure entre les champs « Année » des tables « A Temps » et « F Objectif ». Ne tenez pas compte de l’assistant qui préconise d’indexer les 2 champs. Sélectionnez la jointure, cliquez droit puis cliquez sur « Convertir en lien virtuel ».
Le lien virtuel est ajouté dans l’onglet des liens virtuels situé en dessous de l’espace de Mapping.
www.report-one.fr
MYREPORT DATA Page 105/118
La modélisation effectuée permet de gérer les factures ou les objectifs affectés à un commercial non répertorié dans le modèle « A Commercial », grâce aux jointures externes présentes entre « F Facture » et « A Commercial » ainsi qu’entre « F Objectif » et « A Commercial », sur le champ « Id Commercial ». Le champ « Id Commercial » est donc une clef étrangère de deux tables de faits, chacune reliée à un axe d’analyse par une jointure externe. Il faut donc créer un lien virtuel entre ces champs, pour respecter la règle 2 énoncée précédemment. Créez une jointure entre les champs « Id Commercial » des tables « F Facture » et « F Objectif », puis convertissez-le en lien virtuel. Vous obtenez le résultat suivant :
Afin de vérifier que les liens virtuels ont bien été créés sur tous les champs, lancez l’outil « d’audit des liens virtuels » situés dans l’onglet « Liens virtuels ».
Cet outil permet d’afficher pour chaque champ destination, dont le champ source possède un lien virtuel, la liste des champs sources utilisés dans les différentes requêtes du modèle.
www.report-one.fr
MYREPORT DATA Page 106/118
16.3. Exemples avancés 16.3.1. Exercice 1 Objectif : créer un modèle permettant de comparer les commandes et les ventes.
www.report-one.fr
MYREPORT DATA Page 107/118
Réalisation : Créez un modèle nommé « Facturation + cde » dans le dossier « Facturation ». Déclarez ce modèle comme « Sans chargement » afin d’avoir accès aux fonctionnalités du mode « multirequêtes ». Ajoutez au mapping les modèles « F Commande », « F Facture », « A Commercial », « A Article », « A Temps » et « A Client ». Créez les jointures (simples) entre les tables de faits et les axes d’analyse : •
Entre le champ « Id Commercial » de « F Commande » et « Id Commercial » de « A Commercial »,
•
Entre le champ « Id Article » de « F Commande » et « Id Article » de « A Article »,
•
Entre le champ « Date Commande » de « F Commande » et « Date » de « A Temps »,
•
Entre le champ « Id Client » de « F Commande » et « Id Client » de « A Client »,
•
Entre le champ « Id Commercial » de « F Facture » et « Id Commercial » de « A Commercial »,
•
Entre le champ « Id Article » de « F Facture » et « Id Article » de « A Article »,
•
Entre le champ « Date Commande » de « F Facture » et « Date » de « A Temps »,
•
Entre le champ « Id Client » de « F Facture » et « Id Client » de « A Client ».
Créez une requête nommée « Commande », contenant les tables « F Commande », « A Commercial », « A Article », « A Temps » et « A Client ». Créez ensuite la requête « Facture », contenant les tables « F Facture », « A Article », « A Temps » et « A Client » et « A Commercial ». Ajoutez ensuite les champs destination aux modèles. Les jointures entre les tables de faits et les axes d’analyse étant des jointures simples, les champs de jointures pourront être pris dans les axes d’analyse. Ajoutez au modèle les champs des axes clients, articles, commerciaux et temps. Ajoutez ensuite les champs de la commande (« Id Devis », « Id Commande », Quantite Cde » et « CA Cde »), puis ceux de la facture (« Id Facture », « Quantité » et « CA »).
16.3.2. Exercice 2 Objectif : créer un modèle permettant de comparer les devis, les commandes et les ventes.
www.report-one.fr
MYREPORT DATA Page 108/118
Nous allons aussi gérer le cas suivant : des codes clients, articles et commerciaux, présents dans les tables de faits, peuvent ne pas exister. Réalisation : Créez un modèle nommé « Ventes » dans le dossier « Facturation ». Déclarez ce modèle comme « Sans chargement » afin d’avoir accès aux fonctionnalités du mode « multirequêtes ». Ajoutez au mapping les modèles « F Devis », « F Commande », « F Facture », « A Commercial », « A Article », « A Temps » et « A Client ». Créez les jointures (externes) entre les tables de faits et les axes d’analyse : •
Entre le champ « Id Commercial » de « F Devis » et « Id Commercial » de « A Commercial »,
•
Entre le champ « Id Article » de « F Devis » et « Id Article » de « A Article »,
•
Entre le champ « Date Devis » de « F Devis » et « Date » de « A Temps »,
•
Entre le champ « Id Client » de « F Devis » et « Id Client » de « A Client »,
•
Entre le champ « Id Commercial » de « F Commande » et « Id Commercial » de « A Commercial »,
•
Entre le champ « Id Article » de « F Commande » et « Id Article » de « A Article »,
•
Entre le champ « Date Commande » de « F Commande » et « Date » de « A Temps »,
•
Entre le champ « Id Client » de « F Commande » et « Id Client » de « A Client »,
•
Entre le champ « Id Commercial » de « F Facture » et « Id Commercial » de « A Commercial »,
•
Entre le champ « Id Article » de « F Facture » et « Id Article » de « A Article »,
•
Entre le champ « Date Commande » de « F Facture » et « Date » de « A Temps »,
•
Entre le champ « Id Client » de « F Facture » et « Id Client » de « A Client ».
Dans ce modèle, il existe trois ensembles de données pouvant être analysés indépendamment : les factures, les commandes et les devis. Créez les requêtes :
www.report-one.fr
MYREPORT DATA Page 109/118
•
« Devis », contenant les tables « F Devis », « A Commercial », « A Article », « A Temps » et « A Client »
•
« Commande » contenant les tables « F Commande », « A Article », « A Commercial », « A Temps » et « A Client
•
« Facture » contenant les tables « F Facture », « A Commercial », « A Article », « A Temps » et « A Client ».
Ajoutez ensuite les champs destination aux modèles. Les jointures entre les tables de faits et les axes d’analyse étant des jointures externes, les champs de jointures devront être pris dans les tables de faits. Ajoutez au modèle les champs des axes clients, articles, commerciaux et temps (sauf les champs de jointures). Ajoutez ensuite les champs concernant le devis ( « Id Devis », Quantite Dev » et « CA Dev »), ceux de la commande (« Id Commande », « Quantite Cde » et « CA Cde ») puis ceux de la facture (« Id Facture », Quantité » et « CA »). Ajoutez enfin au modèle les champs de jointures entre les faits et les axes. Nous allons ici (arbitrairement) les prendre dans la table « F Facture ». Sélectionnez les champs « Id Commercial », « id Article », « Date Facture » et « Id Client » et glissez/déposez les dans les groupes adéquats (ex : « Id Commercial » dans « Commercial »). Renommez « Date Facture » en « Date ». Le modèle contient des jointures externes, les liens virtuels devront être créés entre tous les champs communs appartenant à des requêtes, mais aussi entre les clefs étrangères des différentes tables de faits. •
Liste des liens virtuels à créer entre les champs communs : o
•
« Id devis » de « F Devis » et « F Commande »
Liste des liens virtuels à créer entre les clefs étrangères : o
« Id Commercial » de « F Facture » et « F Commande »,
o
« Id Commercial » de « F Commande » et « F Devis »,
o
« Id Article » de « F Facture » et « F Commande »,
o
« Id Article » de « F Commande » et « F Devis »,
o
« Date facture » de « F Facture » et « Date Commande » de « F Commande »,
o
« Date Commande » de « F Commande » et « Date Devis » de « F Devis »,
o
« Id Client » de « F Facture » et « F Commande »,
o
« Id Client » de « F Commande » et « F Devis ».
Vous devez obtenir le résultat suivant dans la fenêtre des liens virtuels :
www.report-one.fr
MYREPORT DATA Page 110/118
17. QUELLES SONT LES PROPRIETES AVANCEES DU MODELE ? 17.1. Comment ajouter une description au modèle ? Dans MyReport Data, vous pouvez ajouter une description au modèle. Le texte saisi sera affiché dans l’interface principale de MyReport Data lorsque vous passerez votre souris sur le modèle en question. Sélectionnez le modèle « Facturation + previ », puis accédez à ses propriétés. Dans le bloc « Description », saisissez le texte suivant : « Ce modèle intègre les éléments de facturation ainsi que le prévisionnel »
Validez en cliquant sur le bouton « OK ».
La description apparaît au passage de la souris sur le modèle contenant la description.
17.2. Comment paramétrer le délai d’exécution ? Le délai exécution correspond à la durée à partir de laquelle la requête de récupération est arrêtée s’il n’y a pas eu de réponse. Cette valeur est par défaut réglée à 1 minute. Vous pouvez avoir besoin de la modifier suivant la volumétrie des données, la complexité de la requête et le temps de réponse du moteur de base de données.
17.3. Comment inclure les modèles sources ? Lorsque cette case (disponible pour les modèle Datawarehouse) est cochée, les modèles de plus bas niveau utilisés seront aussi automatiquement mis à jour.
www.report-one.fr
MYREPORT DATA Page 111/118
17.4. Comment choisir le nom de la table dans l’entrepôt de données ? Par défaut, le nom de la table associée à un modèle est automatiquement défini par MyReport Data. Ce nom par défaut est basé sur le nom du modèle, en remplaçant les caractères spéciaux par le symbole « _ ». Ainsi, pour le modèle nommé « F Facture », la table correspondante par défaut sera « F_FACTURE ». Vous pouvez modifier le nom de la table manuellement en saisissant le nom dans les propriétés du modèle :
www.report-one.fr
MYREPORT DATA Page 112/118
Information : MyReport Data vous avertira si le nom de la table que vous avez saisi correspond à une table déjà existante dans l’entrepôt de données.
En cochant la case « Nommage automatique de la table », le nom de la table dans l’entrepôt de données sera dépendant du nom du modèle : si vous renommez le nom du modèle dans l’interface principale de MyReport Data ou dans les propriétés du modèle, le nom de la table sera automatiquement modifié.
www.report-one.fr
MYREPORT DATA Page 113/118
18. QUELS SONT LES DIFFERENTS MODES DE CHARGEMENT ? 18.1. Dans quels cas charger le modèle ? Dans les propriétés des modèles vous avez la possibilité de spécifier si un modèle sera chargé ou non. Si le modèle est chargé, cela signifie qu’il générera une table dans l’entrepôt de données. Les modèles finaux en étoile, ainsi que les modèles utilisés uniquement comme sources de données dans des modèles de consolidation n’ont pas besoin d’être chargés dans l’entrepôt de données. Dans tous les autres cas, il est nécessaire de charger les données dans l’entrepôt. Vous pouvez laisser MyReport Data gérer ce choix en sélectionnant le paramètre de chargement AUTOMATIQUE (configuration par défaut). Dans le cas où vous laissez le mode de chargement en AUTOMATIQUE, le modèle sera considéré comme : •
Sans chargement s’il n’est utilisé que dans un modèle de consolidation.
•
Avec chargement s’il est utilisé dans un modèle de niveau supérieur, autre que de consolidation.
•
Sans chargement s’il n’est pas utilisé dans un modèle de niveau supérieur.
•
Sans chargement s’il est publié et utilisé directement lors de la création d’un report.
18.2. Comment paramétrer le mode de chargement d’un modèle ? Si vous avez positionné le paramètre Chargement à OUI ou à AUTOMATIQUE, vous pouvez préciser la manière dont seront insérées les données dans la table résultante. Quatre modes d’insertion sont possibles dans MyReport Data : •
« Suppression table / Création table / Insertion données »,
•
« Insertion données »,
•
« Mise à jour données / Insertion données »,
•
« Suppression données / Mise à jour données / Insertion données ».
18.2.1. Le mode « Suppression table / Création table / Insertion données » Lorsque le mode « Suppression table / Création table / Insertion données » est sélectionné, la table correspondant au modèle est supprimée au début de chaque ETL, puis recréée avant l’insertion de toutes les données correspondant à votre paramétrage (champs destination, filtres …). Information : il s’agit du mode de chargement par défaut. En rechargeant l’intégralité des données, il garantit leur intégrité. En contrepartie, le temps de chargement sera plus long.
18.2.2. Le mode « Insertion données » Lorsque le mode « Insertion données » est sélectionné, à chaque ETL, les données sont insérées à la suite des données précédentes. Attention : avec ce mode, il n’y a pas de contrôle de redondance : une même ligne déjà présente dans la table cible sera insérée si elle est présente dans les données sources lors de l’ETL suivant. Il faut donc veillez à faire attention avant de positionner une clé primaire dans le modèle utilisant ce mode de chargement. Une solution sera alors de créer une clé concaténée qui garantit l’unicité de chaque enregistrement. Ce mode s’accommode d’un changement de structure de la table (ajout d’une colonne, suppression d’une colonne, modification du type d’une colonne). • •
Si une colonne est ajoutée : ses données seront vides jusqu’au premier l’ETL sur le modèle avec cette nouvelle colonne. Si une colonne est supprimée : les données « historique » de cette colonne sont perdues.
www.report-one.fr
MYREPORT DATA Page 114/118
•
Si le type d’une colonne est modifié dans MyReport Data : le changement est répercuté sur la table de destination.
18.2.3. Le mode « Mise à jour données / Insertion données » Ce mode permet de ne charger que les données susceptibles d’avoir évolué. Pour cela vous allez spécifier un filtre (le plus souvent sur une date) permettant de ne mettre à jour que les données correspondantes. Exemple : seules les écritures comptables de l’exercice comptable peuvent être modifiées. Si vous souhaitez disposer d’un historique de 3 ans dans l’entrepôt de données, il serait plus intéressant de ne charger, à chaque ETL, que les écritures de l’exercice en cours plutôt que tout l’historique. Avant de pouvoir utiliser le mode « Suppression de ligne/Insertion », vous devez définir une clé primaire sur votre modèle. Lorsque la clé primaire sera définie, vous pourrez spécifier un filtre correspondant au critère de « mise à jour données / insertion données ». Les données correspondant à votre filtre seront supprimées de la table de l’entrepôt de donnée puis les données sources correspondant à ce même filtre seront extraites puis insérées dans la table de l’entrepôt. Vous pouvez personnaliser le critère de filtre dans les propriétés du modèle, en cliquant sur le bouton MODIFIER.
La syntaxe sera alors la suivante : [MonChamp] >= Formule, où « Formule » est une formule écrite avec la syntaxe utilisée lors de la création de champs calculés dans MyReport Data. Exemple : pour reprendre l’exemple précédent, vous pouvez spécifier, dans le filtre, la date de clôture de l’exercice, et la modifier régulièrement : [Date ecriture] > 30/04/2016 Il serait plus pertinent de rendre variable ce filtre de sorte qu’il devienne générique. Si l’exercice N-1 est clôturé en Avril (ex : l’exercice comptable 2015 est clôturé fin avril 2016), il faudra alors recharger jusqu’à fin avril les données de l’année N et de l’année N-1, alors que le chargement de l’année 2016 suffira à partir du mois de mai. Dans ce cas, la syntaxe sera donc : [Date ecriture] >= Si ( mois(Aujourdhui)