Home – Le CFO masqué › Forums › Power BI › Comptabilisé un distinct count dans plusieurs colonnes d’un tableau (date)
- This topic has 4 replies, 2 voices, and was last updated 1 year, 4 months ago by
Xavier Allart.
-
AuthorPosts
-
21 November 2023 at 7 h 49 min #134762
aurelien.caiez.caiez
ParticipantBonjour,
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 November 2023 at 0 h 14 min #134782Xavier Allart
ParticipantBonjour
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 November 2023 at 1 h 17 min #134784aurelien.caiez.caiez
ParticipantEffectivement, 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 November 2023 at 1 h 46 min #134785aurelien.caiez.caiez
Participantnb = 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 November 2023 at 2 h 23 min #134835Xavier Allart
ParticipantBonjour
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. -
AuthorPosts
- You must be logged in to reply to this topic.