Agrupar una matriz en Powerbuilder

Necesito agrupar una matriz de filas, columnas y valor, esto es lo que tengo hasta ahora:

Pero necesito verlo de esta manera:

Aqui el script que realice:

long b,c
string ls_resultado, ls_resultado_cab, ls_resultado_det, ls_separador
ls_separador = "|"
//creamos estructuras para almacenar los datos
s_fichas str_filas[], str_columnas[]
str_filas[1].columna = "100"
str_filas[1].fila = "heineken"
str_filas[1].valor = "5"
str_filas[2].columna = "200"
str_filas[2].fila = "pulp"
str_filas[2].valor = "3"
str_filas[3].columna = "300"
str_filas[3].fila = "puro sol"
str_filas[3].valor = "1"
str_filas[4].columna = "1000"
str_filas[4].fila = "puro sol"
str_filas[4].valor = "10"
str_filas[5].columna = "1000"
str_filas[5].fila = "heineken"
str_filas[5].valor = "6"
str_columnas[1].columna = "100"
str_columnas[1].fila = "heineken"
str_columnas[1].valor = "5"
str_columnas[2].columna = "200"
str_columnas[2].fila = "pulp"
str_columnas[2].valor = "3"
str_columnas[3].columna = "300"
str_columnas[3].fila = "puro sol"
str_columnas[3].valor = "1"
str_columnas[4].columna = "1000"
str_columnas[4].fila = "puro sol"
str_columnas[4].valor = "10"
str_columnas[5].columna = "1000"
str_columnas[5].fila = "heineken"
str_columnas[5].valor = "6"
    //Encabezado
    for b = 1 to upperbound(str_columnas[])
        //nombre de la matriz
        if b = 1 then
            ls_resultado_cab = "Matriz"
        end if
        if ls_resultado_cab = '' then
            ls_resultado_cab = str_columnas[b].columna
        else
            ls_resultado_cab += ls_separador + str_columnas[b].columna
        end if
        ls_resultado_det += str_columnas[b].fila + ls_separador
        //Detalle fila, valor
        for c = 1 to upperbound(str_filas[])
            if c = b then
                ls_resultado_det += str_filas[c].valor
            else
                ls_resultado_det += ls_separador
            end if
            if c = upperbound(str_filas[]) then
                ls_resultado_det += "~r~n"      
            end if          
        next        
            if b = upperbound(str_columnas[]) then
                ls_resultado_cab += "~r~n"      
            end if  
    next
messagebox("Aviso", ls_resultado_cab + ls_resultado_det)

Añade tu respuesta

Haz clic para o