Power BI - avoir le montant du dernier fichier source
Bonjour à toutes et à tous,
Voici le contexte :
Je souhaite comparer le CA produit vs le CA facturé.
Le "CA produit" vient de plusieurs fichier rempli par le service logistique. Dans le dossier source, on peut retrouver les fichiers nommés ainsi : 2025_05 PlanFab; 2025_06 PlanFab; etc...
Dans chaque fichier, nous avons des données date pour le mois M mais également M+1. Exemple pour le fichier 2025_05 PlanFab je vais avoir des dates entre le 01/05/25 et 31/05/25 mais également des dates telles que 01/06/25 ou 17/06/25.
Ainsi, dans mon rapport, quand je filtre sur le mois de juin, j'aurai les données des fichiers 2025_05 PlanFab et 2025_06 PlanFab. Néanmoins, lors du filtre sur le mois de juin, je souhaite seulement les données du fichier 2025_06 PlanFab. J'ai tenté avec la formule FILTER mais en vain...
Pour vous aider à comprendre un peu mieux le sujet, j'ai tenté de retranscrire ma demande dans le fichier Excel ci-joint.
Par avance, je vous remercie.
Cordialement
Théo
Hello,
Pour moi tu dois gérer ça avec PowerQuery. Dans chaque fichier que tu vas lire il va falloir borner. Exemple, sur base du nom du fichier tu peux déterminer une date de début et date de fin de période. Ensuite il faut filtrer les lignes que tu récupères par fichier et le tour est joué.
J’essaie de te faire un truc demain si quelqu’un n’a pas répondu avant
@+
Hello BAROUTE78,
Ton indication m'a bien aidé.
Voici comment j'ai procédé.
Power Query
Dans ma table j'ai récupéré l'année + mois de mes fichiers sources (Ex: 2025_06). J'ai extrait le mois de cette colonne et renommé "mois source".
Ensuite, dans cette même table, j'ai récupéré le mois de ma date de fin OF (Ex : 01/06/2025 transformé en 6). Nommé "mois fin OF".
Pour finir, j'ai créé une colonne "vérif" qui permet de me dire si "mois source" = "mois fin OF" alors 1 sinon 0
Power BI Dekstop :
Au niveau DAX, j'ai seulement fait un calculate de ma prod réel avec pour filtre "verif = 1"
Mes tests sont "ok".
Je pense qu'il est possible de faire quelque chose de moins lourd, peut être seulement en DAX, mais je dois encore apprendre
Bonne journée à tous !
Hello,
Merci pour le retour. Plus tu peux alléger ton modèle via des traitements PowerQuery et mieux ce sera en terme de vélocité dans le rapport et maintenabilité. T'auras pas des énormes formules DAX à comprendre 6 mois après juste un peu de PowerQuery plutôt basique
@+
Hello JB_,
Merci beaucoup pour cette proposition DAX.
J'ai réussi à trouver une solution via Power Query mais je vais tout de même essayer la formule DAX. Ca va me permettre de travailler ce langage...
Peux tu m'expliquer l'utilité de VALUE et RIGHT. Aussi quelle est la différence entre FILTER & CALCULATE ?
Merci pour aide.
Théo
RE,
On commence par extraire les deux derniers caractères de chaque valeur de la colonne Source à l’aide de la fonction RIGHT.
Ensuite, on convertit cette chaîne de caractères en nombre avec la fonction VALUE.
Ces opérations sont intégrées dans la fonction FILTER, qui permet de construire une table filtrée contenant uniquement les lignes où la colonne Source se termine par, par exemple, "06" (pour juin).
Cela crée une table virtuelle contenant uniquement les données correspondant au mois sélectionné, comme "2025_06" dans la colonne Source.
Ce qui donne :
Cette table est donc le résultat de cette partie de la formule :
FILTER('Tableau1',VALUE(RIGHT('Tableau1'[Source],2)) = num_mois)On utilise enfin CALCULATE pour faire la somme de Prod.
num_mois est une variable qui permet d'avoir le n° du mois sélectionné (si on sélectionne Juin, le résultat cette variable sera 6).
Il faut retenir que FILTER renvoie une table filtrée selon une condition, souvent utilisée à l’intérieur d’autres fonctions et que CALCULATE modifie le contexte de filtre pour évaluer une expression dans un cadre spécifique, et retourne une valeur unique (comme une somme par exemple = 338 ici).
