Sumas en informes con subconsultas

Hola, tengo un informe con una subconsulta. Por lo que comprendo, los informes de este tipo lo que hacen es una especie de producto cartesiano del padre X hijo. Cuando un padre no tiene hijos o tiene solo uno, los datos del padre se repiten una sola vez, pero cuando el padre tiene dos hijos o más, tengo tantas repeticiones de los datos del padre como hijos tenga, por lo que al sumar en una variable los valores de un campo que pertence al padre, este valor se acumula varias veces.
¿Cómo puedo hacer la suma única de los valores en la tabla padre?

Hola marco_rangel.

Ya te habrás imaginado que estás pidiendo algo para lo que el motor de Informes no fue diseñado.
Las variables de los Informes personalizables ya te he dicho en otras ocasiones que no las uso apenas porque tienen escasa funcionalidad, aparte de acumular los importes de los Detalles.

Tendrás que habilitar algo en la Base de datos. Puedes añadir un campo NUM_DET en la tabla padre que por Actualización tenga el Número de líneas de detalle o hijos.

En la variable del Informe pones la fórmula #IMPORTE / #NUM_DET para que sume solo una fracción por cada línea de detalle y al final del Grupo haya sumado el IMPORTE total del Padre.

Pruébalo.

Saludos
Paco Satué

Muchas gracias paco!
Que te puedo decir, estas soluciones muy poco ortodoxas, pero al final ingeniosas, es hasta a veces un poco complicado de aceptar, pero al ser las unicas opciones debido a la pobre implementación de la herramienta en algunas circunstancias no nos queda de otra.
Tenlo por seguro que me ha quedado claro, pero (ya con este tip como referencia) me gustaría intentar algo más, por que realmente los datos detalle son “nietos” del origen de datos, solo que por el proceso definido me logro saltar al hijo, así que lo de asignar ese número necesito ver que tanto me conviene en general al final.
De cualquier manera tu idea es simplemente genial.
Saludos mi estimado Paco.

Pues no me tardé mucho en encontrar una “solución” basada en tu tip, mi estimado Paco.
Se las comparto:
Hice una prueba corriendo mi reporte que tenía al momento agregando un campo que mostrara hijo.rowCount() y de esta manera de forma directa tengo la cantidad entre la que debo de dividir mi número, solo teniendo cuidado en mi caso si el valor es cero o uno, en ambos casos sumar la cantidad del padre (por el simple hecho de existir).
¡Muchas gracias nuevamente Paco!
Ahora solo espero no tener problemas con divisiones entre número primos y que al sumar empiece a perder decimales. Espero que eso ya sea cosa de nada.

Hola marco_rangel.

Es una de las ventajas de haber sido cocinero antes que fraile.

Saludos
Paco Satué

1 me gusta