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

Announcements
Discover how organizations are unlocking new revenue streams: Watch 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;