Convert rows and columns in a category
Example
There is an Excel file country.xlsx, the data is as follows:
UK |
Data 1 |
Instruction 1 |
UK |
Data 2 |
Instruction 2 |
UK |
Data 3 |
Instruction 3 |
USA |
Data 4 |
Instruction 4 |
USA |
Data 5 |
Instruction 5 |
India |
Data 6 |
Instruction 6 |
UAE |
Data 7 |
Instruction 7 |
UAE |
Data 8 |
Instruction 8 |
Now we need to convert every column (column B, C) under each category (column A) except the category column into a row, the result is as follows:
UK |
Data 1 |
Data 2 |
Data 3 |
UK |
Instruction 1 |
Instruction 2 |
Instruction 3 |
USA |
Data 4 |
Data 5 |
|
USA |
Instruction 4 |
Instruction 5 |
|
India |
Data 6 |
||
India |
Instruction 6 |
||
UAE |
Data 7 |
Data 8 |
|
UAE |
Instruction 7 |
Instruction 8 |
Write SPL script:
A |
|
1 |
=file("country.xlsx").xlsimport@w() |
2 |
=A1.group@u(~(1)) |
3 |
=A2.(transpose(~.(~.to(2,)))) |
4 |
=A3.(~.(A2.(~(1)(1))(A3.#)|~)).conj() |
5 |
=file("result.xlsx").xlsexport@w(A4) |
A1 Read the excel file and read it as a sequence composed of sequences
A2 Group by the first column (country)
A3 Except for the country column, transpose in each group
A4 Put the country together and merge
A5 Export the result to result.xlsx
The above is the processing method of column to row, and the same is done when switching back (row to column).
SPL Official Website 👉 https://www.scudata.com
SPL Feedback and Help 👉 https://www.reddit.com/r/esProc_Desktop/
SPL Learning Material 👉 https://c.scudata.com
Discord 👉 https://discord.gg/cFTcUNs7
Youtube 👉 https://www.youtube.com/@esProcDesktop
Linkedin Group 👉 https://www.linkedin.com/groups/14419406/