Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Transform data based on fixed values


Hi,

I have a table that I need to manipulate.

Table1:

Load * Inline [

Type, Value,

1, B,

2, B,

3, B,

33,B,

32,B,

31,B,

40,B,

41, B,

42, B,

45, B,

]  

I have another table which will serve as a basis for transforming T1.Value

Table2:

Load * Inline [

NewValue, Frequency,

K, 0.3

L, 0.3

M, 0.4

]

The New Table 3 should look like:

Table3:

Load * Inline [

Type, Value,

1, K,

2, K,

3, K,

33,L,

32,L,

31,L,

40,M,

41, M,

42, M,

45, M,

]

I am thinking of making selections based on record count, with the biggest value taking all remainder in order to avoid fractions.

Your thought on the matter is precious.

Kind regards,


Antoine

1 Solution

Accepted Solutions
CELAMBARASAN
Partner - Champion
Partner - Champion

Hope the attached file helps

Table1:

Load *, Rowno() AS Rows Inline [

Type, Value,

1, B,

2, B,

3, B,

33,B,

32,B,

31,B,

40,B,

41, B,

42, B,

45, B,

];

LET vRows = NoOfRows('Table1');

Table2:

Load * Inline [

NewValue, Frequency,

K, 0.3

L, 0.3

M, 0.4

];

Left Join(Table1)

LOAD

  NewValue,

  RowNo() AS Rows

While (IterNo()-1)/$(vRows) <= Frequency and RowNo()<$(vRows);

LOAD

  *

Resident Table2;

DROP Field Rows;

View solution in original post

2 Replies
CELAMBARASAN
Partner - Champion
Partner - Champion

Hope the attached file helps

Table1:

Load *, Rowno() AS Rows Inline [

Type, Value,

1, B,

2, B,

3, B,

33,B,

32,B,

31,B,

40,B,

41, B,

42, B,

45, B,

];

LET vRows = NoOfRows('Table1');

Table2:

Load * Inline [

NewValue, Frequency,

K, 0.3

L, 0.3

M, 0.4

];

Left Join(Table1)

LOAD

  NewValue,

  RowNo() AS Rows

While (IterNo()-1)/$(vRows) <= Frequency and RowNo()<$(vRows);

LOAD

  *

Resident Table2;

DROP Field Rows;

Anonymous
Not applicable
Author

Many thanks Celambarasan.

I removed the join and got exactly what I needed.

This is great