DAX : mesure DISTINCTCOUNT sans doublon autre colonne

Accueil – Le CFO masqué Forums Power BI DAX : mesure DISTINCTCOUNT sans doublon autre colonne

  • Ce sujet contient 3 réponses, 3 participants et a été mis à jour pour la dernière fois par Xavier Allart, le il y a 1 année et 2 mois.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #122526
    aurelien.caiez.caiez
    Participant

    Bonjour,

    Je rencontre un problème dont voici un exemple :

    id niveau
    234 1
    234 2
    456 2
    678 1
    678 2
    909 1

    Voici pour exemple ma table, j’aimerai faire une mesure qui me donne le nombre distinct d’id qui a en valeur niveau uniquement 1 (c’est à dire que si j’ai une ligne avec cet id mais avec le niveau 2, je ne le comptabilise pas).

    Ici le résultat serait donc

    Nombre niveau 1 : 1 (id 909)
    Nombre niveau 2 : 3 (id 234, 456 et 678)

    Merci par avance pour votre aide 🙂

    #122606
    Éric Ste-Croix
    Participant

    Bonjour,

    Considerant que la mesure a developper implique une dependance entre les lignes, je vous propose une autre facon d’approcher la situation:

    Dans l’étape de transformation de données (Code M), creer une colonne supplementaire dans votre table de données afin d’identifier le niveau le plus elevé et ce, pour chaque ID.
    Les principales étapes sont :
    Tri par ID
    Ajouts d’index (2) – base 0 et base 1
    Fusion de la table avec elle meme sur la base des index
    Identification des lignes ID comportant le plus haut niveau en comparant le ID ligne courante vs ligne precedente

    En DAX, creation d’une mesure ne considerant que les ID avec le plus haut niveau
    Nombre Niveau Methode =
    CALCULATE(COUNT(Fact_Table[NIVEAU]),Fact_Table[Niveau le plus eleve] = “True”)

    J’ai realise ces etapes dans le fichier joint

    En esperant que cela vous aidera

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    #123400

    Bonjour Éric Ste-Croix,

    Nickel, merci pour l’astuce 🙂 désolé pour le temps de retour.

    Cdt.

    #124059
    Xavier Allart
    Participant

    Bonjour
    Je voulais proposer (un peu tardivement) une autre solution. Mais je ne sais pas, au niveau mémoire temps de traitement, ce qui est préférable entre les 2 solutions. Si vous pouvez m’éclairer, Merci
    Dans l’étape de transformation de données (Code M),
    Créer une requête par référence à Fact_Table, nommer cette nouvelle NiveauMax
    Sur la requête NiveauMax utiliser la commande Transformer > Grouper par
    De base
    Grouper par ID
    Nouveau nom de la colonne : Niveau
    Opération : Max
    Colonne : NIVEAU

    Bonnes fetes
    Cordialement

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