Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
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! |
|
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
72 | |
71 | |
57 | |
38 | |
36 |
User | Count |
---|---|
81 | |
67 | |
61 | |
46 | |
45 |