Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
hello Dears,
Below table is my RAW Data. The number of Enrolled Users is increasing, while the number of Unenrolled Users is decreasing month by month.
| Location | Jan-24 | Feb-24 | Mar-24 | Apr-24 | May-24 | Jun-24 |
Enrolled Users | Country A | 28 | 31 | 58 | 61 | 68 | 73 |
Enrolled Users | Country B | 4 | 10 | 20 | 20 | 25 | 27 |
Unenrolled Users | Country A | 49 | 46 | 19 | 16 | 9 | 3 |
Unenrolled Users | Country B | 23 | 17 | 7 | 7 | 2 | 0 |
Total Users | Country A | 77 | 77 | 77 | 77 | 77 | 76 |
Total Users | Country B | 27 | 27 | 27 | 27 | 27 | 27 |
In PowerBI, I have added two visualization components: a slicer and a donut chart. What I want to achieve is:
When no month is selected in Slicer, that the number of Enrolled and Unenrolled users displayed in the donut chart is the same as the last month (currently June), rather than a sum of the past few months. (because the total users only 103)
now, i have no idea to adjust it, sincerely for your suggestions and assistance
Solved! Go to Solution.
Hi @Yaru
Based on the current data you show, you can also try this measure and use it in your donut chart visual. The logic to get the last month is through the _lastMonth variable which gets the last date in your table and convert it into yyyymm format.
UserCount Measure = var _lastMonth = FORMAT(MAX('Table'[Date]),"yyyymm") return IF(ISFILTERED('Table'[Date]),SUM('Table'[Users Counts]),CALCULATE(SUM('Table'[Users Counts]),FORMAT('Table'[Date],"yyyymm")=_lastMonth))
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
Transform121
you would want to use either ISFILTERED or HASONEVALUE (personally I would use ISFILTERED):
https://learn.microsoft.com/en-us/dax/isfiltered-function-dax
This is a quick throw together but your code will look something like this:
Users = // Gets the Start of Last Month VAR __MinDate = EOMONTH ( TODAY (), -2 ) + 1 // Gets the End of Last Month VAR __MaxDate = EOMONTH ( TODAY (), -1 ) // if Date is selected, Sums user counts. If no date selected, Returns Last Month's users count. RETURN IF ( ISFILTERED ( [Date] ), SUM ( [Users Counts] ), CALCULATE ( SUM ( [Users Counts] ), FILTER ( 'Trends', Date >= __MinDate && Date <= __MaxDate ) ) )
Hi @Yaru
Based on the current data you show, you can also try this measure and use it in your donut chart visual. The logic to get the last month is through the _lastMonth variable which gets the last date in your table and convert it into yyyymm format.
UserCount Measure = var _lastMonth = FORMAT(MAX('Table'[Date]),"yyyymm") return IF(ISFILTERED('Table'[Date]),SUM('Table'[Users Counts]),CALCULATE(SUM('Table'[Users Counts]),FORMAT('Table'[Date],"yyyymm")=_lastMonth))
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
76 | |
75 | |
55 | |
37 | |
33 |
User | Count |
---|---|
99 | |
56 | |
51 | |
44 | |
40 |