Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I'm having an issue where DAX for eiher Containsstring or Containsstringexact is returning partial matches. I know this is by design but I am wondering if there is a way to only match for specific word, not partial matches, or would I have to specifically omit the words I do not want captured?
As an example:
containstring (..., "Red Box") ||
containstring (..., "Green Box")
I would only want to show words that are either "Red Box" or "Green Box", but not "Large Red Box" or "Gold Plated Green Box".
Would I have to do something like this for each one I want to omit or is there a better DAX expression to only get requested results?
containstring (..., "Red Box") && NOT (containstring (..., "Large Red Box")) ||
containstring (..., "Green Box") && NOT (containstring (..., "Gold Plated Green Box"))
Solved! Go to Solution.
Thanks for bhanu_gautam's concern about this issue.
Hi, @SevsBo
Since you didn't provide me with some test data, I assumed some data myself for testing:
You can then create a Calculated column to determine the original name if it is Red Box or Green Box, and null if it is not:
ExactMatch =
IF (
([Product Name] = "Red Box") || ([Product Name] = "Green Box"),
[Product Name],
BLANK()
)
Then create a Measure:
ExactMatchMeasure =
COUNTAX (
FILTER (
'Table',
NOT(ISBLANK([ExactMatch]))
),
[ExactMatch]
)
Finally drag the created Measure to the Filters panel to filter the data:
I have attached the pbix file for this simple example below, I hope it helps.
I hope my suggestions give you good ideas, if you have any more questions, please clarify in a follow-up reply.
Best Regards,
Fen Ling,
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thanks for bhanu_gautam's concern about this issue.
Hi, @SevsBo
Since you didn't provide me with some test data, I assumed some data myself for testing:
You can then create a Calculated column to determine the original name if it is Red Box or Green Box, and null if it is not:
ExactMatch =
IF (
([Product Name] = "Red Box") || ([Product Name] = "Green Box"),
[Product Name],
BLANK()
)
Then create a Measure:
ExactMatchMeasure =
COUNTAX (
FILTER (
'Table',
NOT(ISBLANK([ExactMatch]))
),
[ExactMatch]
)
Finally drag the created Measure to the Filters panel to filter the data:
I have attached the pbix file for this simple example below, I hope it helps.
I hope my suggestions give you good ideas, if you have any more questions, please clarify in a follow-up reply.
Best Regards,
Fen Ling,
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@SevsBo , Try using
VAR RedBox = "Red Box"
VAR GreenBox = "Green Box"
RETURN
IF (
CONTAINSSTRING([YourColumn], RedBox) &&
(
LEFT([YourColumn], LEN(RedBox)) = RedBox &&
(LEN([YourColumn]) = LEN(RedBox) OR MID([YourColumn], LEN(RedBox) + 1, 1) = " ")
) ||
CONTAINSSTRING([YourColumn], GreenBox) &&
(
LEFT([YourColumn], LEN(GreenBox)) = GreenBox &&
(LEN([YourColumn]) = LEN(GreenBox) OR MID([YourColumn], LEN(GreenBox) + 1, 1) = " ")
),
TRUE,
FALSE
)
Proud to be a Super User! |
|
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
72 | |
70 | |
37 | |
29 | |
26 |
User | Count |
---|---|
91 | |
49 | |
44 | |
38 | |
37 |