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: 
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