Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
0li5a3a
Creator III
Creator III

fuzzy search and if condition

Hi all,

I would like to extract some data from different columns which are similar like the attached files.I think a fuzzy search can help me.

I think I can use If condition and I want to achieve something like below:

tabtest:

load

Request,

Description,

Resolution,

Template,

if(Request = 'UIT','UIT' or  IF(Description = 'UIT') or F(Resolution = 'UIT') or F(Template = 'UIT')  as UIT,

IF(if(Request = 'Fluidone','Fluidone' or  IF(Description = 'Fluidone') or F(Resolution = 'Fluidone') or F(Template = 'UIT')  as Fluidone,

.......

from test.qvd

The above is part from my table and I want to create 4 extra columns and the load script would look like this:

   

RequestDescriptionResolutionTemplateUITFluideoneEDMISensus
UIT| 123UIT| 123UIT| 123UIT| 123UIT---
1437123 UITABCDUITUIT---
ABBCCABCSDS UITCDDEDUIT---
ABCSDS UITBDEF UITUITABVCUIT---
12354ABCDEFG UIT4506UITUIT---
Fluidone| 123Fluidone 123Fluidone| 123Fluidone| 123-Fluidone--
1437123 FluidoneABCDFluidone-Fluidone--
ABBCCFluidoneABCSDSCDDED-Fluidone--
ABCSDS FluidoneBDEF FluidoneFluidoneABVC-Fluidone--
12354ABCDEFGFluidone 4506-Fluidone--
EDMI| 123EDMI|| 123| 123 EDMI|EDMI| 123--EDMI-
1437123 EDMI|ABCDEDMI|--EDMI-
ABBCCABCSDSEDMI|CDDED--EDMI-
ABCSDS EDMI|BDEF EDMI|ABVC--EDMI-
12354ABCDEFG EDMI4506EDMI|--EDMI-
Sensus abcabc Sensus abcabc Sensus---Sensus
asadSensus | abcsdascssc---Sensus
| abc| abcSensus abc---Sensus
SensusSensus | abcSensus abc---Sensus
eddaa| abc  SensussdaSensus---Sensus

Thanks in advance.

1 Solution

Accepted Solutions
effinty2112
Master
Master

Hi Constantin,

you could try:

Data:

Load*,

if(wildmatch(Request& Description & Resolution & Template,'*UIT*'), 'UIT') as UIT,

if(wildmatch(Request& Description & Resolution & Template,'*Fluideone*'), 'Fluideone') as Fluideone,

if(wildmatch(Request& Description & Resolution & Template,'*EDMI*'), 'EDMI') as EDMI,

if(wildmatch(Request& Description & Resolution & Template,'*Sensus*'), 'Sensus') as Sensus;

LOAD Request,

     Description,

     Resolution,

     Template

FROM

Test.xlsx

(ooxml, embedded labels, table is Sheet1);

Cheers

Andrew

View solution in original post

3 Replies
effinty2112
Master
Master

Hi Constantin,

you could try:

Data:

Load*,

if(wildmatch(Request& Description & Resolution & Template,'*UIT*'), 'UIT') as UIT,

if(wildmatch(Request& Description & Resolution & Template,'*Fluideone*'), 'Fluideone') as Fluideone,

if(wildmatch(Request& Description & Resolution & Template,'*EDMI*'), 'EDMI') as EDMI,

if(wildmatch(Request& Description & Resolution & Template,'*Sensus*'), 'Sensus') as Sensus;

LOAD Request,

     Description,

     Resolution,

     Template

FROM

Test.xlsx

(ooxml, embedded labels, table is Sheet1);

Cheers

Andrew

0li5a3a
Creator III
Creator III
Author

Thanks you Andrew.

effinty2112
Master
Master

Hi Constantin,

You're very Welcome!!