Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
Expand all | Collapse all

Récupération de la dernière dans une colonne de date

  • 1.  Récupération de la dernière dans une colonne de date

    Posted Aug 21, 2021 08:22 AM
    Bonjour à vous,
    Cela fait deux jours que je suis bloqué sur une mesure. Après plusieurs recherches infructueuses, j'ai décidé de solliciter votre généreuse assistance.

    Je vous explique mon objectif. A partir d'un dossier contenant les fichiers des exports journaliers (le nom de chaque fichier contient la date d'export) des anomalies de facturation, je souhaiterai faire le suivi du stock d'anomalie à la semaine et également faire la distribution de l'activité aux agents sur  le dernier fichier.

    Pour un début avec power query, après import du dossier, j'ai référencé la table pour ensuite filtrer la colonne date d'export en gardant que la dernière date cela marche bien et répond en partie à mon problème. Mais le problème j'ai deux tables maintenant, une grande avec tous les exports et une avec celle du dernier export. Ces deux tables n'ayant pas de lien entre elle lorsque j'essaie d'appliquer les filtres cela ne me permet pas d'avoir ce que je veux.

    J'ai opté pour une autre solution en gardant uniquement la garde table pour créer une mesure en DAX qui permettra d'avoir les données du dernier export dans un tableau. Pour cela, j'ai utilisé la formule suivante :
    Ano facture = calculate(count('Ano facture'[Réference Tâche]), Filter('Ano facture'[Date d'export] = max('Ano facture'[Date d'export])))
    le résultat m'envoie une table avec les données des autres jours alors que moi je veux seulement ceux de la dernière date en l'occurrence celle du 19/08/2021. Je constate de même que ça  me marque en total 35 qui est bien le nombre de ligne du dernier export. Je comprends ce qui ne marche pas dans ma mesure.

    la première image est celle que je souhaite avoir. je l'ai fait avec la première méthode (en référençant la grande table).
    La deuxième est celle qui ne marche pas comme je le souhaite.

    Je ne sais si j'ai été claire dans mes explications.
    En attendant vos propositions, je vous remercie

    ------------------------------
    Almamy Moustpaha TOURE
    51100
    ------------------------------


  • 2.  RE: Récupération de la dernière dans une colonne de date

    Top Contributor
    Posted Aug 22, 2021 04:55 AM
    Bonjour,

    Il manque un ALL ou ALLSELECTED dans le FILTER. Vous pouvez partager un fichier d'exemple pour que ce soit plus simple.

    La fonction FILTER est une fonction itérative, cela veut dire qu'elle fait des calculs ligne à ligne. Du coup, pour chaque ligne, avec votre formule, la MAX Date c'est simplement la date de la ligne.

    Bonne continuation.

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------



  • 3.  RE: Récupération de la dernière dans une colonne de date

    Posted Aug 22, 2021 12:31 PM
    Bonjour @Jonathan CHANAL,

    Merci pour la réponse. En faite, j'ai essayé avec le ALL et ALLSELECTED mais le résultat n'a pas été modifié.

    Je vous joint le fichier d'exemple ​pour voir si vous pouvez repérer le problème.

    Bonne réception!

    ------------------------------
    Almamy Moustpaha TOURE
    51100
    ------------------------------

    Attachment(s)

    csv
    donnée test.csv   503 KB 1 version
    pbix
    Projet test.pbix   181 KB 1 version


  • 4.  RE: Récupération de la dernière dans une colonne de date

    Top Contributor
    Posted Aug 22, 2021 02:09 PM
      |   view attached
    Bonjour,

    Je n'ai pas réussi à l'écrire en une seule mesure, dommage, alors j'en ai fait deux.

    Note importante : dès lors que l'on veut faire une analyse temporelle, il faut, à mon sens, une table des dates dans le modèle de données. Il faut également éviter au maximum les grandes tables à plat et privilégier les modèles dénormalisés en étoile.

    Bon courage pour la suite de votre projet.

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------

    Attachment(s)

    pbix
    Projet test.pbix   175 KB 1 version


  • 5.  RE: Récupération de la dernière dans une colonne de date

    Top Contributor
    Posted Aug 22, 2021 02:32 PM
    Edited by Jonathan CHANAL Aug 22, 2021 02:43 PM
      |   view attached
    En une seule mesure, ce sera mieux je pense :)

    Ano facture Jr = 
    VAR MaxDate = [MaxDateExport]
    VAR CountTaches =
        CALCULATE (
            [NB Tâches],
            FILTER (
                ALL ( 'Date' ),
                'Date'[Date] = MaxDate
            )
        )
    RETURN
        IF (
            ISFILTERED ( 'Ano facture'[ID] ),
            IF (
                MAX ( 'Date'[Date] ) = MaxDate,
                CountTaches
            ),
            CountTaches
        )


    Bonne continuation,

    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------

    Attachment(s)

    pbix
    Projet test V2.pbix   175 KB 1 version


  • 6.  RE: Récupération de la dernière dans une colonne de date

    Top Contributor
    Posted Aug 22, 2021 02:47 PM
    J'ai mis à jour la formule mais je ne peux pas modifier la pièce jointe. Je vous laisse modifier dans le PBIX :

    Ano facture Jr = 
    VAR MaxDate = [MaxDateExport]
    VAR CountTaches =
        CALCULATE (
            [NB Tâches],
            FILTER (
                ALL ( 'Date' ),
                'Date'[Date] = MaxDate
            )
        )
    RETURN
        IF (
            ISFILTERED ( 'Ano facture'[ID] ),
            IF (
                MAX ( 'Date'[Date] ) = MaxDate,
                CountTaches
            ),
            CountTaches
        )
    
    
    ​


    ------------------------------
    Jonathan CHANAL
    Chef de Projet Digital / Data Analyst
    MCSA Power BI & Excel
    ------------------------------