Revisa el concepto de pick out. las cajas las abres y generas la lista
de materiales que esta adentro de la caja.
Esa debiera ser tu unidad, no las cajas.
On 6/07/2024 3:42 pm, Ivan Perales M. wrote:
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 <http://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.