Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
cancel
Showing results for 
Search instead for 
Did you mean: 
gireesh1216
Creator III
Creator III

Need Help

Hello Team,

Need your help on below scenario.

I have two columns like column1 and column2.In column1 we have column2 data as well like (ABC,DEF).

I tried in qlikview  front end its working fine. Used wildmatch function()      ▼

=IF(WildMatch(Column1,'*ABC*')=1,'ABC',IF(WildMatch(Column1,'*def*')=1,'def'))

How to achieve this in backend qlikview script?

Coumn1Column2
Data-data-ABC-store,def-data--store1ABC
Data-ABC-data--storeABC
Data-data-ABC,Data-data-def-store2ABC
def-data--storedef
Data-data-def-storedef
Data-data-def-def,Data-ABC-data--storedef

Results:

Coumn1Column2
Data-data-ABCABC
Data-ABC-data--storeABC
Data-data-ABCABC
def-data--storedef
Data-data-def-storedef
Data-data-def-defdef
def-data--store1def
Data-data-def-store2def

11 Replies
tresesco
MVP
MVP

One solution, perhaps could be like:

Capture.JPG

Source:

Load

SubField(Column1, ',') as Column1,

Column2

Inline [

Column1| Column2

Data-data-ABC-store,def-data--store1| ABC

Data-ABC-data--store| ABC

Data-data-ABC,Data-data-def-store2| ABC

def-data--store| def

Data-data-def-store| def

Data-data-def-def,Data-ABC-data--store| def] (delimiter is '|');


Join (Source)

Load Distinct Column2 as Column3 Resident Source;


NoConcatenate


Final:

Load

Column1,

Column3 as Column2

Resident Source Where Index(Column1, Column3);

Drop table Source;

fabdulazeez
Partner - Creator III
Partner - Creator III

INPUT:

Load * Inline

[Column1, Column2

'Data-data-ABC-store,def-data--store1','ABC'

'Data-data-ABC,Data-data-def-store2', 'ABC'

'def-data--store', 'def'];

INPUT2:

Load

concat( chr(39) & '*'&Column2&'*' & chr(39) , ',') as input

Resident INPUT;

Let vInput= peek('input',-1,'INPUT2');

INPUT3:

Load

Column1,

WildMatch(Column1,$(vInput)) as test,

wildmatch( 'fex', 'ja*','fe?','mar') as test2

Resident INPUT;