Chemin opérationnel de PowerRange : déposer un fichier Excel dans le dossier partagé Upload, Flux Power Range PPC fait l’upsert Dataverse, puis le dataset publié se rafraîchit. Seul ce flux activé exécute cette chaîne. Flux Power Range est encore Brouillon.
Deux zones SharePoint comptent, et ce n’est pas le même métier. Upload alimente le flux. Le dossier parent …/Pepsico/ contient les référentiels que Power BI importe au même refresh (produits, enseignes, strates, objectifs, Nielsen). Déposer un fichier de listing ne met pas à jour ces référentiels.
| Étape | Acteur | Succès = |
|---|---|---|
| 1–2 | SharePoint + flux | Le fichier apparaît sous Upload ; une exécution démarre en moins de 5 minutes |
| 3–5 | Flux PPC | Chaque ligne Excel est créée / mise à jour dans Dataverse ; clone Carrefour Drive si PPC = Oui |
| 6 | Dataverse | PeriodKey du type 2026Q1, ScaKey / ScaKey13 renseignés, aucune écriture API nécessaire |
| 7–8 | Power BI | Le refresh du dataset réussit ; Saisie des accords affiche le nouveau grain de listing |
Le flux activé surveille le site DataLift_Ops, dossier /Documents partages/Pepsico/Upload, opération connecteur GetOnUpdatedFileItems, récurrence 5 minutes, une exécution à la fois. Il lit ensuite la table Excel Saisie_Accords du fichier déclencheur. Les métadonnées du flux nomment encore /Pepsico/Upload/Import.xlsx comme échantillon de conception ; tout fichier mis à jour dans ce dossier est la cible à l’exécution. La connexion Excel est liée au site TestPepsiCo même si le déclencheur est DataLift_Ops — l’identifiant du fichier vient du déclencheur.
Si le chemin SharePoint contient la sous-chaîne EIE, TypeChargement = EIE et le flux écrit strate_EIE. Sinon il écrit strate_LE (colonne Dataverse cr568_strate). Placez les fichiers Last Estimate dans un chemin sans EIE, et les fichiers EIE sous un dossier dont le chemin contient EIE.
| Colonne Excel | Écrit dans Dataverse | Notes |
|---|---|---|
| année | cr568_annee | Fait partie de la clé de rapprochement et de PeriodKey |
| ean | cr568_ean | Obligatoire. L’étape de màj LE lit aussi Ean (E majuscule) |
| date_accords | cr568_date_accords | Doit être Q1 ou Q3, pas une date calendaire |
| label_enseigne_niv1 | cr568_label_enseigne_niv1 | Enseigne. CARREFOUR HM / MARKET déclenchent le clone Drive |
| Présente en PPC | cr568_ppc | Oui (toute casse) clone aussi Drive pour Carrefour |
| strate_LE | cr568_strate | Uniquement si le chemin n’est pas EIE |
| strate_EIE | cr568_strate_eie | Uniquement si le chemin contient EIE |
Contrôle d’existence : année + ean + date_accords + label_enseigne_niv1, et is_duplicate eq 0 (flux PPC). C’est NegoKeyNew avec le flag doublon forcé à 0. Une seconde ligne physique avec is_duplicate = 1 n’est pas mise à jour par cet ingest.
| Après l’upsert, Dataverse contient | Reste vide sauf si l’app l’a écrit |
|---|---|
| ean, enseigne, année, Q, ppc, is_duplicate=0 | Lookup Produit, formule Categorie |
| strate_LE ou strate_EIE | strate_DEF, DN/DV DEF |
| PeriodKey, ProductKey, ScaKey, ScaKey13, RankStrateKey_LE | DNvaleur_LE, DVvaleur_LE |
| Clone Carrefour Drive si PPC = Oui | dates entrée/sortie, mouvement, commentaires |
CARREFOUR HM → ligne supplémentaire CRF HM DRIVE. CARREFOUR MARKET → CRF SM DRIVE. Uniquement si Présente en PPC vaut oui. Les autres enseignes Drive (LECLERC DRIVE, AUCHAN DRIVE, …) ne sont pas créées par ce flux.
Après le succès du foreach (jusqu’à 22 itérations en parallèle), la même exécution appelle RefreshDataset sur le workspace 653b685c-… / dataset 612ef347-…. Si une boucle de ligne échoue, l’étape de refresh ne s’exécute pas. RefreshPBI_PowerRange est un bouton PowerAppV2 distinct qui ne fait que ce refresh, sans ingest.
Le modèle est en import, pas en DirectQuery. Rien n’évolue à l’écran tant que le refresh du dataset lancé par le flux (ou le bouton de l’app) n’est pas terminé. Ensuite toutes les tables importées se rechargent, y compris Dataverse et les référentiels Excel dans …/Pepsico/ — pas seulement le fichier Upload.
| Surface | Attendu après refresh |
|---|---|
| Saisie des accords | Nouvelles lignes EAN × enseigne × trimestre pour is_duplicate = 0. Les mesures de titre qui comptent les enseignes du Bridge se mettent à jour si l’enseigne existe déjà dans Dim_Enseignes. |
| Objectif vs Négocié / GranAuto DN·DV | Le côté négo lit les colonnes LE/EIE/DEF. Si le chargement Excel n’a pas écrit DN/DV, ces KPI restent vides jusqu’à ce que la Power App les remplisse. Le côté Objectif vient toujours de Objectifs.xlsx, inchangé par Upload. |
| HeatMap / mouvement | Rank vs A-1 utilise Rank_Strates (Excel) et strate_LE. Visible seulement si strate_LE était dans le fichier et que RankStrateKey existe. |
| Pages Pilotage / Nielsen | Inchangées par un dépôt de listing. Elles lisent Fact_Nielsen, pas Upload. Elles se rafraîchissent aussi, mais seulement si Extract_Nielsen.xlsx a changé. |
| Slicer Z_Statut_Nego | LE lit toujours strate_LE / DN-DV LE. Un fichier EIE ne peuplera pas les chiffres Last Estimate. Passez le slicer sur EIE pour voir strate_EIE. |
La mesure Trigger Refresh = MAX(Z_Table_Refresh_Key[Value1]) ne recharge pas les données. C’est le RefreshDataset du flux qui le fait. La mesure est un « poke » pour les visuels après le chemin bouton Power App. Après Flux PPC, attendez que l’historique de refresh du dataset soit en succès, puis rouvrez ou rafraîchissez le rapport.
La plupart des pages filtrent via Bridge_PE_Annee (EAN × enseigne × PeriodKey depuis Liste EAN ⋈ Dim_Enseignes ⋈ Dim_Date). Un EAN tout nouveau absent de Referentiel_produits.xlsx, ou une enseigne absente de Referentiel_enseignes.xlsx, peut exister dans Dataverse et rester invisible sur les vues Objectif / HeatMap / Nielsen. Placez le produit et l’enseigne dans ces référentiels, puis rafraîchissez, si la ligne doit apparaître partout.
| Attente | Réalité |
|---|---|
| Déposer l’Excel Upload remplit DN/DV et les dates | Le flux n’écrit jamais cela. C’est la Power App manquante. |
| Nouveau référentiel produits dans Dataverse Produit | PBI ignore cette table. Maintenez Referentiel_produits.xlsx. |
| Poids / strates depuis enseignes_strates | PBI utilise Specification_Enseigne.xlsx. |
| Changement immédiat du rapport | Modèle import. Attendre le refresh du dataset après le foreach. |
| Mise à jour des lignes is_duplicate = 1 | PPC ne cherche que le flag 0. |
| Cloner toutes les enseignes Drive | Seulement CRF HM DRIVE et CRF SM DRIVE depuis Carrefour + PPC Oui. |
| Flux Power Range en prod | Il est Brouillon. PPC est l’ingest activé. |