Qlik Community

Ask a Question

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
Support Cases coming to Qlik Community Oct. 4! Start chats, open cases, explore resources: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
kangaroomac
Partner
Partner

Create array from field values

Good Day,

Has anyone created a field with an array of values?

Below is script that demonstrates what I'm trying to achieve.

The desired output is for [Inner Table] to have the following:

Inner CodeInner Value
1A, B, C
2D, E, F
3G, H, I

[Data_Table]:
load * inline [
Code, Value
1, A
1, B
1, C
2, D
2, E
2, F
3, G
3, H
3, I
];


For Each x in FieldValueList('Code')

    Let vCurrentCode = $(x);
   
    [Outer Table]:
    LOAD
     '$(x)' as "Outer Code"
    AutoGenerate 1;
   
   
    For Each y in FieldValueList('Code')
    
        Let ConcatenatedValue = ConcatenatedValue & ' ' & Peek('Value',y,'Data_Table') & ',';

        [Inner Table]:
              LOAD
              '$(x)' as "Inner Code",
              '$(ConcatenatedValue)' AS "Inner Value"
        AutoGenerate 1
             Where
                   $(x) = $(vCurrentCode);
       
        Let content = Null;
       
    Next y
   
Next x

1 Solution

Accepted Solutions
PrashantSangle

Hi,

try below script

[Data_Table]:

load * inline [

Code, Value

1, A

1, B

1, C

2, D

2, E

2, F

3, G

3, H

3, I

];


Noconcatenate

Final:

Load Code,

Concat(Value,' ,') as InnerValue

Resident [Data_Value]

Group By Code;


Drop table [Data_Value];


Regards,

Great dreamer's dreams never fulfilled, they are always transcended.

View solution in original post

4 Replies
settu_periasamy
Master III
Master III

May be try this..

[Data_Table]:

load * inline [

Code, Value

1, A

1, B

1, C

2, D

2, E

2, F

3, G

3, H

3, I

];

NoConcatenate

New:

LOAD Code,Concat(Value,',') as Inner_Value Resident [Data_Table] Group by Code;

DROP Table [Data_Table];

PrashantSangle

Hi,

try below script

[Data_Table]:

load * inline [

Code, Value

1, A

1, B

1, C

2, D

2, E

2, F

3, G

3, H

3, I

];


Noconcatenate

Final:

Load Code,

Concat(Value,' ,') as InnerValue

Resident [Data_Value]

Group By Code;


Drop table [Data_Value];


Regards,

Great dreamer's dreams never fulfilled, they are always transcended.

View solution in original post

kangaroomac
Partner
Partner
Author

Thanks Max,

That solved it.