Le Multi Report dans MyReport

Le Multi-Report dans MyReport

L’une des fonctionnalités les plus complexes de MyReport Builder est le mode « Multi-Report » que nous appellerons le mode Multi Rapports
Voyons en détail ce mode de fonctionnement, son utilité et ses cas d’usage.

Le principe

Le mode Multi-rapports, comme son nom l’indique, permet d’exécuter plusieurs jeux de données simultanément. On parle alors de sous-rapports, qui sont associés ou fusionnés pour aboutir à un rapport final. Ce principe s’apparente à celui des sous-requêtes en SQL.

Cette méthode est indispensable si vous souhaitez interroger différents modèles MyReport, car rappelons qu’un rapport MyReport (ou sous-rapport) ne peut interroger qu’un seul modèle à la fois

Prenons l’exemple suivant :
Imaginons que vous disposez de trois modèles de données :

  • Ventes (au ticket de caisse)

  • Objectifs (mensuels par magasin)

  • Photos de stock (produits par magasin à chaque fin de mois)

Un utilisateur vous demande un rapport par magasin, mois par mois, présentant les indicateurs de ventes, les objectifs et la valorisation du stock.
Vous êtes alors obligé d’utiliser le mode Multi-rapports avec trois sous-rapports pour calculer les indicateurs et les lier afin d’obtenir le résultat final :

  • 1er sous-rapport : chiffre d’affaires mensuel par magasin

  • 2e sous-rapport : objectif mensuel par magasin

  • 3e sous-rapport : valorisation du stock par magasin à chaque fin de mois

Grâce à la fonctionnalité Multi-rapports, il est ainsi possible de comparer et d’associer facilement des données issues de sources différentes, même si elles n’ont pas la même structure ou granularité

Le mode Multi-rapports Croisé

Le croisement est la méthode la plus simple à conceptualiser.
Il correspond à une jointure entre deux requêtes (équivalent d’un JOIN en SQL) où les champs partageant une clé de jointure commune sont associés.

Mécanisme technique

1.Exécution parallèle :
Les requêtes SQL sont exécutées simultanément sur les bases de données sources.

2.Stockage temporaire :
Les résultats sont hébergés dans la mémoire du serveur MyReport pour traitement.

3.Jointure applicative :
Le serveur MyReport effectue lui-même les jointures entre les jeux de données, contrairement à une requête SQL classique où la base de données gère cette étape.

Contraintes et bonnes pratiques

  • Impact sur les performances :
    Méthode gourmande en ressources serveur, surtout avec des volumes importants. Chaque clé doit être comparée à l’ensemble des autres jeux de données.
    Exemple : 10 000 lignes dans chaque sous-requête → 100 millions de combinaisons potentielles.

  • Découplage des index :
    Les index de la base de données ne sont plus utilisés après l’exécution des sous-requêtes. L’optimisation doit se faire au niveau des requêtes elles-mêmes.

  • Cas d’usage typique :
    Indispensable pour répliquer des valeurs entre jeux de données à granularités différentes.
    Exemple concret :

    • Sous-requête 1 : Objectifs mensuels (1 valeur/magasin/mois)

    • Sous-requête 2 : Ventes journalières (30 valeurs/magasin/mois)
      → Le croisement permet d’associer systématiquement l’objectif mensuel à chaque vente quotidienne.

Analogie technique

Cette méthode reproduit une jointure interne (INNER JOIN) avec condition, équivalente à un produit cartésien filtré par des critères spécifiques.

Avantage clé

Permet de combiner des données provenant de modèles MyReport hétérogènes que le SGBD ne pourrait pas joindre nativement.

 

Le mode Multi-rapports Consolidé

Il s’agit d’une méthode rarement utilisée, souvent méconnue, mais qui se révèle bien plus polyvalente et puissante que le mode croisé.

Contrairement au croisement, qui repose sur des correspondances entre jeux de données (jointures), la consolidation consiste à empiler les données issues de différentes sous-requêtes.
Autrement dit, si la méthode croisée s’apparente à un JOIN en SQL, la consolidation correspond à un UNION ALL.

Principe et avantages

La consolidation est particulièrement efficace sur de gros volumes de données, car il n’y a aucune recherche de clé entre les sous-requêtes : il suffit simplement d’identifier les colonnes à empiler ensemble, un peu à la manière d’un jeu de Tetris où l’on superpose les pièces.

