Création d’un segment temporel (filtre)

Accueil – Le CFO masqué Forums Power BI Création d’un segment temporel (filtre)

  • Ce sujet contient 4 réponses, 3 participants et a été mis à jour pour la dernière fois par elie.50, le il y a 1 année.
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Articles
  • #131837
    elie.50
    Participant

    Bonjour,

    Je souhaiterais créer un filtre permettant de visualiser les trois derniers mois de performance.
    J’ai donc créer une table calendrier à côté de de mes différentes tables.

    Voici la formule que j’ai créé:

    3 Derniers Mois =
    VAR DateMax = MAX(‘calendrier'[calendrier])
    VAR DateMin = EOMONTH(DateMax, -3) + 1
    RETURN
    FILTER(‘calendrier’, ‘calendrier'[calendrier] >= DateMin && ‘calendrier'[calendrier] <= DateMax)

    Cependant j’ai un message d’erreur: “L’expression fait référence à plusieurs colonnes. Plusieurs colonnes ne peuvent pas être converties en valeur scalaire”.

    Mes dates sont sous le format suivant: janvier 2022; février 2022 etc.
    Je ne sais pas si le format peut venir de là.

    Je vous remercie par avance pour votre aide.
    Cordialement
    Elie HUCHET

    #132105
    Joel Gagnon
    Participant

    Bonjour Elie,

    Cette table de date par Radacad est de loin la meilleure que j’ai vu. Tu devrais la considérer.

    All in One: Script to Create Date Dimension in Power BI using Power Query

    Merci!
    Joël Gagnon

    #132164
    Xavier Allart
    Participant

    Bonjour

    L’erreur que vous rencontrez est due au fait que la colonne ‘calendrier'[calendrier] est de type tableau et qu’elle renvoie plusieurs valeurs, ce qui n’est pas compatible avec une comparaison directe dans le filtre. Pour résoudre ce problème, vous pouvez utiliser la fonction SUMMARIZE pour créer une table virtuelle qui contient les valeurs distinctes de la colonne ‘calendrier'[calendrier] et ensuite effectuer votre filtre sur cette nouvelle table. Voici comment vous pouvez le faire :

    3 Derniers Mois =
    VAR DateMax = MAX(‘calendrier'[calendrier])
    VAR DateMin = EOMONTH(DateMax, -3) + 1
    VAR DatesFiltrees =
    SUMMARIZE(
    ‘calendrier’,
    ‘calendrier'[calendrier],
    “DateFiltree”, IF(‘calendrier'[calendrier] >= DateMin && ‘calendrier'[calendrier] <= DateMax, ‘calendrier'[calendrier])
    )
    RETURN DatesFiltrees

    Dans cette formule, nous utilisons la fonction SUMMARIZE pour créer une nouvelle table virtuelle appelée DatesFiltrees. Cette table contient deux colonnes : ‘calendrier'[calendrier] (qui renvoie les dates distinctes de la colonne calendrier) et une colonne calculée “DateFiltree” qui ne contient que les dates incluses dans les trois derniers mois.

    Cordialement
    Xavier

    #132167
    elie.50
    Participant

    Merci pour votre réponse je vais regarder la solution que vous proposez!

    #132168
    elie.50
    Participant

    Bonjour,
    Tout d’abord merci pour votre réponse!
    J’ai cette erreur qui s’affiche s’avez-vous pourquoi?
    J’ai mis dans ma capture d’écran ma table date pour mieux visualiser le problème.
    Bonne journée à vous 🙂

    Attachments:
    You must be logged in to view attached files.
5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.