Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowLearn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hello,
I have a column of dates (birthdays), and I want to create a histogram showing counts within an age range, for example
01-02
03-05
06-12
13-17
18-21
22-30
31-40
41-50
51-65
66-75
75 +
Ive tried using the Histogram visual, but this seems problematic as it does not allow me to standardize the age ranges as described above. Any ideas?
Solved! Go to Solution.
Oh yeah my bad, forgot that was illegal. How's:
CountDOB = COUNTROWS(FILTER(Sheet1, DATEDIFF(Sheet1[DOB], TODAY(), YEAR) >= MIN('HistAges'[AgeLowerBound]) && DATEDIFF(Sheet1[DOB], TODAY(), YEAR) <= MAX('HistAges'[AgeUpperBound'])))
One possible solution would be to make a second table (say, 'HistAges').
3 columns: Range Visual (formatted like you listed below, or however else you want), Lower Bound, Upper Bound.
Then you can make a Measure to count birthdays in each range. Maybe:
Count = CALCULATE(COUNTROWS('Table'), DATEDIFF('Table'[Date], TODAY(), YEAR) >= MIN('HistAges'[Lower Bound]), DATEDIFF('Table'[Date], TODAY(), YEAR) <= MAX('HistAges'[Upper Bound]))
You can then graph Range Visual against the measure to get your desired result. Too lazy to test, so sorry if there are syntax errors.
thanks @jahida,
I created the new table as described. And have the following measure...
CountDOB = CALCULATE(COUNTROWS(Sheet1), DATEDIFF(Sheet1[DOB], TODAY(), YEAR) >= MIN('HistAges'[AgeLowerBound]), DATEDIFF(Sheet1[DOB], TODAY(), YEAR) <= MAX('HistAges'[AgeUpperBound]))
Sheet1[DOB] = Birthday in date format
HistAges'[AgeLowerBound] = column within the new table for lower age boundry
'HistAges'[AgeUpperBound] = column within new table for upper age boundry
However the measure returns the following error. "A function 'MIN' has been used in a True/False expression that is used as a table filter expression. This is not allowed"
Any ideas? thanks in advance for your help.
Oh yeah my bad, forgot that was illegal. How's:
CountDOB = COUNTROWS(FILTER(Sheet1, DATEDIFF(Sheet1[DOB], TODAY(), YEAR) >= MIN('HistAges'[AgeLowerBound]) && DATEDIFF(Sheet1[DOB], TODAY(), YEAR) <= MAX('HistAges'[AgeUpperBound'])))
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 54 | |
| 47 | |
| 39 | |
| 16 | |
| 15 |
| User | Count |
|---|---|
| 83 | |
| 71 | |
| 39 | |
| 29 | |
| 27 |