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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
realpixel
Creator
Creator

Find and Replace function

Hello,

I want to use a replace function to find and replace a value by another.

For example

[CUSTOMER]         

customer1

customer2

customer3

customer4

customer5

customer6

customer7

customer8

customer9

customer10

customer11

customer12

.

.

.

customer1,2 and 3 must be replaced by customer1

customer 4,5,6 must replaced by customer4

and

customer 7,8,9 must replaced by customer7

24 Replies
realpixel
Creator
Creator
Author

Ok I try to explain.

See under the result a part of result

[LIEU POS][TRANS][DATE MOV][DATE ENTREE][TOT CON]
TOT CONGETMA08/01/201310/12/2012
TOT CONJ-B-Z28/02/201319/02/2013
TOT CONJ-B-Z04/03/201319/02/2013
TOT CONSV-CON16/03/201304/03/2013TOT CON
TOT ET PGETMA05/03/201328/11/2012
TOT ET PJ-B-Z28/02/201319/02/2013
TOT ET PSV-CON07/01/201315/12/2012TOT CON
TOT ET PSV-CON08/01/201315/12/2012TOT CON
TOT ET P CONSV-CON02/01/201310/12/2012TOT CON
TOT ET P CONSV-CON04/01/201310/12/2012TOT CON
TOUTYSUPER 25/02/201316/02/2013
TOUTYSUPER 08/03/201326/02/2013
TOUTYSUPER 11/03/201325/02/2013

How to transfert or copy all data not concern by the scipt under from [LIEU POS] to [TOT CON]? For example [TOUTY] is not transfert, copy to [TOT CON], the field is blank.

Maybe it possible to add a function 'else' in a part of the script under?

LOAD [LIEU POS],

if(TRANS=peek(TRANS),Peek([TOT CON]),[LIEU POS]) as [TOT CON], // else other date not concern?

TRANS

Resident a order by [LIEU POS];         

DROP Table a; 

Not applicable

It should work (Perumal last example). It completes all TOT_CON column at my pc.

if(TRANS=peek(TRANS)    ,      Peek([TOT CON])       ,       [LIEU POS]) as [TOT CON]

if  ( condition             ,          true                 ,        else)

realpixel
Creator
Creator
Author

Maybe my previous message was not clear.

I want to obtain the result under.

[LIEU POS][TRANS][DATE MOV][DATE ENTREE][TOT CON]
TOT CONGETMA08/01/201310/12/2012TOT CON
TOT CONJ-B-Z28/02/201319/02/2013TOT CON
TOT CONJ-B-Z04/03/201319/02/2013TOT CON
TOT CONSV-CON16/03/201304/03/2013TOT CON
TOT ET PGETMA05/03/201328/11/2012TOT ET P
TOT ET PJ-B-Z28/02/201319/02/2013TOT ET P
TOT ET PSV-CON07/01/201315/12/2012TOT CON
TOT ET PSV-CON08/01/201315/12/2012TOT CON
TOT ET P CONSV-CON02/01/201310/12/2012TOT CON
TOT ET P CONSV-CON04/01/201310/12/2012TOT CON
TOUTYSUPER 25/02/201316/02/2013TOUTY
TOUTYSUPER 08/03/201326/02/2013TOUTY
TOUTYSUPER 11/03/201325/02/2013TOUTY
realpixel
Creator
Creator
Author

Sorry I did not see your message.

LOAD [LIEU POS],

if(TRANS=peek(TRANS),Peek([TOT CON]),[LIEU POS]) as [TOT CON],

if(condition,true,else),

TRANS

Resident a order by [LIEU POS];         

It's not work, 'condition not find.

realpixel
Creator
Creator
Author

It's work fine when the condition is true.

LOAD [LIEU POS],

if(TRANS=peek(TRANS),Peek([TOT CON]),[LIEU POS]) as [TOT CON],

TRANS

