Dw group

Hola mi pregunta es la siguiente : tengo un dw por grupos tiene un campo periodo(integer) que siempre es del 1 al 4(trimestres) de pagos y va dejándose de mostrar conformen cancelen su deuda, mi idea es en la banda resumen del grupo es mostrar una referencia, debe quedar así :
Periodo monto
1 24.00
2 14.00
3 47.00
4 45.00
---------------------------------
trimestre 1 2 3 4 130.00
por ejemplo si ya pago el 2 trimestre deberia aparecer asi :
Periodo monto
1 24.00
3 47.00
4 45.00
---------------------------------
Trimestre 1 3 4 116.00
El problema es que si uso sum(periodo) los va a sumar no se como hacer que aparezcan así como te lo indico, espero me puedas ayuda saludos desde Perú.

1 respuesta

Respuesta
1
Yo veo el problema muy simple, la solución es que la definición de tus datos estén condicionadas por una columna a la cual podrías llamar status, dicha columna contendrá un valor que determine la situación actual del trimestre, por ejemplo digamos que todos los trimestres inician con status "pendiente", esto significa que la condición de selección de datos sera que dicha columna contenga el valor "pendiente", en el momento que un trimestre es cancelado, el status o valor conceptual cambia de "pendiente" a "cancelado", por lo que la próxima presentes el resultado dicho trimestre ya no aparecerá, y por tanto el grupo no lo va a sumar,
el efecto estoy seguro que sera el que buscas
Hola, lo de la suma ok esta bien, pero lo que yo quiero es que en el resumen indique que trimestre es el que debe y no la suma de lo que debe osea así:
Resumen----
debe: trimestre 1 2 4
En el caso que el timestre 3 ya lo haya cancelado, no la suma de lo que debe si no, que trimestres debe; espero tu respuesta.
Saludos.
Igualmente pienso que la respuesta esta más que dada, si tomas en cuenta que el total de cada trimestre es el que te permite conocer que trimestre tienes pendiente, es simple componer luego una cadena en la cual por medio de una instrucción if, añades o no el numero del trimestre, todo esto claro dentro de un campo computado. Por ejemplo
'debe: trimestre '+if((sum(valor for trimestre = 1) > 0), '1', '')+if((sum(valor for trimestre = 2) > 0), '2', '')+if((sum(valor for trimestre = 3) > 0), '3', '')+if((sum(valor for trimestre = 4) > 0), '4', '')
Esto por consiguiente dará el efecto que estas buscando puesto que por medio de la función sum() condicionas las sumnatorias de los diferentes trimestres o bien grupos ya definidos. Y el resultado será que si el valor dado por la función sum() es mayor a cero, pues seguro que el trimestre tiene algo pendiente de pago.
Por lo demás si el valor resulta cero, el trimestre ya se encuentra pagado por lo que la función if(), devuelve un valor en blanco, y esto en una cadena en proceso de concatenación es una cadena con un valor en blanco.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas