March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Bonjour à tous,
Je rencontre un problème dans Power BI avec une mesure DAX que j'essaie de créer, et j'apprécierais beaucoup votre aide pour le résoudre.
Objectif :
Mon objectif est de compter le nombre d'enregistrements dans ma table 'Requête1' où la colonne Passed est égale à "Yes" pour une date spécifique, qui est toujours 7 jours avant une date sélectionnée dans un slicer de mon rapport.
Structure de la Table :
La table 'Requête1' contient une colonne DATE (au format JOUR/MOIS/ANNEE sans composant de temps) et une colonne Passed qui peut prendre les valeurs "Yes" ou "No".
Problème :
J'ai créé une mesure pour calculer le nombre de "Yes" pour la date qui est 7 jours avant la date sélectionnée. Cependant, cette mesure ne retourne que des résultats vide.
Mesure Testée :
VAR PreviousDateYesCount =
VAR SelectedDate = SELECTEDVALUE('Requête1'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN CALCULATE(
COUNTROWS('Requête1'),
'Requête1'[Passed] = "Yes",
'Requête1'[DATE] = PreviousDate
)
Diagnostic :
J'ai vérifié que la colonne DATE n'inclut pas de composant de temps.
J'ai utilisé SELECTEDVALUE pour obtenir la date du slicer et soustrait 7 pour obtenir la PreviousDate.
Question :
Pourquoi cette mesure ne retourne-t-elle des valeurs que lorsque le slicer est réglé sur la date spécifique, et comment puis-je m'assurer qu'elle utilise la date codée en dur ou calculée plutôt que celle du slicer ?
Je suis ouvert à toutes suggestions ou corrections. Merci beaucoup pour votre aide !
Solved! Go to Solution.
J'ai finalement trouvé la solution :
VAR PreviousDateYesCount =
VAR SelectedDate = SELECTEDVALUE('Requête1'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN
CALCULATE(
COUNTROWS('Requête1'),
FILTER(
ALLEXCEPT('Requête1', 'Requête1'[Business Unit]),
'Requête1'[Date] = PreviousDate && 'Requête1'[Passed] = "Yes"
)
)
Hi @Tchapeto ,
Do you want the number of "yes" from the selected date in the slicer to the first 7 days of the selected date? If so, you can write the measure:
Measure =
VAR SelectedDate = SELECTEDVALUE('Table'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN
COUNTX(
FILTER(ALL('Table'),
'Table'[Passed] = "yes"&&'Table'[date] >= PreviousDate && 'Table'[date] <= SelectedDate),[date])
If this result still does not meet your expectation, please show the expected result in the form of a picture so that I can better help you solve the problem.
Best Regards,
Clara Gong
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hello,
Non je ne souhaite pas obtenir le nombre de "Yes" sur une période qui s'étend du jour sélectionné à 7 jours avant. Je souhaite obtenir le nombre de "Yes" à la date qui est 7 jours avant la date sélectionnée.
Par exemple, imaginons les informations suivantes :
Date | Nombre de "Yes" |
13/02 | 6 |
14/02 | 16 |
15/02 | 8 |
16/02 | 17 |
17/02 | 9 |
18/02 | 18 |
19/02 | 14 |
20/02 | 12 |
Si dans mon slicer, je selectionne la date du 20/02, je souhaite que ma variable PREVIOUSDATEYESCOUNT me retourne 6 (car 6 correspond au nombre de "Yes" pour le 13/02 qui est 7 jours avant la date sélectionnée (20/02)).
J'espère que cela est plus claire. Si ce n'est pas le cas, n'hésite pas à me dire comment je peux te fournir plus d'informations.
Merci à toi !
Hi @Tchapeto ,
You could try this expression.
Measure 2 =
VAR SelectedDate = SELECTEDVALUE('Table2'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN
CALCULATE(
COUNTROWS(Table2),FILTER(ALL(Table2),'Table2'[Date] = PreviousDate && 'Table2'[Passed] = "Yes"))
Best Regards,
Clara Gong
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Merci pour ta proposition ! J'ai l'impression que cela se rapproche de ce que je souhaite obtenir !
Ce que je n'ai pas précisé c'est que j'ai un autre slicer (je ne pensais pas que cela aurait un impact mais à première vu oui).
Mon autre slicer me permet de choisir une catégorie.
Actuellement, lorsque je sélectionne une date (par ex : 20/02) et que je ne choisis pas de catégorie en particulier, ma variable PreviousDateYesCount me retourne la bonne valeur (ex : 1087 (nombre de "Yes")). Cependant lorsque j'ajoute au premier filtre de date, le second filtre de catégorie, ma variable PreviousDateYesCount n'évolue pas dynamiquement et reste sur 1087.
Comment cela se fait-il que la variable s'adapte à mon slicer de date et pas à celui de la catégorie ?
Voici le code actuel de la variable
VAR PreviousDateYesCount =
VAR SelectedDate = SELECTEDVALUE('Requête1'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN
CALCULATE(
COUNTROWS('Requête1'),FILTER(ALL('Requête1'),'Requête1'[Date] = PreviousDate && 'Requête1'[Passed] = "Yes"))
J'ai finalement trouvé la solution :
VAR PreviousDateYesCount =
VAR SelectedDate = SELECTEDVALUE('Requête1'[DATE])
VAR PreviousDate = SelectedDate - 7
RETURN
CALCULATE(
COUNTROWS('Requête1'),
FILTER(
ALLEXCEPT('Requête1', 'Requête1'[Business Unit]),
'Requête1'[Date] = PreviousDate && 'Requête1'[Passed] = "Yes"
)
)
Hello v-kaiyue-msft,
Je m'excuse si mon explication n'a pas été assez claire. Ce que je souhaite c'est utiliser la date indiquée dans le slicer comme date de "référence", à laquelle je soustrais 7 jours afin d'obtenir le nombre de "Yes" de ma colonne "Passed" pour cette date (date de référence - 7 jours). De mon point de vue, je pense donc avoir besoin d'utiliser la fonction SELECTEDVALUE afin d'obtenir ma date "référence" depuis mon slicer.
Hello amitchandak,
J'ai tenté de copier ton code à la place du miens mais j'ai l'erreur suivante : Trop d'arguments ont été passés à la fonction FILTER. Le nombre maximal d'arguments de la fonction est 2.
Hi @Tchapeto ,
1.SELECTEDVALUE is used to retrieve values from the filter context, so the results returned by the metric are related to your choice of slicer. More information about slicers can be found in the documentation: Slicers in Power BI - Power BI | Microsoft Learn and more information about the SELECTEDVALUE function can be found in the documentation: SELECTEDVALUE function - DAX | Microsoft Learn.
2.To ignore the slicer's dates, select edit interactions in format and click the disable button for visual objects that you don't want to be filtered.
Because the fields in your visual object are the same as the slicer fields, the slicer is bound to affect the presentation of the visual object. You can also create a table of calculations unrelated to the original table to use as a slicer, and then use the measure to calculate the data in the original table will no longer be affected by the slicer.
If these suggestions didn't help you solve your problem, perhaps you can provide the pbix file to better help you solve your problem. It is also recommended that you change your language to English so that I can better understand your problem.
Best Regards,
Clara Gong
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@Tchapeto , Try like
VAR PreviousDateYesCount =
VAR SelectedDate = maxx(allselected('Requête1'),'Requête1' [DATE])
VAR PreviousDate = SelectedDate - 7
RETURN CALCULATE(
COUNTROWS('Requête1'), filter(all('Requête1'),
'Requête1'[Passed] = "Yes",
'Requête1'[DATE] = PreviousDate
) )
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
124 | |
89 | |
84 | |
70 | |
51 |
User | Count |
---|---|
206 | |
143 | |
97 | |
79 | |
68 |