Cette approche permet :

  • d’agréger des données de sources ou de structures différentes,

  • de faciliter l’analyse transversale,

  • d’améliorer les performances sur de grands ensembles de données, puisque le serveur n’a pas à effectuer de jointures complexes.

Exemples d’usages

Vous trouverez ci-dessous deux exemples typiques d’utilisation de la consolidation :

1.Empilement simple de données similaires (Consolidation Classique)
Par exemple, consolider les ventes en magasin et les ventes en ligne dans un même tableau, même si les sources ou les structures diffèrent.

2.Indicateur comme axe d’analyse (Consolidation avec création d’indicateurs)
Ici, l’indicateur lui-même devient un axe d’analyse : on structure le tableau pour comparer, par exemple, le chiffre d’affaires, la marge et le volume, tous empilés dans une même colonne « Indicateur » avec une colonne « Valeur ». Cela permet une analyse plus flexible et dynamique.

En Résumé , le mode multi-rapports consolidé est donc à privilégier lorsque vous souhaitez fusionner des données hétérogènes sans correspondance directe, ou structurer vos analyses autour d’indicateurs communs, tout en bénéficiant de performances optimisées sur de grands volumes de données.

Nos recommandations

Premièrement, le mode Multi-rapports doit être utilisé en dernier recours et sous certaines conditions, car il entraîne des limitations fonctionnelles et une forte consommation de ressources.

En effet, la création d’un Multi-rapports nécessite des connaissances avancées du produit et n’est pas à la portée de tous. Un usage inapproprié peut entraîner de mauvaises associations de lignes et conduire à des interprétations erronées des résultats.

De plus, la mise en place d’un Multi-rapports rend inopérantes des fonctionnalités telles que le zoom et les fonctions maître/détail. Il est donc indispensable de l’utiliser uniquement lorsque vous devez croiser différents modèles.

À éviter absolument

Si votre objectif est de réaliser un comparatif A/A-1 (année en cours vs année précédente) via un Multi-rapports, il s’agit d’une facilité qui conduit souvent à des erreurs. Préférez une requête unique qui récupère les données A et A-1, puis effectuez les calculs nécessaires pour dissocier les indicateurs.

Bonnes pratiques

  • Le Multi-rapports doit être réservé au croisement de modèles différents, et idéalement, limitez vous à une seule sous-requête par modèle.

  • Comme évoqué précédemment, la consolidation est bien moins gourmande en ressources que le croisement : privilégiez donc les modèles consolidés, sauf si vous avez réellement besoin de réaliser des « produits cartésiens » entre sous-rapports.

En Résumé

Utilisez le Multi-rapports avec discernement, uniquement lorsqu’il n’existe pas d’alternative technique plus simple ou plus performante, et privilégiez la consolidation chaque fois que cela est possible.

Conclusion

Les Multi-rapports offrent la possibilité de croiser facilement des données issues de sources différentes, mais leur utilisation doit rester réservée aux utilisateurs expérimentés. N’utilisez cette fonctionnalité qu’en dernier recours, lorsque aucune autre solution n’est possible, car elle présente de nombreuses contraintes et une forte consommation de ressources.

Privilégiez les modèles consolidés si vous souhaitez éviter la multiplication des lignes lors des jointures.
On peut regretter l’absence d’une assistance graphique pour mieux visualiser les jointures ou les consolidations, ainsi que d’un suivi de la volumétrie des sous-rapports et du rapport final, ce qui faciliterait le contrôle de la cohérence des résultats.

Enfin, soyez vigilant quant au volume de cellules utilisées : chaque sous-rapport contribue au nombre total de cellules autorisées par le serveur, ce qui peut vous amener rapidement à atteindre la limite fixée.

À la Une

L’IA dans la BI

Pour une parfaite maitrise et une automatisation du Like for Like (LFL) afin d’avoir des indicateurs comparables.
Venez découvrir et comprendre l’utilisation de ces indicateurs essentiels dans le Retail et en période de Covid.

Power BI

Pour une parfaite maitrise et une automatisation du Like for Like (LFL) afin d’avoir des indicateurs comparables.
Venez découvrir et comprendre l’utilisation de ces indicateurs essentiels dans le Retail et en période de Covid.

Manex MyReport

Retrouvez l’ensemble des manuels d’exploitations sur dernière versions de MyReport (Administrator, Data, Builder, Messenger, Page …)