Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
SteveCarter1
Advocate II
Advocate II

Best way to graph number of times a date appears in a column that is a list of dates?

Hi

 

Hoping someone has some creative thoughts that might help.

I have a WaitList table that has 2 columns: Client ID and 'Dates Waiting'. Dates Waiting is a colon separated list of dates.

I've copied sample data below.

I also have a separately  created date table, called MasterCalendar. It has a date column that is contiguous and spans the range of dates within the 'Dates Waiting' list.

If I create a line graph with X-Axis using the Date from the MasterCalendar, how could I create a measure to count the number of clients that have a matching date in the 'Dates Waiting' column?

I tried using M Query List expressions and was able to get the dates into a list then expand the list into new rows, then create a relationship between the MasterCalendar Date column and the expanded date column in the WaitList table. This was simple and worked fine as I just graphed the count of clients per date.

My problem is I have so many dates and clients that if I go back any further than about 6 months, the list expansion function blows out to 100's of billions of rows. On my desktop I stopped it after 2 days.  Uploading it to the PBI service, unsurprisingly, timed out after 2 hours, hence why I am looking for another way of approaching this problem.

ClientIdDates Waiting
9896183/08/2021:4/08/2021:5/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9890653/08/2021:4/08/2021:5/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9880574/08/2021:5/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9850895/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9897165/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9731895/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9897445/08/2021:6/08/2021:7/08/2021:8/08/2021:9/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
8690229/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9317009/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9357889/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
9731899/08/2021:10/08/2021:11/08/2021:12/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
98982112/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
98949212/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
98982812/08/2021:13/08/2021:14/08/2021:15/08/2021:16/08/2021:17/08/2021:18/08/2021:19/08/2021:20/08/2021:21/08/2021:22/08/2021:23/08/2021:24/08/2021:25/08/2021:26/08/2021:27/08/2021:28/08/2021:29/08/2021:30/08/2021:31/08/2021:1/09/2021:2/09/2021
1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@SteveCarter1 , Split by delimiter is the best way for this , as you can get dates to filter.

 

If you need only the total count of date -List.Count(Text.Split([Dates Waiting]))

 

Another way but that will work for one date at a time with same struture

 

Select a date from independent date slicer

 

measure =

var _dt = format(selectedvalue('date'[date]))

return

countrows(filter(Table, Search(_dt,[Dates Waiting],,0) >0))

 

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

2 REPLIES 2
amitchandak
Super User
Super User

@SteveCarter1 , Split by delimiter is the best way for this , as you can get dates to filter.

 

If you need only the total count of date -List.Count(Text.Split([Dates Waiting]))

 

Another way but that will work for one date at a time with same struture

 

Select a date from independent date slicer

 

measure =

var _dt = format(selectedvalue('date'[date]))

return

countrows(filter(Table, Search(_dt,[Dates Waiting],,0) >0))

 

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Hi Amit

As usual, thanks a lot!  Nice benefit there is I also don't need a date relationship for it to work, which owkrs very much in my favor.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.