IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Power BI Discussion :

DAX - Recherche valeur du jour précédent


Sujet :

Power BI

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mai 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut DAX - Recherche valeur du jour précédent
    Bonjour à tous,

    Mon premier message ici , merci à vous par avance de votre aide.
    Je recherche dans le tableau suivant à créer en DAX les colonnes "Valeur du dernier jour" et "ratio"
    En gros pour le 02 mai la valeur des pommes est de 41 et j'ai besoin de ramener la valeur des pommes du jour d'avant, soit 8, puis je calcul le ratio entre les 2.
    J'ai essayé avec LOOKUPVALUE et LASTDATE mais je sèche.
    Si vous avez une solution, sachant que le tableau complet fait 1300 ajout de ligne journalière.

    Nom : Calcul Dax.png
Affichages : 45
Taille : 9,6 Ko

    Merci à vous.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Responsable Achats Approvisionnements
    Inscrit en
    mai 2022
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable Achats Approvisionnements
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : mai 2022
    Messages : 19
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Je ne sais pas si vous avez une table date mais cela est nécessaire.
    il faudra créer 2 mesures
    La première
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Ventes jour precedent = 
    VAR activedate =
        MAX ( 'ajout col'[Jour] )
    VAR product =
        SELECTEDVALUE ( 'ajout col'[Qui] )
    VAR result =
        CALCULATE (
            MAX ( 'ajout col'[Valeur] ),
            'ajout col'[Qui] = product
                && 'ajout col'[Jour] < activedate
        )
    RETURN
        result
    La deuxième :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ratio = sum('ajout col'[Valeur])-[Ventes jour precedent]

    Voici le résultat trouvé chez moi

    Nom : Capture.PNG
Affichages : 30
Taille : 9,0 Ko

  3. #3
    Membre confirmé Avatar de Tippa
    Homme Profil pro
    Consultant Formateur en Business Intelligence
    Inscrit en
    mars 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Formateur en Business Intelligence
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2010
    Messages : 306
    Points : 544
    Points
    544
    Par défaut En Colonnes calculées
    Bonjour à tous les deux,

    Et si le besoin est de le faire avec une colonne calculée plutôt qu'une mesure cela donne :
    Si les dates sont toujours successives (de jour en jour sans discontinuité), on peut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Val  Jour Précédent Contigus = 
    VAR DateJrPrec = DATEADD( Datas[Date] , -1 , DAY )
    RETURN
    CALCULATE( MAX( [Valeur] ) , ALLEXCEPT( Datas , Datas[Prod] ) , Datas[Date]=DateJrPrec )
    et si les dates peuvent être dis contiguës (non successives), alors il faudra faire avec LASTDATE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Val Jour Précédent Dis Contigus = 
    VAR DateLigne=Datas[Date]
    VAR DatePrec = CALCULATE( LASTDATE( Datas[Date] ) , ALLEXCEPT( Datas , Datas[Prod] ) , Datas[Date]<DateLigne )
    RETURN
    CALCULATE( MAX( [Valeur] ) , ALLEXCEPT( Datas , Datas[Prod] ) , Datas[Date]=DatePrec )
    Datas étant le nom de la table et entre crochets les noms de colonnes.
    Dans les deux cas avec les formules de colonnes ci-dessus la table de dates ne sera pas nécessaire.

    par contre s'il y a d'autres besoin en Time Intelligence la table de dates est plus que fortement recommandée.
    Pour une table de dates voir la fonction CALENDARAUTO et FORMAT (pour les autres colonnes à créer)

    ou pour un modèle complet :
    https://www.developpez.net/forums/d2...m-num-sem-iso/

    Bonne formule
    ______________________
    Olivier
    Consultant Formateur BI
    SAP BI4 - Power BI

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mai 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mai 2022
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour à vous 2,

    Un grand merci pour vos retours.
    Je vais tester les 2 solutions

    Encore merci.

    Angel

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/09/2015, 13h41
  2. Réponses: 3
    Dernier message: 27/08/2010, 13h01
  3. [Tableaux] Recherche valeur dans tableaux
    Par Kaimann dans le forum Langage
    Réponses: 10
    Dernier message: 21/10/2005, 11h57
  4. recherche valeur maximale entre deux champs
    Par maysa dans le forum Langage SQL
    Réponses: 6
    Dernier message: 25/05/2005, 09h40
  5. Optimisation d'une recherche et mise à jour
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/01/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo