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

need help in qlikview logic

I have field value called

 

IBM-CONTENT-NAVIGATOR
IBM-CONTENT-NAVIGATOR-CONT
IBM-CONTENT-NAVIGATOR-DEV
IBM-CONTENT-NAVIGATOR-UAT

 

I need the value like

IBM-CONTENT-NAVIGATOR

 

I have wriiten the logic in qlik as

UPPER(IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'CONT', SubField(Depedent_CI_NAME,'-CONT',1),
IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'DEV', SubField(Depedent_CI_NAME,'-DEV',1) ,
IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'UAT', SubField(Depedent_CI_NAME,'-UAT',1),Depedent_CI_NAME)))) as Depedent_CI_NAMES

I

I am not getting proper result

I am geeting like IBM

CAn anyone please help

 

 

 

8 Replies
qlikapple
Creator
Creator
Author

Can anyone please help
Frank_Hartmann
Master II
Master II

maybe this:

 

subfield(YOURFIELD,'-',1)&'-'&subfield(YOURFIELD,'-',2)&'-'&subfield(YOURFIELD,'-',3) as new_Field

 

sasiparupudi1
Master III
Master III

x:
Load
IF(SubStringCount(A,'-')=3,Left(A,Index(A,'-',3)-1),A) AS AA,
A;
Load * Inline
[
A
IBM-CONTENT-NAVIGATOR
IBM-CONTENT-NAVIGATOR-CONT
IBM-CONTENT-NAVIGATOR-DEV
IBM-CONTENT-NAVIGATOR-UAT
];

qlikapple
Creator
Creator
Author

It is working only for that particular value(IBM-CONTENT) only.

 i have thousands of fields in which -CONT will come last, i need to remove the last 4/3 letters which are ending with

-CONT,-DEV and -UAT .

i have thousands of names lke this

example1:

3DAYS-BPM-CONT     == i want to remove CONT here  

example2:

 

if 2FA-STRONG-AUTHENTICATION-HBFR-DEV id there i want to remove DEV  here

Can anyone please help.

 

 

i have written like this

UPPER(IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'CONT', SubField(Depedent_CI_NAME,'-CONT',1),
IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'DEV', SubField(Depedent_CI_NAME,'-DEV',1) ,
IF
(
SubField(Depedent_CI_NAME,'-',-1) = 'UAT', SubField(Depedent_CI_NAME,'-UAT',1),Depedent_CI_NAME)))) as Depedent_CI_NAMES

 

But

 

 

sasiparupudi1
Master III
Master III

May be try

x:
Load
If(Match(SubField(A,'-',-1),'DEV','CONT','UAT')>0,Left(A,Index(A,'-',-1)-1),A) As AA,
A;
Load * Inline
[
A
IBM-CONTENT-NAVIGATOR
IBM-CONTENT-NAVIGATOR-CONT
IBM-CONTENT-NAVIGATOR-DEV
IBM-CONTENT-NAVIGATOR-UAT
2FA-STRONG-AUTHENTICATION-HBFR-DEV
3DAYS-BPM-CONT
];

qlikapple
Creator
Creator
Author

HI

By my logic

=PICK( MATCH(SubField(UPPER(Depedent_CI_NAME),'-',-1), 'DEV', 'UAT','CONT'),
SubField(Depedent_CI_NAME,'-DEV'),
SubField(Depedent_CI_NAME,'-UAT'),
SubField(Depedent_CI_NAME,'-CONT'), Depedent_CI_NAME)

example:

ACCESS-CONTROL-CHECK-IN-SYSTEM-ITALY-CONT

 

i am getting the name  as ACCESS only

 

 why because it is taking ACCESS-CONTROL and here itslf it is taking as ACCESS

but i need as ACCESS-CONTROL-CHECK-IN-SYSTEM-ITALY

 

 

 

Navars
Creator
Creator

Hi try the below one, it will work

temp:

load * ,

if(Right(AA,5)='CONT1' , Replace (AA,'-CONT1',''),

if(Right(AA,3)='DEV', Replace(AA,'-DEV',''),

if(Right(AA,3)='UAT', Replace(AA,'-UAT',''),

AA))) as AAA

;

Load

if(Right(A,4)='CONT', A&'1',A) as AA ;

Load * Inline [

A

IBM-CONTENT-NAVIGATOR

IBM-CONTENT-NAVIGATOR-CONT

IBM-CONTENT-NAVIGATOR-DEV

IBM-CONTENT-NAVIGATOR-UAT

3DAYS-BPM-CONT

2FA-STRONG-AUTHENTICATION-HBFR-DEV

];

qlikapple
Creator
Creator
Author

hi sasi

thnks for help.