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.
Vous allez créer un modèle permettant de suivre dans un même tableau de bord les objectifs ainsi que les affaires réelles.
Vous allez utiliser le fichier plat des objectifs que vous avez créé dans un chapitre précédent.
Mais ce dernier ne contient pas de clé primaire, revenez sur le modèle F Objectifs dans le dossier Fichiers plats, vous allez créer dans un premier temps le champ Id Commercial qui aura la formule suivante :

La clé primaire de ce modèle F Objectifs sera donc composée des champs « Id Commercial », « Année », « Mois », « Type affaire ». Vous obtenez donc les champs destination suivants :

Dans l'onglet Datawarehouse, dans le dossier « Gescom », créez un nouveau modèle nommé « Affaires + Objectifs ».
Ajoutez au mapping les modèles « F Affaires», « F Objectifs », « A Compte final », « A Contact », « A Commercial » et « A Temps », puis réalisez les jointures comme indiquées ci-dessous.
Astuce
Le modèle A Commercial est ce qu'on appelle un alias de la table A Contact. Pour faire cet alias, il vous suffit d'afficher, depuis les tables de la connexion, une deuxième fois la table A Contact dans la zone de mapping et de la renommer en A Commercial.

Faites glisser le dossier « Contact » de la table « A Contact » dans les champs destination. Supprimez le champ « Id Contact » des champs destination.
Faites glisser le dossier « Compte final» de la table « A Compte final » dans les champs destination. Supprimez le champ « Id Compte » des champs destination.
Faites glisser le dossier « Temps » de la table « A Temps » dans les champs destination. Supprimez le champ « Date » des champs destination.
Créer un dossier Commercial dans les champs destination et faites glisser tous les champs de la table « A Commercial » sauf les champs « Id Contact » et « Id Compte ». Dans les champs destination, dans le dossier Commercial remplacer les libellés Contact par Commercial en sélectionnant les champs concernés et en faisant un clic droit Remplacer par... Pour le champ « Civilité » renommez-le en « Civilité Commercial ».
Faites glisser le dossier « Affaires» de la table « F Affaires » dans les champs destination.
Faites glisser le dossier « Objectifs» de la table « F Objectifs » dans les champs destination.
Avertissement
Des warnings apparaîssent sur les champs « Mois » et « Année » du dossier Objectifs c'est parce que ces libellés existent déjà dans le dossier Temps. Vous allez donc sélectionner les champs « Année » et « Mois » du dossier Objectifs et faire un clic droit, Suffixer par.... puis renseignez « Objectif » en n'oubliant pas l'espace devant le libellé pour éviter que les mots soient collés.
Ajoutez ensuite les clefs étrangères de la table de fait aux champs destination :
Sélectionnez le champ « # Id Contact » de « F Affaires » et ajoutez-le au groupe « Contact »
Sélectionnez le champ « # Id Commercial » de « F Affaires » et ajoutez-le au groupe « Commercial »
Sélectionnez le champ « # Id Compte final » de « F Affaires » et ajoutez-le au groupe « Compte final »
Sélectionnez le champ « Date de signature » de « F affaires » et ajoutez-le au groupe « Temps ».

Astuce
Si vous faites glisser votre champ sur le premier champ du dossier dans les champs destination, votre champ se trouvera en première position dans le dossier.
Si vous faites glisser votre champ sur le dossier, votre champ se trouvera en dernière position dans le dossier.
Positionnez à Non le paramètre chargement dans les propriétés du modèle.
Vous allez maintenant appliquer le mode multi-requête au modèle que vous venez de créer.
Ce dernier contient deux tables de faits ayant des granularités différentes : à une ligne d’objectif peuvent correspondre plusieurs lignes d'affaires.
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 » :

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 « Affaires + Objectifs », deux requêtes devront être créées : une pour analyser les affaires, et l’autre pour analyser les objectifs.
Sélectionnez le modèle « Affaires + Objectifs ».
Cliquez sur l’onglet « Requêtes », puis sur le bouton « Ajouter une requête ».

Nommez la requête « Affaires », puis sélectionnez l’ensemble des tables et axes devant faire partie de cette requête (« F Affaires », « A Contact », « A Compte final », « A Commercial » et « A Temps »), puis validez la requête en cliquant sur le bouton « OK ».

Créez ensuite la requête « Objectifs », contenant les tables « F Objectifs » et « A Commercial ».
Vous obtenez le résultat suivant :

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.
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.
Vous allez créer deux liens virtuels dans le modèle « Affaires + Objectifs ».
« Année » est un champ destination, présent dans le dossier « Temps ».
Les champs « Année » de « A Temps » et « Année Objectif » de « F Objectifs » permettent respectivement d’analyser les affaires et les objectifs par année.
Ce sont deux champs communs appartenant à deux requêtes différentes (respectivement Affaires et Objectifs). 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 Objectifs ». 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.

La modélisation effectuée permet de gérer les affaires 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 Affaires » et « A Commercial » ainsi qu’entre « F Objectifs » 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 » et « Id Commercial » des tables « F Affaires » et « F Objectifs », 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.