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

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Mattia
Creator II
Creator II

What's wrong in this script?

Hi Everyone,

the following expression give me only 1 result "AMB", while don't show me "LAB".

If([@4:9]=001880,'DIALISI', If(WildMatch([@10:17],'L*'),'LAB',  If(Len(Trim([@10:17]>0)), If([@4:9]=030357,'PS_AMB','AMB')))) as TIPO

Please, someone can help me?

Thanks,

Mattia

Labels (3)
2 Solutions

Accepted Solutions
sunny_talwar
MVP
MVP

May be try this

If([@4:9] = '001880', 'DIALISI',
	If(WildMatch([@10:17], 'L*'), 'LAB',
		If(Len(Trim([@10:17]))>0,
			If([@4:9] = '030357', 'PS_AMB', 'AMB')))) as TIPO

View solution in original post

sunny_talwar
MVP
MVP

Not sure why it doesn't work for you... but it seems to work for me... Sample script

Table:
LOAD *,
	 If(Field1 = '001880', 'DIALISI',
		If(WildMatch(Field2, 'L*'), 'LAB',
			If(Len(Trim(Field2))>0,
				If(Field1 = '030357', 'PS_AMB', 'AMB')))) as TIPO;
LOAD * INLINE [
    Field1, Field2
    001880, HSKJS
    193829, LHDSH
    001880, LDFHS
    030357, EHFSH
    030357, LDHFS
    030357,
];

Here Field1 = [@4:9] and Field2 = [@10:17]

and this is what I get

image.png

View solution in original post

6 Replies
sunny_talwar
MVP
MVP

May be try this

If([@4:9] = '001880', 'DIALISI',
	If(WildMatch([@10:17], 'L*'), 'LAB',
		If(Len(Trim([@10:17]))>0,
			If([@4:9] = '030357', 'PS_AMB', 'AMB')))) as TIPO
Mattia
Creator II
Creator II
Author

Hi Sunny,

unfortunately, the script don't run anyway.

Do you have another suggest?

Thank you so much,

Mattia

 

sunny_talwar
MVP
MVP

What error message do you get when you run this?

Mattia
Creator II
Creator II
Author

Excuse me Sunny, i misspoke.

The script runs but the value of the field "TIPO" is only "AMB", altough i've values in the table that match the expression: If(WildMatch([@10:17],'L*'),'LAB'

If can help you, if i hidd the last expression If(Len(Trim([@10:17]))>0, If([@4:9] = '030357', 'PS_AMB' , 'AMB', the value of the field "TIPO" is LAB.

sunny_talwar
MVP
MVP

Not sure why it doesn't work for you... but it seems to work for me... Sample script

Table:
LOAD *,
	 If(Field1 = '001880', 'DIALISI',
		If(WildMatch(Field2, 'L*'), 'LAB',
			If(Len(Trim(Field2))>0,
				If(Field1 = '030357', 'PS_AMB', 'AMB')))) as TIPO;
LOAD * INLINE [
    Field1, Field2
    001880, HSKJS
    193829, LHDSH
    001880, LDFHS
    030357, EHFSH
    030357, LDHFS
    030357,
];

Here Field1 = [@4:9] and Field2 = [@10:17]

and this is what I get

image.png

Mattia
Creator II
Creator II
Author

Sorry, Sunny.

It works perfectly.

Mattia