Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello Experts,
I am looking for a solution in which I have data in different columns and I want to get the data in different columns under one column.
PFA with the sample data on which I am currently working on.Name of the qvw is CommentryTest.
The output I am looking for is attached in excel. Name of the excel CommentryOutput.
Try this
Table:
CrossTable (Field, Value, 4)
LOAD RowNo() as RowNum, * INLINE [
Business, Place, Metrics, Theme1, Volume1, Theme2, Volume2, Theme3, Volume3, Rational1, Rational2, Rational3
Business1, Place1, Metric1, BA, 10, Clean, 20, Receipt, 30, Test1, Test2, Test3
Business1, Place1, Metric1, Clear, 5, BA, 10, Non Receipt, 20, Test4, Test5, Test6
Business2, Place2, Metric2, BA, 50, Clean, 10, Receipt, 60, Test7, Test8, Test9
Business2, Place2, Metric2, Clear, 20, BA, 30, Non Receipt, 30, Test10, Test11, Test12
];
tmpTable:
LOAD *,
PurgeChar(Field, '0123456789') as TruncField,
KeepChar(Field, '0123456789') as FieldNum
Resident Table;
DROP Table Table;
FinalTable:
LOAD Distinct
RowNum,
Business,
Place,
Metrics,
FieldNum
Resident tmpTable;
FOR i = 1 to FieldValueCount('TruncField')
LET vField = FieldValue('TruncField', $(i));
TRACE $(vField);
Left Join (FinalTable)
LOAD Distinct
RowNum,
Business,
Place,
Metrics,
FieldNum,
Value as [$(vField)1]
Resident tmpTable
Where TruncField = '$(vField)';
NEXT
DROP Table tmpTable;
Try this
Table:
CrossTable (Field, Value, 4)
LOAD RowNo() as RowNum, * INLINE [
Business, Place, Metrics, Theme1, Volume1, Theme2, Volume2, Theme3, Volume3, Rational1, Rational2, Rational3
Business1, Place1, Metric1, BA, 10, Clean, 20, Receipt, 30, Test1, Test2, Test3
Business1, Place1, Metric1, Clear, 5, BA, 10, Non Receipt, 20, Test4, Test5, Test6
Business2, Place2, Metric2, BA, 50, Clean, 10, Receipt, 60, Test7, Test8, Test9
Business2, Place2, Metric2, Clear, 20, BA, 30, Non Receipt, 30, Test10, Test11, Test12
];
tmpTable:
LOAD *,
PurgeChar(Field, '0123456789') as TruncField,
KeepChar(Field, '0123456789') as FieldNum
Resident Table;
DROP Table Table;
FinalTable:
LOAD Distinct
RowNum,
Business,
Place,
Metrics,
FieldNum
Resident tmpTable;
FOR i = 1 to FieldValueCount('TruncField')
LET vField = FieldValue('TruncField', $(i));
TRACE $(vField);
Left Join (FinalTable)
LOAD Distinct
RowNum,
Business,
Place,
Metrics,
FieldNum,
Value as [$(vField)1]
Resident tmpTable
Where TruncField = '$(vField)';
NEXT
DROP Table tmpTable;
Try the below script
Test:
LOAD *,RowNo() INLINE [
Business, Place, Metrics, Theme1, Volume1, Theme2, Volume2, Theme3, Volume3, Rational1, Rational2, Rational3
Business1, Place1, Metric1, BA, 10, Clean, 20, Receipt, 30, Test1, Test2, Test3
Business1, Place1, Metric1, Clear, 5, BA, 10, Non Receipt, 20, Test4, Test5, Test6
Business2, Place2, Metric2, BA, 50, Clean, 10, Receipt, 60, Test7, Test8, Test9
Business2, Place2, Metric2, Clear, 20, BA, 30, Non Receipt, 30, Test10, Test11, Test12
];
Temp:
Load
Business,
Place,
Metrics,
//Volume,
Theme1 as Theme,
Volume1 as Volume,
Rational1 as Rational
Resident Test;
concatenate (Temp)
Load
Business,
Place,
Metrics,
//Volume,
Theme2 as Theme,
Volume2 as Volume,
Rational2 as Rational Resident Test;
concatenate (Temp)
Load
Business,
Place,
Metrics,
//Volume,
Theme3 as Theme,
Volume3 as Volume,
Rational3 as Rational
Resident Test;
Drop Table Test;
Exit SCRIPT;