Resident a order by [LIEU POS];         

The problem is when the condition is false. The column [TOT CON] is empty.

[LIEU POS]      [TRANS]                                   [DATE MOV]     [DATE ENTREE]     [TOT CON]

TOUTY       SUPER 25/02/201316/02/2013
TOUTYSUPER 08/03/201326/02/2013
TOUTYSUPER 11/03/201325/02/2013
CELAMBARASAN
Partner - Champion
Partner - Champion

Hi,

Can you tell me this is the way you need?

If(IsNull([TOT CON]) OR len([TOT CON]), [LIEU POS], [TOT CON]) AS [TOT CON]

I think you need to get the information of [LIEU POS] column under [TOT CON] if [TOT CON] is empty.

am I right?

realpixel
Creator
Creator
Author

Hi,

Thank you for your reply, yes I need to have the information of [LIEU POS] column under [TOT CON] if condition [TRANS] is false.

a:

LOAD * INLINE [

    'LIEU POS','TRANS'

    'TOT CON','SV-CON'

    'TOT ET P','SV-CONGO'

    'TOT ET P CON','SV-CON'];

LOAD [LIEU POS],

if(TRANS=peek(TRANS),peek([TOT CON]),[LIEU POS]) as [TOT CON],

If(IsNull([TOT CON]) OR len([TOT CON]), [LIEU POS], [TOT CON]) AS [TOT CON],

TRANS

Resident a order by [LIEU POS];         

When I add

If(IsNull([TOT CON]) OR len([TOT CON]), [LIEU POS], [TOT CON]) AS [TOT CON],

Field <TOT CON> not find.

CELAMBARASAN
Partner - Champion
Partner - Champion

I misunderstood ur requirements.

Check with this

a:

LOAD * INLINE [

    'LIEU POS','TRANS'

    'TOT CON','SV-CON'

    'TOT ET P','SV-CONGO'

    'TOT ET P CON','SV-CON'];

TransMap:

Mapping Load

     TRANS,

     [LIEU POS]

Resident a;

TableName:

LOAD [LIEU POS],

TRANS,

Applymap('TransMap', TRANS) AS [TOTCON]

Resident a order by [LIEU POS];        

realpixel
Creator
Creator
Author

HI,

I need to do this

if  [CUSTOMER] = 'TOT ET P CON' or 'TOT ET P' and the condition [TRANS] = 'SV-CON' is true, column [TOT CON] = [TOT CON]

Now if condition [TRANS] is not egal (false) at 'SV-CON', for example equal at another value like GET, DL, SOCO or other, the value must be equal at the column [CUSTOMER] same value copied.

If I use this script.

a:

LOAD * INLINE [

    'LIEU POS','TRANS'

    'TOT CON','SV-CON'

    'TOT ET P','SV-CONGO'

    'TOT ET P CON','SV-CON'];

TransMap:

Mapping Load

     TRANS,

     [LIEU POS]

Resident a;

TableName:

LOAD [LIEU POS],

TRANS,

Applymap('TransMap', TRANS) AS [TOTCON]

Resident a order by [LIEU POS];        

The value 'TOT CON' is correctly remplaced but when the column [TRANS] is not equal at 'SV-CON' the column [TOT CON] is empty.

CUSTOMERTRANSTOT CON
TOT ET P CONSV-CONTOT CON
TOT ET P CONSV-CONTOT CON
TOT ET P CONSV-CONTOT CON
TOT CONGET
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOT ET PSV-CONTOT CON
TOTAL E ET PDL
TOTAL E ET PDL
TOTAL E ET PDL
UBIPHARMSOCO
UBIPHARMSOCO
TSANKOSITTRA
TSANKOSITTRA

If

CELAMBARASAN
Partner - Champion
Partner - Champion

Do you need TRANS in that place?

means

Applymap('TransMap', TRANS, TRANS) AS [TOTCON]

Regards,

Celambarasan