Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
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!!