Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
So my report is going to have a number of donut visuals. This donut visual will also have cards associated with it.
What I want to do is have the top left donut visual represent data related to the most recent date. The donut visual to the right of the top left donut would represent data related to the second most recent date, etc...
I'm really struggling on how to accomplish this. I thought to create an index column and then assign the first visual index 1, the second index 2, and etc...
This works, however, I would not be able to have filters on my report. If I had a filter, some visuals would be empty and such.
Does anyone have any ideas on how I could accomplish this type of report with filters on my report as well? I've racked my brain but am stumped.
You can use formulas to control that. In case you do not want slicer to control
Sales Today =
Var _date =DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY()))
return
CALCULATE(COUNT('Sales'[Sales Date]),'Date'[date]=_date)
Sales Yesterday =
Var _date =DATE(YEAR(TODAY()),MONTH(TODAY()),DAY(TODAY())-1)
return
CALCULATE(COUNT('Sales'[Sales Date]),'Date'[date]=_date)
Controlled by Slicer
Selected Date =
Var _date_sel = CALCULATE(maxx('Date'[Date]),dateadd('Date'[Date],-1,day)) //change this
return
CALCULATE(COUNT('Sales'[Sales Date]),'Date'[date]=_date_sel)
Appreciate your Kudos. In case, this is the solution you are looking for, mark it as the Solution. In case it does not help, please provide additional information and mark me with @
Thanks.
My Recent Blog - https://community.powerbi.com/t5/Community-Blog/Comparing-Data-Across-Date-Ranges/ba-p/823601
Thanks for the reply @amitchandak . I don't think I can use the formula route since the dates the visuals would be using can be completely random in the dataset. The most recent date could be 11/26, the second most recent 11/20, the third 11/19, the fourth 10/30, etc...
Also, from looking at the slicer option, that would just be adjusting the visual to whatever date you select in the slicer?
I need a way to rank my data, but dynamically if filters are involved.
Is there a way to create a dynamic table based on slicer selections. So then a new table would be dynamically created in memory and then a ranking could be derived from there?
HI @Anonymous .
Can you please share some dummy data with the same data structure and expected result for test? It is hard to coding formula without any detail records.
How to Get Your Question Answered Quickly
Regards,
Xiaoxin Sheng
@Anonymous Here is an example of my data and the result I am looking for:
So the visuals would be setup on my report, and when the user filters for Steve, the data relating to ID 203 would appear first, then in the next visual ID 302, and then ID 101. If Joe was filtered, the data relating to ID 321 would appear in the first visual, ID 1045, in the second, and ID 444 in the third visual.
I believe I need to create a dynamic rank and use it as a visual filter, however, I don't think I can use measures in a visual filter for a donut chart.
I was trying to see if there was a way to create a dynamic table based on a user's filter selection, and then have the ranking as a column on that dynamic table, but I don't believe you can pass a filter selection to a table.
I'm very stumped on this issue and I don't know if it's possible to do in Power BI?
Hi @Anonymous ,
Yes, current power bi does not support to create dynamic calculate column/table based on filters.
Notice: filters are works on data view level(visual level) generated from data model tables, they can't affect table records.
Regards,
Xiaoxin Sheng
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 37 | |
| 37 | |
| 33 | |
| 32 | |
| 29 |
| User | Count |
|---|---|
| 130 | |
| 88 | |
| 82 | |
| 68 | |
| 64 |