Creo saber la respuesta, pero como quiera no se pierde nada con preguntar.

La mayoria de reportes que piden los usuarios son a excel y yo normalmente
lo genero en programación, consulto a la bd, proceso los datos y genero el
archivo de excel a gusto: formulas aqui y alla, me brinco lineas para dejar
separaciones, ancho de columnas, formatos condicionales.. todo lo que ocupe.

Recientemente me pidieron implementar un BI y he estado viendo opciones,
todos sin excepción consultan la información directo de la BD y los
resultados los muestran en tablas, algunos dan la opción de transformar
esos datos antes de mostrarlos, (pero aun no he llegado a esta parte aun en
un par de BI's que estoy analizando).

El asunto es que tengo que mostrar un listado, digamos de cuantos
movimientos hubo en el mes de los materiales, pero en nuestro sistema un
material se divide en Cajas, por lo tanto los movs de inventario son para
esas cajas, y aparte de mostrar el numero de movimientos tengo que mostrar
todas las cajas que se movimiento, esa consulta la tengo asi:

select m.codigo, m.descripcion, count(*), array_agg(distinct e.caja_id
order by e.caja_id)
from movimiento e
left join material m on m.id = e.material_id
where e.fecha between :from and :to
group by m.codigo, m.descripcion

esto me da la información que necesito, pero las distintas cajas que se
movieron aparecen en una sola columna de tipo array que yo mediante codigo
la puedo extraer y agregar en columnas en el archivo de excel. La pregunta
seria, hay alguna manera en que postgres me separe este array, o mejor
digo, alguna función que en lugar de que me cree un array agregue columnas?
a sabiendas de que un material podria tener solo 2 cajas que se movieron
(serian solo 2 columnas) y habrá materiales que movieron 50 cajas (habría
50 columnas).

Si esto no es posible directo en postgres, entonces tendria que buscar si
en el BI puede hacerse esto mediante alguna clase de transformación de los
datos.

Muchas gracias por su tiempo.

Saludos


-- 
Lindolfo Iván Perales Mancinas
Solo existen 10 tipos de personas en el mundo, las que saben binario y las
que no.

Reply via email to