Forum Discussion
Matching a string to a partial string via a relationship
Hi,
Please could anyone advise if what I'm asking is technically possible in PowerBI, and the best approach to meet the requirement.
There are two tables:
1) Software Product which contains the field 'Product Name'
2) Software Order which contains the field 'Products'
I've created a relationship which matches the Products to the Product Name as shown.
| Products | Product Name |
| Product 7,Product 1 | |
| Product 1,Product 7,Product 8,Product 1,Product 6 | |
| Product 1,Product 7,Product 2 | |
| Product 1,Product 2 | |
| Product 1 | Product 1 |
| Product 2,Product 7,Product 8 | |
| Product 2,Product 1,Product 8 | |
| Product 2 | Product 2 |
| Product 3 | Product 3 |
| Product 4,Product 5,Product 6 | |
| Product 4 | Product 4 |
| Product 5,Product 4,Product 3,Product 1 | |
| Product 5,Product 4 | |
| Product 5,Product 6,Product 7,Product 3,Product 1 | |
| Product 2,Product 5,Product 3,Product 4 | |
| Product 5,Product 6 | |
| Product 5 | Product 5 |
| Product 6,Product 5,Product 1,Product 4 | |
| Product 6 | Product 6 |
When the fields are shown in a table within a report. As expected, only identical matches in both columns return a value in the 'Product Name' column.
My question is to ask if it's possible to create a relationship from the Software Product[Product Name] field to the Software Orders[Products] field where the Product Name is found within the Products.
That is, I would like to be able to click on a Product Name and filter which Orders that Product was contained within.
I'd prefer to do this via the creation of a relationship if possible.
Hope the question makes sense and thank you for any assistance.
Richard
- Anonymous6 years ago
Hi, I think the best way to solve this is to create an additional table in the model.
SoftwareOrderProducts
OrderID Product 1 Product 7 1 Product 7 2 Product 1 2 Product 7 2 Product 8 2 Product 6 Then you create relationships Order - SoftwareOrderProducts and SoftwareOrderProducts - ProductName.
The comma separated string of products coud be transformed to rows in Power Query.
Best Regards / Ulf
4 Replies
- Greg_DecklerCommunity Champion
I believe you would want to use SEARCH or FIND in a column.
- MahyarzRegular Visitor
Sorry, You really did Not get the question!
- AnonymousNot applicable
Hi, I think the best way to solve this is to create an additional table in the model.
SoftwareOrderProducts
OrderID Product 1 Product 7 1 Product 7 2 Product 1 2 Product 7 2 Product 8 2 Product 6 Then you create relationships Order - SoftwareOrderProducts and SoftwareOrderProducts - ProductName.
The comma separated string of products coud be transformed to rows in Power Query.
Best Regards / Ulf
- RichardJResponsive Resident
Anonymous and Greg_Deckler - Many thanks for the assistance.
Being able to use this approach of delimiting and splitting the columns into rows opens up lots of new possibilities for my use of Power BI.
I'm still relatively new to Power BI so if it helps anyone
@fhill suggestion here explains how to copy the required columns to a new table
https://community.powerbi.com/t5/Desktop/Copy-two-columns-to-a-new-table/td-p/215860@MACKnox suggestion explains how to split the columns into rows using a delimiter.
https://community.powerbi.com/t5/Desktop/Split-column-not-into-seperate-columns-but-in-rows/td-p/11194