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 10 mois et 2 semaines.
-
AuteurArticles
-
21 novembre 2023 à 7 h 49 min #134762aurelien.caiez.caiezParticipant
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_FINJe 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
22 novembre 2023 à 0 h 14 min #134782Xavier AllartParticipantBonjour
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
22 novembre 2023 à 1 h 17 min #134784aurelien.caiez.caiezParticipantEffectivement, 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 🙂
22 novembre 2023 à 1 h 46 min #134785aurelien.caiez.caiezParticipantnb = 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
23 novembre 2023 à 2 h 23 min #134835Xavier AllartParticipantBonjour
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. -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.