• Sábado 21 de Diciembre de 2024, 11:07

Autor Tema:  “Saldo en DW crosstab o group”  (Leído 2857 veces)

pana06_

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
“Saldo en DW crosstab o group”
« en: Sábado 15 de Enero de 2011, 14:28 »
0
Estimad@s, tengo una DW donde tengo el importe de ingresos y egresos por meses, lo que quiero es obtener en el total final la diferencia entre la suma de ingresos y la suma de egresos. Campos Mes,Importe,tipo

Mes Importe tipo
Enero 10.00 INGRESO
Enero 40.00 INGRESO
Enero 10.00 EGRESO
Enero 100 INGRESO
-----------------------------------------
Saldo : 80.00 (INGRESO-EGRESOS)

Les agradezco de antemo, por la ayuda brindada

Saludos
Luis Domínguez

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: “Saldo en DW crosstab o group”
« Respuesta #1 en: Jueves 20 de Enero de 2011, 12:10 »
0
Bueno si es como en ese listado entonces puedes hacer 2 cosas:

a) crear una sumatoria para ingreso y una para egreso y luego restarlas

PARA SUMAR SOLO EL INGRESO

Código: PowerBuilder
  1. COMPUTE_1
  2. SUM( IF(TIPO='INGRESO',IMPORTE,0) FOR ALL)
  3.  
  4.  

Código: PowerBuilder
  1. 150
  2.  



 PARA SUMAR SOLO EL EGRESO
Código: PowerBuilder
  1.  
  2. COMPUTE_2
  3. SUM( IF(TIPO='EGRESO',IMPORTE,0) FOR ALL)
  4.  
  5.  

Código: PowerBuilder
  1. 10
  2.  

RESTA
 
Código: PowerBuilder
  1.  
  2. COMPUTE_3
  3. COMPUTE_1-COMPUTE_2
  4.  

Código: PowerBuilder
  1. 150 -10 = 140
  2.  

b) al egreso multiplicarla por menos 1

COMPUTE_1
SUM( IF(TIPO='EGRESO',(IMPORTE * -1),IMPORTE) FOR ALL)

la sumatoria de ese campo seria equivalente

Código: PowerBuilder
  1.    10.00
  2.    40.00
  3.   -10.00
  4.  100.00
  5. --------------
  6. 140.00
  7.  

Espero te sirva

 Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================