Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
mario-sarkis
Creator II
Creator II

Field Transforamtion

hey all ,

my question is that I have a field like this : DORAUSD or DORALBP I need my output to be without USD or LBP in this case will be DORA below is my data:

   

INPUTSolution
AZMILBPAZMI
AZMIUSDAZMI
BABIDRISSLBP802BABIDRISS
BABIDRISSUSD801BABIDRISS
BDDLBPBDD
BDDUSDBDD
DORALBPDORA
DoraLBPDORA
DORAUSDDORA
DoraUSDDORA
FurnElChebbackUSDFURNELCHEBAK
HADATHLBPHADATH
HadathLBPHADATH
HADATHUSDHADATH
HadathUSDHADATH
JDEIDEHLBPJDEIDEH
JDEIDEHUSDJDEIDEH
KHALDEHLBPKHALDEH
KHALDEHUSDKHALDEH
NACCACHELBPKHALDEH
NaccacheLBPNACCACHE
NACCACHEUSNACCACHE
NaccacheUSNACCACHE
RAMLETELBAYDALBPRAMLETELBAYDA
RAMLETELBAYDAUSDRAMLETELBAYDA
SAIDAEASTLBPSAIDAEAST
SAIDAEASTUSDSAIDAEAST
SASSINEUSDSASSINE
TABARISLBPTABARIS
TABARISUSDTABARIS
ZALKALBPZALKA
ZALKAUSDZALKA
ZeidaniehLBPZEIDANIEH
ZeidaniehUSDZEIDANIEH
ZGHARTAEBLBPZHARTA
7 Replies
tresesco
MVP
MVP

Try like:

Upper(Replace(Replace(INPUT,'LBP',''),'USD','')) as OUTPUT

Edit: Upper() was missed

antoniotiman
Master III
Master III

You need add Upper(....) function

prieper
Master II
Master II

UPPER(REPLACE(Replace(Replace(INPUT,'LBP',''),'USD','', 'US', '')) as OUTPUT

to cover also the case of NaccacheUS


HTH Peter

prma7799
Master III
Master III

Hi Mario ,

Please try this

upper(PurgeChar(Replace(Replace(INPUT,'LBP',''),'USD',''),'8012'))  as NewField

Thanks

Frank_Hartmann
Master II
Master II

see attached qvw.

Replace(Replace(Replace(UPPER(KeepChar(REPLACE(Replace(Replace(INPUT,'LBP',''),'USD',''), 'US', ''),'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')),'BB','B'),'ZGH','ZH'),'AEB','A') as OUTPUT1,

PurgeChar(Replace(Replace(Replace(UPPER(REPLACE(Replace(Replace(INPUT,'LBP',''),'USD',''), 'US', '')),'BB','B'),'ZGH','ZH'),'AEB','A'),'8012') as OUTPUT2,

hope this helps

Anonymous
Not applicable

Hi Mario,

Try this:

Purgechar(Replace(Replace(UPPER(INPUT),'LBP',''),'USD',''),'0123456789')  as Solution

Purgechar deletes the numbers chars, and Replace change USD and LBP to empty string.

But, if you have on INPUT, for example, one name like SASUSDINEUSD, and you want SASUSDINE I think that it is better this:

LOAD

     *,

     IF(RIGHT(INPUT,3) = 'USD' OR RIGHT(INPUT,3)='LBP', LEFT(INPUT,LEN(INPUT)-3),

          IF(RIGHT(INPUT,2) = 'US' OR RIGHT(INPUT,2)='LB', LEFT(INPUT,LEN(INPUT)-2),

               INPUT))               as Solution

     //I have seen that on NACCACHE you wanna delete US, and I have added two chars option.

         

;

LOAD

     ...,

     UPPER(TRIM(INPUT))               as INPUT,

     ...,

FROM...;

DROP Field INPUT FROM YourTable;

Regards!!!

vinieme12
Champion III
Champion III

Try as below

load *,UPPER(subfield(subfield(SubField(INPUT,'USD',1),'US',1),'LBP',1)) as CLEANED inline [

INPUT,Solution

AZMILBP,AZMI

AZMIUSD,AZMI

BABIDRISSLBP802,BABIDRISS

BABIDRISSUSD801,BABIDRISS

BDDLBP,BDD

BDDUSD,BDD

DORALBP,DORA

DoraLBP,DORA

DORAUSD,DORA

DoraUSD,DORA

FurnElChebbackUSD,FURNELCHEBAK

HADATHLBP,HADATH

HadathLBP,HADATH

HADATHUSD,HADATH

HadathUSD,HADATH

JDEIDEHLBP,JDEIDEH

JDEIDEHUSD,JDEIDEH

KHALDEHLBP,KHALDEH

KHALDEHUSD,KHALDEH

NACCACHELBP,KHALDEH

NaccacheLBP,NACCACHE

NACCACHEUS,NACCACHE

NaccacheUS,NACCACHE

RAMLETELBAYDALBP,RAMLETELBAYDA

RAMLETELBAYDAUSD,RAMLETELBAYDA

SAIDAEASTLBP,SAIDAEAST

SAIDAEASTUSD,SAIDAEAST

SASSINEUSD,SASSINE

TABARISLBP,TABARIS

TABARISUSD,TABARIS

ZALKALBP,ZALKA

ZALKAUSD,ZALKA

ZeidaniehLBP,ZEIDANIEH

ZeidaniehUSD,ZEIDANIEH

ZGHARTAEBLBP,ZHARTA

];

Vineeth Pujari
If a post helps to resolve your issue, please accept it as a Solution.