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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
twalsh0625
Advocate I
Advocate I

Finding Repeated values in a table, within a date range

I have a list of cases associated with customers. Basic customer support case info included. I would like a measure in the PBIX table that checks to see if that customer account appears again, with a Case Opened date within X days of the original Case Closed date. A simple BOOLEAN result works from there... What is the easiest way to calculate this?

1 ACCEPTED SOLUTION

This is quite a tricky problem.  I think it is best solved before you load the data rather than trying to solve it in Power BI using DAX.

 

I have a working solution for your here.  https://www.dropbox.com/s/51eicg5p2wo6sfu/repeat%20ticket.pbix?dl=1

 

I had to use a stack of Power Query tricks to so I could find the previous record for each cusotmer and compare the close date.  I think this needs a blog article to explain as there a lot in it.  Let me see what I can do for this Tuesday.  

Edit: this is now on my blog at http://exceleratorbi.com.au/use-power-query-compare-database-records/



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

View solution in original post

10 REPLIES 10
Nawaaz
Frequent Visitor

Thanks very much for this post and your helpful blog Matt. It reminds me, I need to continue following your book to learn DAX! All the best

It depends on your data. please post a sample of the data model/tables of data  so someone can help.  



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Ok, bear with me:

 

Case_ID   Customer    Open Date    Close Date

1234        ABC             5/1/17           5/2/17

4567        XYZ              5/9/17          5/12/17

8888        ABC             5/3/17           5/5/17

 

 

I would like to flag CASE_ID as a repeat issue because it is on Customer ABC with an open date that is within 7 days of the close date of another ABC case....

This is quite a tricky problem.  I think it is best solved before you load the data rather than trying to solve it in Power BI using DAX.

 

I have a working solution for your here.  https://www.dropbox.com/s/51eicg5p2wo6sfu/repeat%20ticket.pbix?dl=1

 

I had to use a stack of Power Query tricks to so I could find the previous record for each cusotmer and compare the close date.  I think this needs a blog article to explain as there a lot in it.  Let me see what I can do for this Tuesday.  

Edit: this is now on my blog at http://exceleratorbi.com.au/use-power-query-compare-database-records/



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.
Anonymous
Not applicable

Hello @MattAllington 

I'm so glad I found this.  It works!!!  I used this same logic on my data and it's amazing. 

 

I'm curious though - This seems to compare 1 Row to Previous 1 Row.    Is it possible to compare 1 Row to all previous rows with the same Customer ID?  For example  after sorting with Customer ABC -it compares case ID 1234 to 8888.  But if i Added another Case ID - lets say (9999) to Customer ABC how can I tell the logic to compare Case ID 9999 to Case 1234 as well as Case 8888? 

 

Case ID 9999, CustomerID: ABC Open Date:5/6/17 Closed Date: 5/6/17

 

 

Yes, my solution compares each record for a customer with the previous record.  I am not sure what else you could do.  if you had 10 records, which ones would you want to compare.  In theory there would be 10! (10 factorial, or 3.6 million) comparisons that were possbile. How would you visualise that, let alone act on that?



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.
Anonymous
Not applicable

Hi @MattAllington 

That's true and something I hadn't thought about! 🙂  You explained it perfectly.  My thought was along the lines of building in an 'trail' of repeats.  So I thought maybe if it could compare to each row it could provide that.

 

So I could add a custom column that says for "Repeat Case ID Pathway" and for Customer: ABC, Case ID 8888, 9999 would be in that cell.

I always like to come back to the problem and how you want to act on that.  If you just want to visualise the history, then just create a table in Power BI, add the relevant columns and put a filter on the customer.  That way you can see everything on the screen.  If you don't know which customer you want to look at, then how will you know?  Maybe you need a column that counts the number of historical interations, and then use that to determine which customer to investigate.  


My best advice...step back and think through the problem, unencumbered from what you think the solution is.  Once you are clear what the problem is, then rethink the best way to solve that problem with the tools you have.  Or share the problem (as opposed to your preceived solution) with others on the forum for their ideas.



* Matt is an 8 times Microsoft MVP (Power BI) and author of the Power BI Book Supercharge Power BI.

Holy crap did it work!

 

This data is going to be extremely helpful, thank you so much!!!!

I'm combing through this now, will let you know!

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.