Contexte de filtre sur les statuts et date de création

Étiquetté : , , ,

  • Contexte de filtre sur les statuts et date de création

    Posté par RANDRIATAHINA Charles sur 9 février 2024 à 15h12

    Bonjour,

    J’ai une table de fait “Fct_ITOP” comportant la liste des tickets Ouverts, résolus, fermés avec toutes les références nécéssaires. La dite table de fait est liée avec deux tables de Dim : Dim_Date, Dim_Statut.

    Les 3 statuts de tickets à analyser sont : tickets actives, Tickets résolus, Tickets fermés.

    Maintenant, j’ai créée les 3 mesures ( Actives, Résolus, Fermés). Je les ai representés dans les visuels “cards” pour les mettre en avant.

    Une fois affiché et que j’applique des filtres au niveau de date, les mesures prennent en compte uniquement les tickets ayant une date de début correspondant à la période séléctionné. Pourtant, j’aimerais afficher par exemple : les cumulés de Tickets qui sont toujours actives sans prendre en compte sa date de début. Car un ticket NON RESOLUS ou NON FERMES sur une période précédant la période séléctionnée devrait être compté comme étant toujours actifs.

    Voici ma formule, par exemple pour les tickets actifs:

    <pre class=”language-css”>#Tickets en cours = CALCULATE ( [Total des tickets], Fct_ITOP[Statut] ="Affectée" || Fct_ITOP[Statut] = "En attente" || Fct_ITOP[Statut] = "En Attente d'approbation
    " || Fct_ITOP[Statut] ="En attente jusqu'à une date" || Fct_ITOP[Statut] ="Assignée" || Fct_ITOP[Statut] ="Réaffectée")

    Quelqu’un pourrait me donner une idée par rapport au contexte de filtre que je devrais appliquer au DAX pour obtenir le bon résultat ?
    Merci.

    Jonathan a répondu Il y a 5 mois 3 Membres · 7 Réponses
  • 7 Réponses
  • David

    Membre
    9 février 2024 à 15h33

    Bonjour Charles,

    Je pense à quelque chose comme ça

    <pre class=”language-markup”>VAR __selectedDate = SELECTEDVALUE(Dim_Date[Date])
    VAR __filtre_Fct_ITOP = TREATAS (
    {
    "Affectée",
    "En attente",
    "En Attente d'approbation",
    "En attente jusqu'à une date",
    "Assignée",
    "Réaffectée"
    }, Fct_ITOP[Statut]
    )
    RETURN
    CALCULATE (
    [Total des tickets],
    __filtre_Fct_ITOP,
    Dim_Date[Date] < __selectedDate
    )

  • RANDRIATAHINA Charles

    Membre
    12 février 2024 à 10h40

    Bonjour David,

    Merci beaucoup pour ta réponse.
    J’ai testé la formule et j’ai obtenu le résultat suivant :

    Elle m’a malheureusement pas fournie le bon résultat

  • David

    Membre
    12 février 2024 à 10h55

    Bonjour Charles

    Aurais-tu la possibilité de mettre à disposition un fichier avec quelques données exemples ?

  • RANDRIATAHINA Charles

    Membre
    12 février 2024 à 12h08

    Bonjour David,

    Désolé je n’arrive pas à joindre un fichier pbix ici.

    En fait, j’ai essayé tout simplement aussi d’exclure tous les filtres sur mon calcul à l’exception du filtre sur l’équipe affectée comme suit:

    Test_Actifs = CALCULATE(COUNT(Fct_ITOP[Référence Demande]),ALLEXCEPT(Dim_Equipe,Dim_Equipe[Equipe affectée]))

    On me donne un résultat proche (13 au lieu de 14) : 13 est le nombre de tickets actifs en 2024 et 1 en 2023. Donc je n’arrive toujours pas à exclure le filtre sur l’année avec ma formule car je souhaite que tous les tickets actifs soient calculés de façon globale sans tenir compte de l’année mais garder uniquement le filtre sur l’équipe

    Merci

  • David

    Membre
    12 février 2024 à 13h55

    Regarde dans la requête suivante ce qui pourrait t’intéresser et ce que tu pourrais adapter à tes besoins et à ton modèle

  • RANDRIATAHINA Charles

    Membre
    13 février 2024 à 11h59

    Bonjour David,

    Merci beaucoup. J’ai pu m’inspirer de ta formule.

  • Jonathan

    Membre
    25 février 2024 à 19h20

    Bonjour,

    J’ai compris que vous aviez trouvé une solution.

    Juste une remarque concernant l’écriture de la formule du départ :

    #Tickets en cours = CALCULATE ( [Total des tickets], Fct_ITOP[Statut] =”Affectée” || Fct_ITOP[Statut] = “En attente” || Fct_ITOP[Statut] = “En Attente d’approbation
    ” || Fct_ITOP[Statut] =”En attente jusqu’à une date” || Fct_ITOP[Statut] =”Assignée” || Fct_ITOP[Statut] =”Réaffectée”)

    On peut simplifier largement et rendre plus lisible en utilisant l’opérateur IN :

    CALCULATE (
    [Total des tickets],
    Fct_ITOP[Statut] — On peut rajouter KEEPFILTERS ici si les filtres doivent être conservés KEEPFILTERS(Fct_ITOP[Statut]…)
    IN {
    “Affectée”,
    “En attente”,
    “En Attente d’approbation”,
    “En attente jusqu’à une date”,
    “Assignée”,
    “Réaffectée”
    }
    )
    👍

    • Cette réponse a été modifiée Il y a 5 mois par  Jonathan.

Connectez-vous pour répondre.