Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreShape the future of the Fabric Community! Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions. Take survey.
I am looking for a way to search a string for a specific name and count the number of accounts if there is a match
Account Name | Team Group |
Apple | Tim, Bill, Mike |
Microsoft | Tim, Steve, Allen |
IBM | Rich, Allen, Tim |
Sally, Rich |
Using the above I then leverage a separate list of non-concatenated Team Members to find out "how many Accounts does person X belong to?" Essentially I want to take the Team Member list below, search for each name within Team Member Group (I need this to be a variable; I cannot hard code the names as my list is much longer than this and can potentially change in the future) and then count the number of Accounts for where that person's name appears
My result would be
Team Member | Count of Accounts |
Bill | 1 |
Allen | 2 |
Rich | 2 |
Steve | 1 |
Mike | 1 |
Sally | 1 |
Tim | 3 |
This is not how you do it in PBI. The first table should be processed in Power Query, so that the associations are atomic, meaning each row should contain only one Account Name and one Team Member. It'll be a bridge table between Account Names and Team Members. Once you have this, it'll be dead easy to calculate what you want in DAX because it'll just be DISTINCTCOUNT( Bridge[Account Name] ).
Hmm, so the problem I have is that I am leveraging a data model. So I don't think I can use Power Query (please correct me if I am wrong here)
Well, if you've got a model that stores data like you've shown... it means the model is suboptimal. But can't you leverage a composite model? I bet you could...
I'd have to check, but my model is pretty locked down (purposely)
All you need is a query against your current model to get the first table and then using PQ to break it down into atoms just like I said above. Of course, you could work with the table above without atomizing it... but that could produce slow DAX. IF you want to go this route, then you could make use of the SEARCH function (https://dax.guide/search) in DAX. I strongly advise against it but it's up to you...
User | Count |
---|---|
25 | |
21 | |
20 | |
13 | |
13 |
User | Count |
---|---|
40 | |
28 | |
27 | |
23 | |
21 |