Solved

# Combine table data into one line

• 2 replies
• 69 views

• Enthusiast
• 2 replies

Hi everbody,

I want to generate an integer parameter that contain whole data from the table in one line, where the values for the same row are sparated by “,” and values of each rows are separated by “|”.

Wish the final result looks like that:

“1, 2 | 3, 4 | 5, 5 | 6, 7 | 8, 9 | 12, 0”

Table:

 Location\XY Lan Long Place1 1 2 Place 2 3 4 Place 3 5 5 Place 4 6 7 Place 5 8 9 Place 6 12 0

The data is located in the parameter(cityID, XY). Where CityID corresponds to list of cities, and XY has two possible values “Lan” and “Long”.

Thank you for your help :)

Cheers,

icon

Best answer by Chris Kuip 31 August 2022, 07:26

View original

### 2 replies

Userlevel 5
+7

Hello,

The function fnc_strFromMat converts a matrix to a string according to the format you specified.  It is used as follows:

`sp_line := fnc_strFromMat( ip_dat(i_place, i_col) );`

After execution this statement, the value of sp_line:

`    sp_line := "1, 2 | 3, 4 | 5, 5 | 6, 7 | 8, 9 | 12, 0" ;`

The function fnc_strFromMat is implemented as follows:

Some remarks based on the above code:

• Lines 11-20: These lines describe the input argument p_mat, making it two dimensional. The sets s_rows, and s_cols are passed by reference.
• Line 21-23: A helper string parameter.
• Line 5-8: A string for each element in the matrix, including its separation from next.
If there is a next element in the row, then its separation from next is ", ”
If there is a next row, then its separation from next is " | ”

Please find the complete example in the attachment.

Hope this helps,

Chris

Thank you so much Chris!