Power BI POWER BI: Comment calculer une mesure qui ressort l'ancienne date d'achat des entreprises tout en prenant en compte le déboulonnage

kondabalo

XLDnaute Nouveau
Bonjour,

J’ai un fichier Excel dans lequel on retrouve la date d'achat de plusieurs entreprises. On retrouve donc sur plusieurs lignes la mème entreprise avec différentes dates d'achat. Mon but est de pouvoir récupérer pour chaque entreprise la date la plus ancienne d'achat. J'ai réussi sur Excel mais mon but est de pouvoir le faire sur Power bi mais je n’y arrive pas.

Entreprisesdate d'achatCe que je cherche à obtenir (date la plus ancienne)
kilo
29/06/2022​
04/04/2018​
dalo
02/03/2019​
02/03/2019​
olivier group
10/11/2021​
09/08/2021​
fila sas
15/03/2020​
12/12/2019​
olivier group
05/06/2022​
09/08/2021​
olivier group
09/08/2021​
09/08/2021​
kilo
04/04/2018​
04/04/2018​
fila sas
12/12/2019​
12/12/2019​
dalo
01/01/2022​
02/03/2019​
dalo
25/02/2022​
02/03/2019​
dalo
12/09/2021​
02/03/2019​


Sur BI, j'ai essayé la fonction MINX ou MIN pour pouvoir récupérer l'ancienne date mais je ne sais pas comment filtrer en fonction des entreprises.
 

Danixdb

XLDnaute Nouveau
Bonjour,

J’ai un fichier Excel dans lequel on retrouve la date d'achat de plusieurs entreprises. On retrouve donc sur plusieurs lignes la mème entreprise avec différentes dates d'achat. Mon but est de pouvoir récupérer pour chaque entreprise la date la plus ancienne d'achat. J'ai réussi sur Excel mais mon but est de pouvoir le faire sur Power bi mais je n’y arrive pas.

Entreprisesdate d'achatCe que je cherche à obtenir (date la plus ancienne)
kilo
29/06/2022​
04/04/2018​
dalo
02/03/2019​
02/03/2019​
olivier group
10/11/2021​
09/08/2021​
fila sas
15/03/2020​
12/12/2019​
olivier group
05/06/2022​
09/08/2021​
olivier group
09/08/2021​
09/08/2021​
kilo
04/04/2018​
04/04/2018​
fila sas
12/12/2019​
12/12/2019​
dalo
01/01/2022​
02/03/2019​
dalo
25/02/2022​
02/03/2019​
dalo
12/09/2021​
02/03/2019​


Sur BI, j'ai essayé la fonction MINX ou MIN pour pouvoir récupérer l'ancienne date mais je ne sais pas comment filtrer en fonction des entreprises.
Bonjour kondabalo, Le Forum,
En reprenant vos données dans excel et en les important dans Power Query, et avec la requête suivante, j'obtiens le résultat escompté.
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Entreprises", type text}, {"date d'achat", type date}}),
    #"Lignes groupées" = Table.Group(#"Type modifié", {"Entreprises"}, {{"Date la plus ancienne", each List.Min([#"date d'achat"]), type nullable date}, {"AllData", each _, type table [Entreprises=nullable text, #"date d'achat"=nullable date]}}),
    #"AllData développé" = Table.ExpandTableColumn(#"Lignes groupées", "AllData", {"date d'achat"}, {"date d'achat"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"AllData développé",{"Entreprises", "date d'achat", "Date la plus ancienne"})
in
    #"Colonnes permutées"



En langage DAX, avec la mesure suivante, j'obtiens aussi le résultat escompté.
Code:
Date La Plus Ancienne:=CALCULATE(MIN([date d'achat]))

Si vous devez travailler avec des dates et vouloir utiliser les fonctions de Time Intelligence, je vous recommanderais l'utilisation d'une table de dates.

Attention, à ce que la date d'achat soit bien reconnue comme étant une date tant dans Power Query que dans Power BI (mesure).
En espérant que cela vous aidera.
 

kondabalo

XLDnaute Nouveau
Bonjour kondabalo, Le Forum,
En reprenant vos données dans excel et en les important dans Power Query, et avec la requête suivante, j'obtiens le résultat escompté.
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"Entreprises", type text}, {"date d'achat", type date}}),
    #"Lignes groupées" = Table.Group(#"Type modifié", {"Entreprises"}, {{"Date la plus ancienne", each List.Min([#"date d'achat"]), type nullable date}, {"AllData", each _, type table [Entreprises=nullable text, #"date d'achat"=nullable date]}}),
    #"AllData développé" = Table.ExpandTableColumn(#"Lignes groupées", "AllData", {"date d'achat"}, {"date d'achat"}),
    #"Colonnes permutées" = Table.ReorderColumns(#"AllData développé",{"Entreprises", "date d'achat", "Date la plus ancienne"})
in
    #"Colonnes permutées"



En langage DAX, avec la mesure suivante, j'obtiens aussi le résultat escompté.
Code:
Date La Plus Ancienne:=CALCULATE(MIN([date d'achat]))

Si vous devez travailler avec des dates et vouloir utiliser les fonctions de Time Intelligence, je vous recommanderais l'utilisation d'une table de dates.

Attention, à ce que la date d'achat soit bien reconnue comme étant une date tant dans Power Query que dans Power BI (mesure).
En espérant que cela vous aidera.
Bonjour Danixdb,
Merci pour votre intervention.

En effet je travail avec le langage Dax et c'est cette fonction "calculate(min())" que j'ai utilisé mais je n'ai pas le résultat escompté.

Cette fonction "min" me sort juste l'ancienne date de la colonne "date d'achat" mais pas en fonction de chaque entreprise.

J’ai voulu rajouter une fonction "filter" dans la fonction min mais je ne sais pas comment m'y prendre pour avoir le résultat en fonction de chaque entreprise individuellement.
 

chris

XLDnaute Barbatruc
Bonjour

Ne pas confondre PowerBI qui est une application distincte d'Excel et les composants Power, dont 2 sont communs aux 2 applications, POwerQuery et PowerPivot.

DAX appartient à PowerPivot dont la finalité est le TCD : si le TCD contient en étiquette de ligne l'entreprise, le MIN de la date d'achat portera bien sur l'entreprise et non l'ensemble. C'est le principe du contexte propre aux TCD

Peut aussi être fait par PowerQuery avec un regroupement par entreprise et opération MIN sur la date d'achat

Pas compris ce que tu entends par déboulonnage : pas vu de boulons...
 

Statistiques des forums

Discussions
311 725
Messages
2 081 945
Membres
101 849
dernier inscrit
florentMIG