{"id":91,"date":"2026-08-28T16:24:36","date_gmt":"2026-08-28T16:24:36","guid":{"rendered":"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/"},"modified":"2026-08-30T09:28:09","modified_gmt":"2026-08-30T09:28:09","slug":"migration-bi-protocole","status":"publish","type":"post","link":"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/","title":{"rendered":"Recette d&rsquo;une migration BI : le protocole avant \/ apr\u00e8s"},"content":{"rendered":"<p class=\"wp-block-paragraph\">La recette d\u2019une migration BI ne cherche pas \u00e0 d\u00e9montrer que le nouveau socle reproduira m\u00e9caniquement l\u2019ancien. Elle sert \u00e0 mesurer les \u00e9carts, \u00e0 retrouver leur origine et \u00e0 faire signer des crit\u00e8res d\u2019acceptation avant la bascule. Sans protocole avant migration et apr\u00e8s migration, le d\u00e9bat se d\u00e9place en production.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>En bref<\/strong><\/p>\n\n<ul class=\"wp-block-list\"><li>Le p\u00e9rim\u00e8tre de recette doit partir des rapports r\u00e9ellement consult\u00e9s, des r\u00e8gles de gestion cach\u00e9es dans les univers et des flux qui alimentent les indicateurs pilot\u00e9s.<\/li><li>Un \u00e9cart de chiffre d\u2019affaires, de marge ou de stock doit \u00eatre expliqu\u00e9 par une r\u00e8gle, une p\u00e9riode, un filtre ou une ligne de donn\u00e9es manquante, jamais seulement constat\u00e9.<\/li><li>La recette combine des contr\u00f4les exhaustifs, des comparaisons d\u2019agr\u00e9gats et des sc\u00e9narios m\u00e9tier sign\u00e9s par les responsables concern\u00e9s.<\/li><li>Le double run r\u00e9duit le risque de bascule lorsque les rapports concernent la finance, les op\u00e9rations ou la cl\u00f4ture mensuelle.<\/li><li>La migration BI peut \u00eatre arr\u00eat\u00e9e si le co\u00fbt de reprise d\u00e9passe la valeur des rapports encore utilis\u00e9s ou si les r\u00e8gles de gestion ne peuvent pas \u00eatre valid\u00e9es.<\/li><\/ul>\n\n<p class=\"wp-block-paragraph\">Ce protocole s\u2019adresse aux responsables BI, chefs de projet d\u00e9cisionnel et \u00e9quipes m\u00e9tier qui remplacent un parc de rapports, un univers BusinessObjects, un mod\u00e8le BW ou une couche OBIEE. Il ne traite pas la n\u00e9gociation des licences, la protection des donn\u00e9es personnelles ou le droit des contrats, qui rel\u00e8vent respectivement de votre acheteur, de votre DPO et de votre direction juridique.<\/p>\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sommaire<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/#Comment_cadrer_la_recette_avant_migration_BI_sans_tester_un_perimetre_inutile\" >Comment cadrer la recette avant migration BI sans tester un p\u00e9rim\u00e8tre inutile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/#Quels_controles_preparer_avant_migration_pour_rendre_les_ecarts_explicables\" >Quels contr\u00f4les pr\u00e9parer avant migration pour rendre les \u00e9carts explicables<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/#Comment_chiffrer_la_charge_de_recette_et_de_reconciliation_avant_la_bascule\" >Comment chiffrer la charge de recette et de r\u00e9conciliation avant la bascule<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/#Comment_executer_la_recette_apres_migration_sans_promettre_lidentite_des_chiffres\" >Comment ex\u00e9cuter la recette apr\u00e8s migration sans promettre l\u2019identit\u00e9 des chiffres<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/acconsulting-france.fr\/blog\/migration-bi-protocole\/#Quels_criteres_de_bascule_et_de_retour_arriere_inscrire_dans_le_protocole_de_migration_BI\" >Quels crit\u00e8res de bascule et de retour arri\u00e8re inscrire dans le protocole de migration BI<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comment_cadrer_la_recette_avant_migration_BI_sans_tester_un_perimetre_inutile\"><\/span>Comment cadrer la recette avant migration BI sans tester un p\u00e9rim\u00e8tre inutile<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re erreur consiste \u00e0 lancer la recette sur tout ce qui existe dans le catalogue technique. Un serveur peut contenir plusieurs centaines de documents Web Intelligence, de requ\u00eates BEx ou d\u2019analyses OBIEE, sans que cet inventaire refl\u00e8te l\u2019usage r\u00e9el. La recette doit couvrir ce qui soutient une d\u00e9cision, une cl\u00f4ture, une facturation, un contr\u00f4le op\u00e9rationnel ou une obligation de reporting interne.<\/p>\n\n<p class=\"wp-block-paragraph\">Le point de d\u00e9part est donc un relev\u00e9 d\u2019usage. Les journaux d\u2019audit, l\u2019historique des ex\u00e9cutions planifi\u00e9es et les droits d\u2019acc\u00e8s apportent une premi\u00e8re liste. Cette liste reste insuffisante si la r\u00e9tention des logs est limit\u00e9e \u00e0 quelques mois. Un rapport annuel peut para\u00eetre absent alors qu\u2019il sera ouvert au prochain exercice. Il faut donc rapprocher les traces techniques des calendriers m\u00e9tier et des \u00e9changes avec les propri\u00e9taires fonctionnels.<\/p>\n\n<p class=\"wp-block-paragraph\">Sur un parc BusinessObjects, le p\u00e9rim\u00e8tre doit distinguer les Webi consult\u00e9s \u00e0 la demande, les documents planifi\u00e9s, les exports transmis hors de l\u2019outil et les rapports utilis\u00e9s comme source d\u2019un autre processus. Un document peu ouvert peut alimenter chaque lundi un fichier envoy\u00e9 \u00e0 la direction. Le compteur de consultations ne suffit pas \u00e0 le classer comme rapport fant\u00f4me.<\/p>\n\n<h3 class=\"wp-block-heading\">Documenter les r\u00e8gles qui ne figurent pas dans le rapport<\/h3>\n\n<p class=\"wp-block-paragraph\">Une grande partie des \u00e9carts appara\u00eet parce que la r\u00e8gle de gestion est plac\u00e9e hors du document visible. Dans un univers BusinessObjects, un filtre de statut client peut \u00eatre d\u00e9fini dans la condition d\u2019un objet et non dans les filtres Webi. Dans BW, une variable obligatoire peut restreindre une requ\u00eate avant m\u00eame que l\u2019utilisateur choisisse sa p\u00e9riode. Dans OBIEE 12c, une r\u00e8gle de s\u00e9curit\u00e9 de ligne peut modifier le r\u00e9sultat selon le r\u00f4le connect\u00e9.<\/p>\n\n<p class=\"wp-block-paragraph\">Le dossier de recette doit donc identifier la source technique, la requ\u00eate, les objets s\u00e9lectionn\u00e9s, les filtres, les invites, les contextes, les jointures et les calculs locaux. Il doit aussi nommer le propri\u00e9taire m\u00e9tier qui confirme l\u2019interpr\u00e9tation. Sans cette ligne de responsabilit\u00e9, une anomalie circule entre l\u2019\u00e9quipe d\u2019int\u00e9gration et les utilisateurs jusqu\u2019\u00e0 ce que la date de bascule devienne le seul sujet de discussion.<\/p>\n\n<p class=\"wp-block-paragraph\">Microsoft recommande une d\u00e9marche de migration Power BI organis\u00e9e par vagues, avec une \u00e9valuation du contenu et des d\u00e9pendances avant la conversion des rapports. Cette m\u00e9thode est d\u00e9crite dans la documentation officielle <a href=\"https:\/\/learn.microsoft.com\/fr-fr\/power-bi\/guidance\/powerbi-migration-overview\" target=\"_blank\" rel=\"noopener\">sur la planification d\u2019une migration Power BI<\/a>, consult\u00e9e le 18 mars 2026. Elle ne dispense pas de reconstituer les r\u00e8gles enfouies dans votre socle source.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>\u00c9l\u00e9ment \u00e0 inventorier<\/th>\n<th>Preuve avant migration<\/th>\n<th>Contr\u00f4le attendu apr\u00e8s migration<\/th>\n<th>D\u00e9cision possible<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Rapport Webi ou analyse OBIEE<\/td>\n<td>Fr\u00e9quence d\u2019ouverture, propri\u00e9taire et calendrier d\u2019usage<\/td>\n<td>Ex\u00e9cution sur la cible avec le m\u00eame p\u00e9rim\u00e8tre fonctionnel<\/td>\n<td>Reprendre, reconstruire ou retirer<\/td>\n<\/tr>\n<tr>\n<td>Univers, mod\u00e8le s\u00e9mantique ou requ\u00eate BW<\/td>\n<td>Objets, contextes, variables et restrictions de s\u00e9curit\u00e9<\/td>\n<td>Tra\u00e7abilit\u00e9 du mapping vers mesures, dimensions et r\u00f4les<\/td>\n<td>Valider ou revoir le mod\u00e8le cible<\/td>\n<\/tr>\n<tr>\n<td>Flux ETL et tables d\u2019alimentation<\/td>\n<td>Horaires, volumes, r\u00e8gles de rejet et d\u00e9pendances<\/td>\n<td>Contr\u00f4le de compl\u00e9tude et de fra\u00eecheur des chargements<\/td>\n<td>Conserver, remplacer ou isoler le flux<\/td>\n<\/tr>\n<tr>\n<td>Indicateur de pilotage<\/td>\n<td>Formule valid\u00e9e, p\u00e9riode de r\u00e9f\u00e9rence et responsable m\u00e9tier<\/td>\n<td>\u00c9cart chiffr\u00e9, expliqu\u00e9 et accept\u00e9<\/td>\n<td>Autoriser ou refuser la bascule<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">Ce tableau constitue un croisement minimal entre objet technique, preuve disponible et d\u00e9cision. Il doit \u00eatre compl\u00e9t\u00e9 \u00e0 partir de vos propres exports d\u2019audit. Aucun environnement client n\u2019a \u00e9t\u00e9 ouvert pour cet article. Les contr\u00f4les propos\u00e9s reposent sur la documentation \u00e9diteur et sur un protocole de recette applicable \u00e0 BusinessObjects, BW, OBIEE, PowerCenter ou Talend.<\/p>\n\n<p class=\"wp-block-paragraph\">Le p\u00e9rim\u00e8tre utile n\u2019est pas celui qui contient le plus de rapports. C\u2019est celui qui permet d\u2019expliquer les chiffres qui seront contest\u00e9s le premier jour.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1024\" src=\"https:\/\/acconsulting-france.fr\/blog\/wp-content\/uploads\/2026\/08\/migration-bi-double-run-comparaison.jpg\" alt=\"Classeur de protocole avec crit\u00e8res coch\u00e9s et captures annot\u00e9es devant un double \u00e9cran\" class=\"wp-image-115\" srcset=\"https:\/\/acconsulting-france.fr\/blog\/wp-content\/uploads\/2026\/08\/migration-bi-double-run-comparaison.jpg 1536w, https:\/\/acconsulting-france.fr\/blog\/wp-content\/uploads\/2026\/08\/migration-bi-double-run-comparaison-300x200.jpg 300w, https:\/\/acconsulting-france.fr\/blog\/wp-content\/uploads\/2026\/08\/migration-bi-double-run-comparaison-1024x683.jpg 1024w, https:\/\/acconsulting-france.fr\/blog\/wp-content\/uploads\/2026\/08\/migration-bi-double-run-comparaison-768x512.jpg 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><figcaption class=\"wp-element-caption\">Illustration g\u00e9n\u00e9r\u00e9e par intelligence artificielle.<\/figcaption><\/figure>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quels_controles_preparer_avant_migration_pour_rendre_les_ecarts_explicables\"><\/span>Quels contr\u00f4les pr\u00e9parer avant migration pour rendre les \u00e9carts explicables<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Avant migration, la recette doit produire une photographie opposable de l\u2019ancien socle. Cette photographie ne se limite pas \u00e0 exporter les donn\u00e9es. Elle fixe la p\u00e9riode analys\u00e9e, l\u2019heure d\u2019extraction, les param\u00e8tres utilis\u00e9s, les populations incluses et les exceptions connues. Sans ces \u00e9l\u00e9ments, comparer deux totaux revient \u00e0 comparer deux requ\u00eates dont personne ne ma\u00eetrise le contexte.<\/p>\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re s\u00e9rie de contr\u00f4les porte sur la compl\u00e9tude. Il faut v\u00e9rifier que les lignes attendues sont pr\u00e9sentes, que les cl\u00e9s techniques sont exploitables et que les historiques n\u00e9cessaires ont \u00e9t\u00e9 repris. Une absence de ligne n\u2019a pas la m\u00eame cons\u00e9quence selon qu\u2019elle concerne une commande annul\u00e9e, un client ferm\u00e9 ou une facture \u00e9mise. La r\u00e8gle d\u2019inclusion doit \u00eatre \u00e9crite avant l\u2019extraction.<\/p>\n\n<p class=\"wp-block-paragraph\">La deuxi\u00e8me s\u00e9rie porte sur les agr\u00e9gats. Les indicateurs financiers et op\u00e9rationnels doivent \u00eatre calcul\u00e9s par p\u00e9riode, soci\u00e9t\u00e9, entit\u00e9, produit, canal ou tout axe r\u00e9ellement utilis\u00e9 par les m\u00e9tiers. Comparer uniquement un total national masque souvent les \u00e9carts de jointure ou les erreurs de rattachement. Un chiffre consolid\u00e9 peut \u00eatre juste alors que deux filiales se compensent par erreur.<\/p>\n\n<h3 class=\"wp-block-heading\">Construire un jeu de r\u00e9f\u00e9rence avant de transformer les donn\u00e9es<\/h3>\n\n<p class=\"wp-block-paragraph\">Le jeu de r\u00e9f\u00e9rence rassemble les extractions source, les param\u00e8tres de requ\u00eate, les r\u00e9sultats agr\u00e9g\u00e9s et les cas m\u00e9tier retenus. Il doit \u00eatre conserv\u00e9 dans un espace versionn\u00e9 et accessible \u00e0 l\u2019\u00e9quipe de recette. Le fichier envoy\u00e9 par courriel la veille de la r\u00e9union ne permet ni de tracer une correction ni de d\u00e9terminer quel r\u00e9sultat faisait foi.<\/p>\n\n<p class=\"wp-block-paragraph\">La transformation des donn\u00e9es doit \u00e9galement \u00eatre visible. Une date convertie, une cl\u00e9 de client d\u00e9doublonn\u00e9e ou une devise retrait\u00e9e modifie le r\u00e9sultat final. Cette transformation peut \u00eatre justifi\u00e9e, mais elle ne doit pas \u00eatre d\u00e9couverte lors de la validation m\u00e9tier. Le mapping doit donc indiquer la colonne source, la r\u00e8gle appliqu\u00e9e, la colonne cible et le contr\u00f4le associ\u00e9.<\/p>\n\n<p class=\"wp-block-paragraph\">Les contr\u00f4les exhaustifs sont adapt\u00e9s aux cl\u00e9s, aux volumes et aux montants agr\u00e9g\u00e9s. Les contr\u00f4les par \u00e9chantillon sont adapt\u00e9s aux r\u00e8gles complexes, aux libell\u00e9s et aux cas d\u2019exception. Les deux sont n\u00e9cessaires. Un rapprochement exhaustif peut confirmer que 100 % des lignes ont \u00e9t\u00e9 charg\u00e9es sans d\u00e9montrer que le calcul de marge repose sur le bon co\u00fbt standard.<\/p>\n\n<p class=\"wp-block-paragraph\">Un protocole robuste pr\u00e9voit aussi les donn\u00e9es rejet\u00e9es. Une ligne rejet\u00e9e par le workflow ETL doit porter un motif, une date, une cl\u00e9 de rapprochement et une d\u00e9cision. Elle sera corrig\u00e9e, exclue avec validation m\u00e9tier ou r\u00e9inject\u00e9e dans un traitement ult\u00e9rieur. Le pire cas reste la ligne silencieusement perdue, car elle ne peut plus \u00eatre recherch\u00e9e apr\u00e8s la mise en production.<\/p>\n\n<ol class=\"wp-block-list\"><li>Extraire les donn\u00e9es source \u00e0 une date et une heure connues, avec les param\u00e8tres de la requ\u00eate conserv\u00e9s.<\/li><li>Calculer les volumes, les montants et les comptes distincts selon les axes de pilotage r\u00e9ellement utilis\u00e9s.<\/li><li>Identifier les r\u00e8gles de transformation appliqu\u00e9es par les flux, les univers et les calculs locaux des rapports.<\/li><li>Constituer des sc\u00e9narios m\u00e9tier comprenant les cas standard, les annulations, les corrections et les situations de bord.<\/li><li>Faire valider le jeu de r\u00e9f\u00e9rence par le propri\u00e9taire de chaque indicateur avant le chargement cible.<\/li><\/ol>\n\n<p class=\"wp-block-paragraph\">Cette discipline est particuli\u00e8rement utile lorsqu\u2019un parc BusinessObjects est repris vers Power BI. La conversion d\u2019un univers en mod\u00e8le s\u00e9mantique ne transf\u00e8re pas automatiquement les contextes de requ\u00eate, les objets avec liste de valeurs ni les calculs Webi. Le d\u00e9tail de cette rupture fonctionnelle doit \u00eatre trait\u00e9 avant de choisir une reprise syst\u00e9matique, comme l\u2019explique ce dossier sur le passage <a href=\"https:\/\/acconsulting-france.fr\/blog\/bo-vers-power-bi\/\">de BusinessObjects vers Power BI<\/a>.<\/p>\n\n<p class=\"wp-block-paragraph\">Le nettoyage ne doit pas \u00eatre confondu avec une suppression indistincte. Retirer des doublons, normaliser un code pays ou corriger une date impossible rel\u00e8ve d\u2019une d\u00e9cision document\u00e9e. Si un m\u00eame client est pr\u00e9sent deux fois avec des identifiants distincts, la fusion peut modifier les historiques et les agr\u00e9gats. Les utilisateurs doivent valider les cas ambigus, car une automatisation de d\u00e9doublonnage ne conna\u00eet pas la raison commerciale d\u2019une exception.<\/p>\n\n<p class=\"wp-block-paragraph\">Le jeu de r\u00e9f\u00e9rence doit rester stable pendant la recette. Si les donn\u00e9es source changent sans nouvel horodatage, les \u00e9quipes compareront des p\u00e9riodes diff\u00e9rentes et attribueront \u00e0 la cible des \u00e9carts qu\u2019elle n\u2019a pas produits.<\/p>\n\n<figure class=\"is-provider-youtube is-type-video wp-block-embed wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"La diaspora regrette et veut rentrer en Afrique \ud83d\udc94\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/nciiz3-Z12k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comment_chiffrer_la_charge_de_recette_et_de_reconciliation_avant_la_bascule\"><\/span>Comment chiffrer la charge de recette et de r\u00e9conciliation avant la bascule<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">La charge de recette est souvent sous-estim\u00e9e parce qu\u2019elle est absorb\u00e9e dans la reprise des rapports. Pourtant, reproduire un visuel et expliquer les \u00e9carts qu\u2019il produit sont deux travaux diff\u00e9rents. Un rapport peut \u00eatre techniquement disponible sur la cible tout en restant non recevable pour le pilotage si le chiffre de r\u00e9f\u00e9rence n\u2019est pas r\u00e9concili\u00e9.<\/p>\n\n<p class=\"wp-block-paragraph\">Un chiffrage d\u00e9fendable s\u00e9pare au minimum l\u2019inventaire, le mapping, la pr\u00e9paration des jeux de r\u00e9f\u00e9rence, l\u2019ex\u00e9cution des tests, la correction des anomalies et la validation m\u00e9tier. La formation, la reprise des droits, les changements de processus et les licences n\u2019entrent pas dans cet exemple. Les ajouter au m\u00eame total sans les isoler rend le budget inutilisable.<\/p>\n\n<h3 class=\"wp-block-heading\">Un exemple de charge calcul\u00e9 avec des hypoth\u00e8ses visibles<\/h3>\n\n<p class=\"wp-block-paragraph\">Consid\u00e9rons un parc de 240 rapports. L\u2019inventaire d\u2019usage sur douze mois permet de retenir 150 rapports actifs. Parmi eux, 90 sont class\u00e9s comme rapports \u00e0 logique limit\u00e9e, 45 comportent des calculs, des filtres conditionnels ou plusieurs sources, et 15 alimentent une cl\u00f4ture mensuelle ou un indicateur de direction. Les ratios ci-dessous sont des <strong>hypoth\u00e8ses de budget<\/strong> pour un protocole de recette ; ils ne constituent pas un tarif ni une promesse de dur\u00e9e.<\/p>\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Cat\u00e9gorie de rapport<\/th>\n<th>Nombre retenu<\/th>\n<th>Pr\u00e9paration et test par rapport<\/th>\n<th>Charge calcul\u00e9e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Logique limit\u00e9e<\/td>\n<td>90<\/td>\n<td>4 heures<\/td>\n<td>360 heures<\/td>\n<\/tr>\n<tr>\n<td>Logique interm\u00e9diaire<\/td>\n<td>45<\/td>\n<td>10 heures<\/td>\n<td>450 heures<\/td>\n<\/tr>\n<tr>\n<td>Indicateur critique<\/td>\n<td>15<\/td>\n<td>22 heures<\/td>\n<td>330 heures<\/td>\n<\/tr>\n<tr>\n<td>Pilotage de recette et consolidation des anomalies<\/td>\n<td>1 p\u00e9rim\u00e8tre<\/td>\n<td>160 \u00e0 240 heures<\/td>\n<td>160 \u00e0 240 heures<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">Le calcul donne une charge comprise entre <strong>1 300 et 1 380 heures<\/strong> pour la pr\u00e9paration et l\u2019ex\u00e9cution de la recette. Il exclut la construction initiale des rapports, les ateliers de formation, la reprise des habilitations et le traitement des changements de p\u00e9rim\u00e8tre. La variation d\u00e9pend surtout du nombre d\u2019it\u00e9rations n\u00e9cessaires sur les 15 indicateurs critiques.<\/p>\n\n<p class=\"wp-block-paragraph\">Ces ratios doivent \u00eatre ajust\u00e9s apr\u00e8s un pilote. Sur un \u00e9chantillon de dix rapports, l\u2019\u00e9quipe mesure le temps r\u00e9ellement pass\u00e9 \u00e0 retrouver les r\u00e8gles, \u00e0 produire les contr\u00f4les et \u00e0 obtenir une d\u00e9cision. Si les dix premiers rapports montrent que les calculs locaux Webi sont plus nombreux que pr\u00e9vu, l\u2019estimation des 140 suivants doit \u00eatre revue avant d\u2019engager une date de bascule.<\/p>\n\n<p class=\"wp-block-paragraph\">La documentation Microsoft distingue d\u2019ailleurs l\u2019\u00e9valuation, la pr\u00e9paration, la migration et l\u2019adoption dans son cycle de migration Power BI, consult\u00e9 le 18 mars 2026 sur <a href=\"https:\/\/learn.microsoft.com\/fr-fr\/power-bi\/guidance\/powerbi-migration-overview\" target=\"_blank\" rel=\"noopener\">Microsoft Learn<\/a>. Cette s\u00e9paration confirme un point de m\u00e9thode : la recette ne peut pas \u00eatre r\u00e9duite \u00e0 une derni\u00e8re semaine de contr\u00f4le.<\/p>\n\n<p class=\"wp-block-paragraph\">Le co\u00fbt de reprise d\u2019un rapport d\u00e9pend aussi de la cible retenue. Un Webi tr\u00e8s tabulaire peut n\u00e9cessiter un rapport pagin\u00e9 plut\u00f4t qu\u2019un tableau de bord interactif. Le comparer \u00e0 un visuel Power BI sans analyser son usage produit une reprise esth\u00e9tiquement proche mais fonctionnellement insuffisante. Le cas des documents destin\u00e9s \u00e0 l\u2019impression est d\u00e9taill\u00e9 dans cette analyse du passage <a href=\"https:\/\/acconsulting-france.fr\/blog\/webi-vers-pagine-powerbi\/\">de Webi vers les rapports pagin\u00e9s Power BI<\/a>.<\/p>\n\n<p class=\"wp-block-paragraph\">Sur un parc de moins de cent rapports, dont plus de la moiti\u00e9 ne sont plus consult\u00e9s, la reconstruction cibl\u00e9e co\u00fbte souvent moins de charge de recette qu\u2019une reprise fid\u00e8le de tout l\u2019existant. Au-del\u00e0 de trois cents rapports actifs avec des r\u00e8gles non document\u00e9es, la reprise structur\u00e9e devient plus prudente, car reconstruire oblige \u00e0 r\u00e9interpr\u00e9ter trop de logique m\u00e9tier en m\u00eame temps.<\/p>\n\n<p class=\"wp-block-paragraph\">Le budget ne doit pas retenir un seul nombre. Il doit pr\u00e9senter une fourchette, les hypoth\u00e8ses qui l\u2019expliquent et les \u00e9l\u00e9ments exclus, afin que l\u2019arbitrage puisse \u00eatre r\u00e9vis\u00e9 d\u00e8s les r\u00e9sultats du pilote.<\/p>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comment_executer_la_recette_apres_migration_sans_promettre_lidentite_des_chiffres\"><\/span>Comment ex\u00e9cuter la recette apr\u00e8s migration sans promettre l\u2019identit\u00e9 des chiffres<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s migration, le sujet n\u2019est pas de d\u00e9clarer que les chiffres sont identiques. Cette promesse est rarement tenable. Les mod\u00e8les changent, les p\u00e9riodes de chargement diff\u00e8rent, les arrondis \u00e9voluent et des r\u00e8gles auparavant implicites sont rendues explicites. La question correcte est de savoir si chaque \u00e9cart est compris, mesur\u00e9 et accept\u00e9 au regard de son usage.<\/p>\n\n<p class=\"wp-block-paragraph\">Le protocole commence par les contr\u00f4les de structure. Les tables attendues sont-elles charg\u00e9es, les dimensions sont-elles reli\u00e9es, les dates sont-elles disponibles, les comptes techniques correspondent-ils au p\u00e9rim\u00e8tre source ? Ces contr\u00f4les ne remplacent pas les tests m\u00e9tier, mais ils \u00e9vitent de perdre une journ\u00e9e \u00e0 discuter d\u2019un indicateur alors qu\u2019un flux n\u2019a pas termin\u00e9 son chargement.<\/p>\n\n<p class=\"wp-block-paragraph\">Viennent ensuite les contr\u00f4les de compl\u00e9tude. Le nombre de lignes, le nombre de cl\u00e9s distinctes et les volumes par p\u00e9riode doivent \u00eatre rapproch\u00e9s. Une diff\u00e9rence est enregistr\u00e9e comme anomalie d\u00e8s qu\u2019elle d\u00e9passe la tol\u00e9rance d\u00e9finie. La tol\u00e9rance doit \u00eatre adapt\u00e9e \u00e0 l\u2019indicateur. Pour un nombre de factures, l\u2019attente peut \u00eatre z\u00e9ro ligne manquante. Pour un montant issu d\u2019une conversion de devise ou d\u2019un arrondi, une tol\u00e9rance born\u00e9e peut \u00eatre n\u00e9cessaire.<\/p>\n\n<h3 class=\"wp-block-heading\">Qualifier un \u00e9cart plut\u00f4t que le masquer dans une r\u00e8gle de calcul<\/h3>\n\n<p class=\"wp-block-paragraph\">Chaque anomalie doit poss\u00e9der un identifiant, un rapport concern\u00e9, une p\u00e9riode, une valeur source, une valeur cible, un \u00e9cart absolu, un \u00e9cart relatif, une cause suppos\u00e9e, un responsable et une d\u00e9cision. Cette tra\u00e7abilit\u00e9 \u00e9vite les corrections locales dans un rapport, qui font dispara\u00eetre l\u2019\u00e9cart sans corriger le mod\u00e8le s\u00e9mantique ou le flux d\u2019int\u00e9gration.<\/p>\n\n<p class=\"wp-block-paragraph\">Un \u00e9cart de 0,4 % sur le chiffre d\u2019affaires peut para\u00eetre faible. Il ne l\u2019est pas s\u2019il provient d\u2019un filtre de statut client appliqu\u00e9 dans la condition d\u2019un objet source. Il faut tester la r\u00e9partition de cet \u00e9cart par entit\u00e9, statut, p\u00e9riode et canal. Si l\u2019ensemble de l\u2019\u00e9cart se concentre sur les clients inactifs, la cause est plus probable qu\u2019une erreur d\u2019arrondi.<\/p>\n\n<p class=\"wp-block-paragraph\">Les sc\u00e9narios m\u00e9tier compl\u00e8tent les comparaisons chiffr\u00e9es. Ils v\u00e9rifient qu\u2019une commande annul\u00e9e est trait\u00e9e selon la m\u00eame r\u00e8gle fonctionnelle, qu\u2019un avoir est rattach\u00e9 \u00e0 la bonne p\u00e9riode et qu\u2019un changement de hi\u00e9rarchie est visible dans le bon axe d\u2019analyse. Les sc\u00e9narios doivent \u00eatre ex\u00e9cut\u00e9s par les utilisateurs qui utilisent r\u00e9ellement les indicateurs, pas seulement par les \u00e9quipes techniques.<\/p>\n\n<p class=\"wp-block-paragraph\">Le mod\u00e8le d\u2019anomalie peut retenir trois statuts. Une anomalie bloquante interdit la bascule parce qu\u2019elle affecte un indicateur de cl\u00f4ture ou un p\u00e9rim\u00e8tre non ma\u00eetris\u00e9. Une anomalie accept\u00e9e est document\u00e9e et sign\u00e9e parce que le nouveau mod\u00e8le applique une r\u00e8gle volontairement diff\u00e9rente. Une anomalie diff\u00e9r\u00e9e est planifi\u00e9e avec une date, un responsable et un contournement explicite.<\/p>\n\n<p class=\"wp-block-paragraph\">Le double run est pertinent pour les rapports qui alimentent des d\u00e9cisions r\u00e9p\u00e9titives. Pendant une ou deux p\u00e9riodes de r\u00e9f\u00e9rence, l\u2019ancien et le nouveau socle sont ex\u00e9cut\u00e9s avec les m\u00eames param\u00e8tres et les r\u00e9sultats sont compar\u00e9s. Cette p\u00e9riode ne doit pas \u00eatre d\u00e9corative. Elle doit comporter un calendrier, des responsables, une liste d\u2019indicateurs et un seuil de d\u00e9cision.<\/p>\n\n<p class=\"wp-block-paragraph\">Les flux doivent \u00eatre contr\u00f4l\u00e9s \u00e0 la m\u00eame heure. Comparer \u00e0 8 heures une cible charg\u00e9e pendant la nuit \u00e0 une source rafra\u00eechie \u00e0 11 heures produit une anomalie artificielle. L\u2019horodatage de la donn\u00e9e fait partie du r\u00e9sultat. Il doit appara\u00eetre dans la feuille de recette et dans le rapport pr\u00e9sent\u00e9 aux d\u00e9cideurs.<\/p>\n\n<p class=\"wp-block-paragraph\">La bascule devient d\u00e9fendable lorsque les \u00e9carts critiques sont soit corrig\u00e9s, soit accept\u00e9s avec leur cause. Un total isol\u00e9 ne constitue jamais une preuve suffisante.<\/p>\n\n<figure class=\"is-provider-youtube is-type-video wp-block-embed wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"ENTREE EXPRESS 5 Erreurs \u00e0 \u00e9viter pour immigrer au Canada\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/_N5J2jcYnxs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quels_criteres_de_bascule_et_de_retour_arriere_inscrire_dans_le_protocole_de_migration_BI\"><\/span>Quels crit\u00e8res de bascule et de retour arri\u00e8re inscrire dans le protocole de migration BI<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n<p class=\"wp-block-paragraph\">La recette ne se termine pas quand les tests sont ex\u00e9cut\u00e9s. Elle se termine quand les crit\u00e8res de bascule sont revus avec les responsables qui assument l\u2019usage des chiffres. Un fichier d\u2019anomalies ferm\u00e9 administrativement alors que la finance conteste encore un indicateur ne s\u00e9curise rien. Il reporte le conflit au premier cycle de production.<\/p>\n\n<p class=\"wp-block-paragraph\">Les crit\u00e8res de bascule doivent \u00eatre \u00e9crits avant migration. Ils peuvent pr\u00e9voir l\u2019absence d\u2019anomalie bloquante, la validation des indicateurs critiques, la disponibilit\u00e9 des flux \u00e0 l\u2019heure attendue, la reprise des acc\u00e8s n\u00e9cessaires et la conservation des exports de r\u00e9f\u00e9rence. Ils doivent \u00e9galement d\u00e9finir ce qui se passe si l\u2019un de ces crit\u00e8res n\u2019est pas atteint.<\/p>\n\n<h3 class=\"wp-block-heading\">Pr\u00e9voir le traitement des erreurs avant qu\u2019elles ne deviennent urgentes<\/h3>\n\n<p class=\"wp-block-paragraph\">Le retour arri\u00e8re n\u2019implique pas toujours de remettre imm\u00e9diatement l\u2019ancien socle en service pour tous les utilisateurs. Selon le p\u00e9rim\u00e8tre, il peut consister \u00e0 maintenir un rapport source accessible, \u00e0 prolonger un double run ou \u00e0 restaurer une alimentation ant\u00e9rieure. Le choix d\u00e9pend des contraintes d\u2019exploitation et des d\u00e9pendances entre les rapports.<\/p>\n\n<p class=\"wp-block-paragraph\">Le protocole doit pr\u00e9ciser qui d\u00e9cide d\u2019un report, qui informe les utilisateurs, quel r\u00e9sultat fait foi pendant l\u2019incident et comment les corrections seront retest\u00e9es. Une anomalie sur un flux de nuit n\u2019a pas le m\u00eame traitement qu\u2019un calcul erron\u00e9 d\u00e9couvert dans un rapport de cl\u00f4ture. Dans les deux cas, l\u2019absence de d\u00e9cision pr\u00e9\u00e9crite allonge le d\u00e9lai de r\u00e9action.<\/p>\n\n<p class=\"wp-block-paragraph\">La communication aux m\u00e9tiers doit \u00eatre concr\u00e8te. Elle indique les rapports disponibles, ceux qui restent sur l\u2019ancien outil pendant une p\u00e9riode d\u00e9finie, les \u00e9carts connus et le canal de remont\u00e9e des anomalies. Annoncer une transformation sans expliquer quel chiffre devient la r\u00e9f\u00e9rence nourrit la m\u00e9fiance. Les utilisateurs ne demandent pas une formule g\u00e9n\u00e9rale ; ils demandent quel rapport utiliser lundi matin.<\/p>\n\n<p class=\"wp-block-paragraph\">Pour une migration depuis SAP BW, la recette doit aussi isoler les divergences entre mod\u00e8les et requ\u00eates. Une requ\u00eate BW peut inclure des variables, des restrictions et des formules qui ne se lisent pas directement dans le rapport consomm\u00e9. Le sujet d\u00e9passe la reprise visuelle. Il porte sur la continuit\u00e9 du calcul et du chargement, comme le montre l\u2019analyse consacr\u00e9e \u00e0 la migration <a href=\"https:\/\/acconsulting-france.fr\/blog\/sap-bw-vers-bw4hana\/\">de SAP BW vers BW\/4HANA<\/a>.<\/p>\n\n<p class=\"wp-block-paragraph\">Une d\u00e9cision de bascule peut \u00eatre formul\u00e9e selon trois issues. La premi\u00e8re autorise la mise en production, avec les anomalies accept\u00e9es consign\u00e9es. La deuxi\u00e8me limite la bascule \u00e0 une vague de rapports non critiques, le temps de corriger les indicateurs restants. La troisi\u00e8me reporte la bascule et maintient le socle source pour la p\u00e9riode n\u00e9cessaire. Cette derni\u00e8re option doit rester possible. Forcer une date alors que les \u00e9carts ne sont pas expliqu\u00e9s ne r\u00e9sout pas un risque, elle le transf\u00e8re aux utilisateurs.<\/p>\n\n<p class=\"wp-block-paragraph\">Le protocole doit enfin pr\u00e9voir un contr\u00f4le apr\u00e8s la premi\u00e8re ex\u00e9cution r\u00e9elle. Les volumes de chargement, les temps d\u2019actualisation, les erreurs de s\u00e9curit\u00e9 et les tickets utilisateurs doivent \u00eatre observ\u00e9s pendant la p\u00e9riode pr\u00e9vue. Une recette en environnement de test ne reproduit pas toujours les s\u00e9quences de planification, les droits effectifs ou les volumes de production.<\/p>\n\n<p class=\"wp-block-paragraph\">Avant d\u2019autoriser la bascule, sortez la liste des indicateurs critiques et exigez pour chacun une valeur source, une valeur cible, un \u00e9cart, une cause et une d\u00e9cision sign\u00e9e. Si une seule de ces colonnes manque, le processus de validation n\u2019est pas termin\u00e9.<\/p>\n\n\n<h3>Quelle diff\u00e9rence entre recette technique et recette m\u00e9tier dans une migration BI ?<\/h3>\n<p>La recette technique v\u00e9rifie les chargements, les mod\u00e8les, les droits et l\u2019ex\u00e9cution des rapports. La recette m\u00e9tier v\u00e9rifie que les r\u00e8gles de gestion, les indicateurs et les cas d\u2019usage restent recevables pour les \u00e9quipes qui prennent les d\u00e9cisions. Les deux validations sont n\u00e9cessaires avant bascule.<\/p>\n<h3>Faut-il exiger z\u00e9ro \u00e9cart entre l\u2019ancien et le nouveau socle d\u00e9cisionnel ?<\/h3>\n<p>Non. Certains \u00e9carts r\u00e9sultent d\u2019arrondis, de changements de mod\u00e8le, de p\u00e9riodes de chargement ou de corrections volontaires. Chaque diff\u00e9rence doit toutefois \u00eatre quantifi\u00e9e, expliqu\u00e9e, rattach\u00e9e \u00e0 une r\u00e8gle et accept\u00e9e par le propri\u00e9taire m\u00e9tier concern\u00e9.<\/p>\n<h3>Combien de temps pr\u00e9voir pour un double run ?<\/h3>\n<p>La dur\u00e9e d\u00e9pend du cycle m\u00e9tier couvert. Pour un rapport de pilotage hebdomadaire, deux \u00e0 quatre cycles peuvent suffire si les param\u00e8tres et les chargements sont compar\u00e9s \u00e0 heure fixe. Pour des indicateurs de cl\u00f4ture, le double run doit couvrir au moins un cycle repr\u00e9sentatif de cl\u00f4ture.<\/p>\n<h3>Quels rapports tester en priorit\u00e9 apr\u00e8s migration BI ?<\/h3>\n<p>Testez d\u2019abord les rapports de cl\u00f4ture, de facturation, de stock, de marge et de pilotage de direction. Ajoutez les documents planifi\u00e9s, les rapports alimentant d\u2019autres processus et ceux dont les calculs sont localis\u00e9s dans un univers, une requ\u00eate ou un mod\u00e8le s\u00e9mantique.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>La recette d\u2019une migration BI ne cherche pas \u00e0 d\u00e9montrer que le nouveau socle reproduira m\u00e9caniquement l\u2019ancien. Elle sert \u00e0 mesurer les \u00e9carts, \u00e0 retrouver leur origine et \u00e0 faire signer des crit\u00e8res d\u2019acceptation avant la bascule. Sans protocole avant migration et apr\u00e8s migration, le d\u00e9bat se d\u00e9place en production. En bref Ce protocole s\u2019adresse [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":114,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-91","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chantiers-de-migration"],"_links":{"self":[{"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/posts\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/comments?post=91"}],"version-history":[{"count":1,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/posts\/91\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/posts\/91\/revisions\/116"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/media\/114"}],"wp:attachment":[{"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/media?parent=91"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/categories?post=91"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/acconsulting-france.fr\/blog\/wp-json\/wp\/v2\/tags?post=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}