Comptabilisé un distinct count dans plusieurs colonnes d’un tableau (date)

Accueil – Le CFO masqué Forums Power BI Comptabilisé un distinct count dans plusieurs colonnes d’un tableau (date)

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

    Bonjour,

    Pour simplifier, j’ai 2 tables :
    – DATE : 1 colonne qui contient toutes les dates au format JJ/MM/AAAA : DATESELECT
    – CRENEAU – 3 colonnes : ID, DATE_DEBUT et DATE_FIN

    Je fais un simple tableau qui prends en abscisse le jour du mois (donc de 1 à 31) et en ordonnées le mois (donc de janvier à décembre)
    Dans ce tableau je vaux compter par un DISTINCT COUNT les ID qui sont dans le créneau de DATE_DEBUT et DATE_FIN. Par exemple si un un id va du 8/6/23 au 10/6/23, il me faut un 1 dans ces 3 cellules (ligne de juin et colonne 8, 9 et 10).

    J’ai tenté avec cette mesure :
    nb = CALCULATE(DISTINCTCOUNT(CRENEAU[ID]), CRENEAU[DATE_DEBUT]>=MIN(‘DATE'[DATESELECT]) && CRENEAU[DATE_FIN]>=MIN(‘DATE'[DATESELECT]))

    Cette mesure ne prends en compte que CRENEAU[DATE_DEBUT] et ne compte plus ensuite. J’ai testé plain d’autres choses mais toujours sans succès, si quelqu’un à une idée 🙂

    Merci

    #134782
    Xavier Allart
    Participant

    Bonjour

    est ce qu’il n’y a pas une erreur dans la formule ?
    CRENEAU[DATE_DEBUT]<=MIN(‘DATE'[DATESELECT]) au lieu de CRENEAU[DATE_DEBUT]>=MIN(‘DATE'[DATESELECT])

    DATESELECT doit etre supérieur ou égal à DATE_DEBUT et inferieur ou égal à DATE_FIN

    Cordialement

    #134784

    Effectivement, je me suis trompé en recopiant la mesure … mais le résultat n’est pas bon.

    J’ai testé avec celle ci :
    nb = CALCULATE(DISTINCTCOUNT(CRENEAU[ID]),DATESBETWEEN(‘DATE'[DATESELECT],MIN(CRENEAU[DATE_DEBUT]),MIN(CRENEAU[DATE_FIN])))

    Résultat toujours incohérent

    Merci pour votre aide 🙂

    #134785

    nb = CALCULATE(DISTINCTCOUNT(CRENEAU[ID]),DATESBETWEEN(‘DATE'[DATESELECT],MIN(CRENEAU[DATE_DEBUT]),MIN(CRENEAU[DATE_FIN])))

    Avec cette mesure, il me compte des 1 sur tous les jours même pour un ID allant du 8 au 11/11/2023.

    Je ne comprends pas

    #134835
    Xavier Allart
    Participant

    Bonjour

    Sans jeu d’essai, j’ai du inventer le mien. Peux etre pas le bon !!!!!
    Mais je viens de refaire des essais est je ne comprends pas l’erreur
    Le pbix contient 3 pages

    ————————————————————————
    Page 1
    Tables : CRENEAU, DATE
    nb = CALCULATE(DISTINCTCOUNT(CRENEAU[ID]), CRENEAU[DATE_DEBUT]<=MIN(‘DATE'[DATESELECT]) && CRENEAU[DATE_FIN]>=MIN(‘DATE'[DATESELECT]))

    ————————————————————————
    Les deux pages suivantes sont basées sur une table CRENEAU (2) avec une ligne par date
    let
    Source =
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“ID”, Int64.Type}, {“Debut”, type date}, {“Fin”, type date}}),
    #”Colonnes renommées” = Table.RenameColumns(#”Type modifié”,{{“Debut”, “DATE_DEBUT”}, {“Fin”, “DATE_FIN”}}),
    #”Personnalisée ajoutée” = Table.AddColumn(#”Colonnes renommées”, “ListeDates”, each {Number.From([DATE_DEBUT])..Number.From([DATE_FIN])}),
    #”ListeDates développé” = Table.ExpandListColumn(#”Personnalisée ajoutée”, “ListeDates”),
    #”Type modifié1″ = Table.TransformColumnTypes(#”ListeDates développé”,{{“ListeDates”, type date}}),
    #”Colonnes supprimées” = Table.RemoveColumns(#”Type modifié1″,{“DATE_DEBUT”, “DATE_FIN”})
    in
    #”Colonnes supprimées”

    ————————————————————————
    Page 2
    Tables : CRENEAU (2), DATE
    NB2 = CALCULATE(DISTINCTCOUNT(‘CRENEAU (2)'[ID]), ‘CRENEAU (2)'[ListeDates]=MIN(‘DATE'[DATESELECT]))

    ————————————————————————
    Page 3
    Table : CRENEAU (2)
    NB2 = DISTINCTCOUNT(‘CRENEAU (2)'[ID]))

    Cordialement

    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.