Club Power BI

Please login or click SIGN UP FOR FREE to create your PowerBIUG account to join this user group.
 View Only
  • 1.  retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Bonjour à tous ;)

    J'ai un tableau de valeurs au jour le jour, et je dois aller rechercher la qté dans un autre tableau, qui lui n'est pas renseigné chaque jour :

    Comment pourrais je retrouver la qté dans le tableau de gauche ?

    Merci



    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------


  • 2.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Bonjour Laurent,

    Est-ce une question relative à l'utilisation de Power BI ? Car c'est l'objet de ce forum.

    Maintenant pour répondre accessoirement à la question si cela concerne Excel, il faut utiliser la fonction RECHERCHEV. Voir ici.

    Bien à vous,

    ------------------------------
    Philippe Geiger
    Spécialiste certifié Microsoft BI (Azure Data) et directeur des activités
    Metsys Grand-Est, Strasbourg, France
    ------------------------------



  • 3.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Bonsoir Philippe,
    oui c'est bien une question pour Power BI en DAX, mais j'ai illustré dans Excel pour une meilleure compréhesion ;)

    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------



  • 4.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Laurent,

    Pouvez-vous être plus explicite quand à l'organisation de vos relations entre les tables et les besoins attendus.

    Par exemple, de simples jointures peuvent suffire dans certains cas. Sinon, avez-vous besoin d"une colonne calculée en DAX (alors pourquoi ne pas faire cela en M) ou une mesure ?

    Bien à vous,

    ------------------------------
    Philippe Geiger
    Spécialiste certifié Microsoft BI (Azure Data) et directeur des activités
    Metsys Grand-Est, Strasbourg, France
    ------------------------------



  • 5.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Philippe,
    j'aurais besoin d'avoir une colonne calculée (la colonne nommée Qté dans le tableau de gauche)
    Et ma relation entre les 2 tables se fait sur la date

    Je cherche à reproduire le comportement de la fonction RECHERCHEV en valeur proche mais en DAX

    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------



  • 6.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Laurent,

    Merci pour la précision.

    La première solution que je vois est de créer une relation inactive entre les deux tables qui contiennent les quantités et d'utiliser la fonction DAX, USERELATIONSHIP.

    Bien à vous,

    ------------------------------
    Philippe Geiger
    Spécialiste certifié Microsoft BI (Azure Data) et directeur des activités
    Metsys Grand-Est, Strasbourg, France
    ------------------------------



  • 7.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Merci pour votre retour, mais le seul élément commun entre ces 2 tables est la date, et j'ai bien toutes les dates dans ma table de gauche, mais je n'ai pas toutes les dates dans ma table de droite (d'où la difficulté)

    Je ne vois pas bien comment cette relation peut m'aider et l'utilisation avec CALCULATE(..., USERELATIONSHIP(...)) ?


    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------



  • 8.  RE: retrouver la qté la plus proche dans le temps

    Gold Contributor
    Posted 11 days ago
    Edited by David Gerard 11 days ago
    Bonjour @LAURENT SANCHEZ,

    Voici une solution M Power Query

    =
    Table.AddColumn(
        #"étape précédente",
        "Qté",
        each
            let
                currentRowDate = [Date],
                latestQuantities = Table.SelectRows(tableAvecLesQuantités, each ([Date] <= currentRowDate)),
                lastDate = List.Max(latestQuantities[Date])
            in
                try Table.SelectRows(latestQuantities, each [Date] = lastDate){0}[Qté]
                otherwise null
    )​

    Et une solution utilisant DAX colonne calculée

    Qté_dax =
    VAR _currentRowDate = TableLatestQuantities[Date]
    VAR _latestQuantities =
        FILTER (
            'tableAvecLesQuantités',
            'tableAvecLesQuantités'[Date] <= _currentRowDate
        )
    VAR _closestDate =
        MAXX ( _latestQuantities, [Date] )
    VAR _lastQuantity =
        MAXX ( FILTER ( _latestQuantities, [Date] = _closestDate ), [Qté] )
    RETURN
        _lastQuantity
    ​

    Au choix !
    Est-ce que cela correspond et vous convient ?

    ------------------------------
    David Gerard
    Power Platform Consultant
    ------------------------------



  • 9.  RE: retrouver la qté la plus proche dans le temps

    Posted 10 days ago
    Bonjour David,
    merci bcp pour ces 2 solutions en M et DAX qui fonctionnent très bien !

    J'ai entretemps trouvé une autre solution que voici :

    Qte =
    //Va rechercher la plus grande date qui est <= à la date de la ligne en cours
    VAR DateTrouvee = CALCULATE(MAX(tQte[Date]),FILTER(tQte,tQte[Date]<=tValeur[Date] && tQte[Produit]=tValeur[Produit]))
    RETURN
    //Va recherche la valeur qui correspond à la date trouvée précédemment
    CALCULATE(MAX(tQte[Qté]),fILTER(tQte,tQte[Date]=DateTrouvee && tQte[Produit]=tValeur[Produit]))


    ------------------------------
    LAURENT SANCHEZ
    Formateur Consultant
    laurent@sanchezconsultant.com
    LE HAVRE
    662527022
    ------------------------------



  • 10.  RE: retrouver la qté la plus proche dans le temps

    Posted 11 days ago
    Bonjour,

    une simple relation entre les 2 tables avec la bonne cardinalité et en double sens est suffisante.

    Sinon je vous recommande d'ajouter une table calendrier avec toutes les dates possibles et de mettre les bonnes relations.





    ------------------------------
    Mathieu BOYE
    Chef de projet
    ------------------------------