Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
kashjaniqlik
Contributor III
Contributor III

Qlikview WildMatch Function

Hello

I have a requirement to search for a word in a string and get a count of these words. The problem I'm facing is to find the exact word in a string that matches exactly as per my criteria.

For e.g let's assume I have below text in a column and I would like to only find "Conduct"

Column 1

Conducted

Conduct

Conduction

With below code, it will return all three rows and I someone need to find only second row (Conduct)

Filter:

Load
Column as Column1,
If (WildMatch(Column, '*conduct*') = 1,'Y','N') AS Conduct
Resident WildMatch

Thanks

1 Solution

Accepted Solutions
PrashantSangle

Hi,

Try with including spaces

try like

If(Wildmatch(Column,'* conduct *'),'Y','N')

Regards

Great dreamer's dreams never fulfilled, they are always transcended.
Please appreciate our Qlik community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

View solution in original post

6 Replies
PrashantSangle

Hi,

Dont use wild character like *

Try like

If(Wildmatch(Column,'conduct'),'Y','N')

or

if you need case sensative search then try with match()

like

If(Wildmatch(Column,'Conduct'),'Y','N')

Regards

Great dreamer's dreams never fulfilled, they are always transcended.
Please appreciate our Qlik community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂
kashjaniqlik
Contributor III
Contributor III
Author

Apologies, I should have mention this in my original thread.

The text is part of a larger text hence I will need to use the wildmatch as conduct is buried inside the long string.

This is the complete code. If I don't use WildMatch here then it won't find Conduct text

WildMatch:

Load * Inline
[
Column
Test conduct test1
test2 Conducted test3
test4 conduction test5
]
;

Filter:
Load
Column as Column1,
If (WildMatch(Column, 'conduct') = 1,'Y','N') AS Conduct

Resident WildMatch


rajeshvaswani77
Specialist III
Specialist III

You can use match function instead of wildmatch and without wild cards. The match function is however case sensitive.

thanks,

Rajesh Vaswani

PrashantSangle

Hi,

Try with including spaces

try like

If(Wildmatch(Column,'* conduct *'),'Y','N')

Regards

Great dreamer's dreams never fulfilled, they are always transcended.
Please appreciate our Qlik community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂
kashjaniqlik
Contributor III
Contributor III
Author

Great. Thanks very much Max.

I also find some text in my string starting & ending with conduct text and above solution will not pick up these strings but managed to work it out based on your solution so thanks anyway.

(WildMatch([Issue Title], '* conduct *') = 1 or WildMatch([Issue Title], 'conduct *') or WildMatch([Issue Title], '* conduct'),'Y','N') AS Conduct,


PrashantSangle

Hi,

One more advice there is no need to write multiple wildmatch()

You acheive it in on wildmatch() also

Try like

If(Wildmatch(Column,'* conduct *','conduct *','*conduct '),'Y','N')

Regards

Great dreamer's dreams never fulfilled, they are always transcended.
Please appreciate our Qlik community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