# New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

Contributor II

Hi,

Temp:

temp

a

b

ccc

];

I want output:

temp

a

b

c

c

c

This should happen for every next value added in inline.

Can anyone suggest a solution for this. I tried using left() and keepchar() but my logic is not working out.

1 Solution

Accepted Solutions
New Contributor III

Hi,

Try this it is working fine.

new:

Load * ,len(temp) as length Inline [

temp

a

b

cc

xy

def

ghi

];

new1:

Resident new

where length >1;

//let vRowCount= peek('RowCount',-1,'new1') ;

//trace \$(vRowCount)

//for i=0 to \$(vRowCount)

let vlength= peek('length1',-1,'new1');

do while vlength>0

P:

Resident new1;

let vlength=vlength-1;

TRACE \$(vlength);

loop

TTTT:

Resident

new where length=1;

Resident P

where len(nee)=1

Order by nee ;

Drop Tables new,new1,P;

12 Replies
Esteemed Contributor

Did you try with mid() function?

Contributor II

yes, i tried that. but the main problem is that the rest of the value is not coming in next line.

Valued Contributor II

This works perfectly:

Temp:

temp

a

b

ccc

];

NoConcatenate

tmp:

,Len(temp) as Lenght

,RowNo() as Row

Resident Temp;

DROP Table Temp;

LET TotalRow = Peek('Row', -1, 'tmp');

FOR i = 1 to \$(TotalRow)

NoConcatenate

tmp2:

Resident tmp

Where Row = \$(i)

;

vLenght = Peek('Lenght');

vTemp = Peek('temp');

Data:

LOAD Mid('\$(vTemp)', '\$(vLenght)', 1) as NewTemp

,'\$(vTemp)' as Temp

,'\$(vLenght)' as Lenght

AutoGenerate \$(vLenght);

DROP Table tmp2;

NEXT i

DROP Table tmp;

exit script;

Valued Contributor II

Hi Ankusha,

Is there any seprater in actual value then you can use subfield or else

left and right function.

Thanks,

Arvind Patil

Contributor II

no there is no separator in the values so can't use subfield.

Using left and right just gives me single value, i want the rest of the string evaluated as per the logic in next line.

Contributor II

this is not actually working out . if i add new value as 'def' in Temp column . you can see the below output:

New Contributor III

Hi,

Try this code

new:

Load * ,len(temp) as length Inline [

temp

a

b

def

ghi

];

new1:

Resident new

where length >1;

//let vRowCount= peek('RowCount',-1,'new1') ;

//trace \$(vRowCount)

//for i=0 to \$(vRowCount)

let vlength= peek('length1',-1,'new1');

do while vlength>0

P:

Resident new1;

let vlength=vlength-1;

TRACE \$(vlength);

loop

TTTT:

Resident

new where length=1;

Resident P

Order by nee;

Drop Tables new,new1,P;

Valued Contributor II

But in some filed have 2 characters then its not work..

Thanks,

Arvind Patil

New Contributor III

Hi,

Try this it is working fine.

new:

Load * ,len(temp) as length Inline [

temp

a

b

cc

xy

def

ghi

];

new1:

Resident new

where length >1;

//let vRowCount= peek('RowCount',-1,'new1') ;

//trace \$(vRowCount)

//for i=0 to \$(vRowCount)

let vlength= peek('length1',-1,'new1');

do while vlength>0

P:

Resident new1;

let vlength=vlength-1;

TRACE \$(vlength);

loop

TTTT:

Resident

new where length=1;