Ir al contenido


Foto

Subtotal de una consulta calculado


  • Por favor identifícate para responder
3 respuestas en este tema

#1 itsspxndx

itsspxndx

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 18 julio 2016 - 10:39

Les comento, he estado trabajando en una consulta que ya previamente me calcula las ventas mensuales de los clientes desglosado en articulos, Ayudenme por favor.

 

lo que mi consulta realiza es lo siguiente:

 

ORGANIZACION------NOMBRE---------------------------------------------TOTAL----ENERO---FEBRERO---MARZO
ABA MTY--------------ACCESS POINT UBIQUITI AIR MAX ROCKET M5-----200.00-----0.00------0.00----------0.00
ABA MTY--------------ACCESS POINT UBIQUITI AIRGATEWAYLR-----------230.00-----0.00------40.00--------0.00
ABA SANCHE---------ABRAZADERA TIPO NUDO CABLE 3/16----------------455.00----400.00----0.00----------55.00
ABA SANCHE---------ACCESS POINT TP LINK TL-WA701ND----------------616.54-----304.08----0.00----------312.46
TOTAL-------------------------------------------------------------------------1501.54---704.08---40.00--------367.46

 

Pero lo que yo requiero es que mi consulta me totalice las ventas por organizacion:

 

ORGANIZACION------NOMBRE------------------------------------------------TOTAL-----ENERO----FEBRERO----MARZO
ABA MTY--------------ACCESS POINT UBIQUITI AIR MAX ROCKET M5-----200.00-----0.00------0.00----------0.00
ABA MTY--------------ACCESS POINT UBIQUITI AIRGATEWAYLR-----------230.00-----0.00------40.00--------0.00
ABA MTY------------------------------------------------------------------------430.00-----0.00------40.00--------0.00
ABA SANCHE---------ABRAZADERA TIPO NUDO CABLE 3/16----------------455.00-----400.00----0.00----------55.00
ABA SANCHE---------ACCESS POINT TP LINK TL-WA701ND-----------------616.54-----304.08----0.00----------312.46
ABA SANCHE-------------------------------------------------------------------1071.54-----704.08----0.00---------367.46

 

lo unico que he logrado es que mi consulta totalice en general todas las ventas, osea no logro realizar un subtotal por grupo de cliente

 

les dejo mi codigo actual:


sql
  1. CREATE PROCEDURE LAGE_VENTA_ORGA_PROD_GROUP_2(
  2. V_ORGANIZACION VARCHAR(30),
  3. V_PRODUCTO VARCHAR(30),
  4. V_YEAR1 INTEGER,
  5. V_YEAR2 INTEGER,
  6. V_YEAR3 INTEGER,
  7. V_YEAR4 INTEGER,
  8. V_TIPO_DESGLOSE VARCHAR(2))
  9. RETURNS(
  10. ORGANIZACION_LEIDO VARCHAR(30),
  11. CLIENTE_ID INTEGER,
  12. ELEM_ID INTEGER,
  13. NOMBRE VARCHAR(100),
  14. ANIO_CALCULADO INTEGER,
  15. /* PESOS */
  16. VENTA_IMPORTE_MES1 NUMERIC(15, 2),
  17. VENTA_IMPORTE_MES2 NUMERIC(15, 2),
  18. VENTA_IMPORTE_MES3 NUMERIC(15, 2),
  19. VENTA_IMPORTE_MES4 NUMERIC(15, 2),
  20. VENTA_IMPORTE_MES5 NUMERIC(15, 2),
  21. VENTA_IMPORTE_MES6 NUMERIC(15, 2),
  22. VENTA_IMPORTE_MES7 NUMERIC(15, 2),
  23. VENTA_IMPORTE_MES8 NUMERIC(15, 2),
  24. VENTA_IMPORTE_MES9 NUMERIC(15, 2),
  25. VENTA_IMPORTE_MES10 NUMERIC(15, 2),
  26. VENTA_IMPORTE_MES11 NUMERIC(15, 2),
  27. VENTA_IMPORTE_MES12 NUMERIC(15, 2),
  28. VENTA_TOTAL NUMERIC(15, 2))
  29. AS
  30. DECLARE VARIABLE TEMP_CLIENTE_ID INTEGER DEFAULT '0';
  31. DECLARE VARIABLE TEMP_ELEM_ID INTEGER DEFAULT '0';
  32. DECLARE VARIABLE TEMP_ORGANIZACION VARCHAR(30);
  33. DECLARE VARIABLE TEMP_NOMBRE VARCHAR(100);
  34. DECLARE VARIABLE TEMP_ANIO_CALCULADO INTEGER DEFAULT '0';
  35. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES1 NUMERIC(15, 2) DEFAULT '0';
  36. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES2 NUMERIC(15, 2) DEFAULT '0';
  37. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES3 NUMERIC(15, 2) DEFAULT '0';
  38. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES4 NUMERIC(15, 2) DEFAULT '0';
  39. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES5 NUMERIC(15, 2) DEFAULT '0';
  40. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES6 NUMERIC(15, 2) DEFAULT '0';
  41. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES7 NUMERIC(15, 2) DEFAULT '0';
  42. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES8 NUMERIC(15, 2) DEFAULT '0';
  43. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES9 NUMERIC(15, 2) DEFAULT '0';
  44. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES10 NUMERIC(15, 2) DEFAULT '0';
  45. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES11 NUMERIC(15, 2) DEFAULT '0';
  46. DECLARE VARIABLE TEMP_VENTA_IMPORTE_MES12 NUMERIC(15, 2) DEFAULT '0';
  47. DECLARE VARIABLE TEMP_VENTA_TOTAL NUMERIC(15, 2) DEFAULT '0';
  48. BEGIN
  49.  
  50. FOR SELECT
  51. ORGANIZACION,ANIO_CALCULADO,NOMBRE,MIN(ELEM_ID),MIN(CLIENTE_ID),
  52. SUM(VENTA_IMPORTE_MES1),SUM(VENTA_IMPORTE_MES2),SUM(VENTA_IMPORTE_MES3),SUM(VENTA_IMPORTE_MES4),
  53. SUM(VENTA_IMPORTE_MES5),SUM(VENTA_IMPORTE_MES6),SUM(VENTA_IMPORTE_MES7),SUM(VENTA_IMPORTE_MES8),
  54. SUM(VENTA_IMPORTE_MES9),SUM(VENTA_IMPORTE_MES10),SUM(VENTA_IMPORTE_MES11),SUM(VENTA_IMPORTE_MES12),
  55. SUM(VENTA_TOTAL)
  56. FROM LAGE_VENTA_ORGA_PROD_FILTR(:V_ORGANIZACION,:V_PRODUCTO,:V_YEAR1, :V_YEAR2,:V_YEAR3,:V_YEAR4,
  57. :V_TIPO_DESGLOSE)
  58. GROUP BY ANIO_CALCULADO,ORGANIZACION,NOMBRE
  59. ORDER BY ANIO_CALCULADO,ORGANIZACION,NOMBRE
  60. INTO
  61. ORGANIZACION_LEIDO,ANIO_CALCULADO,NOMBRE,ELEM_ID,CLIENTE_ID,VENTA_IMPORTE_MES1,VENTA_IMPORTE_MES2,
  62. VENTA_IMPORTE_MES3,VENTA_IMPORTE_MES4,VENTA_IMPORTE_MES5,VENTA_IMPORTE_MES6,VENTA_IMPORTE_MES7,
  63. VENTA_IMPORTE_MES8,VENTA_IMPORTE_MES9,VENTA_IMPORTE_MES10,VENTA_IMPORTE_MES11,VENTA_IMPORTE_MES12,
  64. VENTA_TOTAL
  65. DO
  66.  
  67. BEGIN
  68.  
  69. TEMP_VENTA_IMPORTE_MES1 = TEMP_VENTA_IMPORTE_MES1 +VENTA_IMPORTE_MES1;
  70. TEMP_VENTA_IMPORTE_MES2 = TEMP_VENTA_IMPORTE_MES2 +VENTA_IMPORTE_MES2;
  71. TEMP_VENTA_IMPORTE_MES3 = TEMP_VENTA_IMPORTE_MES3 +VENTA_IMPORTE_MES3;
  72. TEMP_VENTA_IMPORTE_MES4 = TEMP_VENTA_IMPORTE_MES4 +VENTA_IMPORTE_MES4;
  73. TEMP_VENTA_IMPORTE_MES5 = TEMP_VENTA_IMPORTE_MES5 +VENTA_IMPORTE_MES5;
  74. TEMP_VENTA_IMPORTE_MES6 = TEMP_VENTA_IMPORTE_MES6 +VENTA_IMPORTE_MES6;
  75. TEMP_VENTA_IMPORTE_MES7 = TEMP_VENTA_IMPORTE_MES7 +VENTA_IMPORTE_MES7;
  76. TEMP_VENTA_IMPORTE_MES8 = TEMP_VENTA_IMPORTE_MES8 +VENTA_IMPORTE_MES8;
  77. TEMP_VENTA_IMPORTE_MES9 = TEMP_VENTA_IMPORTE_MES9 +VENTA_IMPORTE_MES9;
  78. TEMP_VENTA_IMPORTE_MES10 = TEMP_VENTA_IMPORTE_MES10 +VENTA_IMPORTE_MES10;
  79. TEMP_VENTA_IMPORTE_MES11 = TEMP_VENTA_IMPORTE_MES11 +VENTA_IMPORTE_MES11;
  80. TEMP_VENTA_IMPORTE_MES12 = TEMP_VENTA_IMPORTE_MES12 +VENTA_IMPORTE_MES12;
  81. TEMP_VENTA_TOTAL = TEMP_VENTA_TOTAL +VENTA_TOTAL;
  82. SUSPEND;
  83. END
  84. ORGANIZACION_LEIDO = 'TOTAL';
  85. CLIENTE_ID = NULL;
  86. ELEM_ID = NULL;
  87. NOMBRE = NULL;
  88. VENTA_IMPORTE_MES1 = TEMP_VENTA_IMPORTE_MES1;
  89. VENTA_IMPORTE_MES2 = TEMP_VENTA_IMPORTE_MES2;
  90. VENTA_IMPORTE_MES3 = TEMP_VENTA_IMPORTE_MES3;
  91. VENTA_IMPORTE_MES4 = TEMP_VENTA_IMPORTE_MES4;
  92. VENTA_IMPORTE_MES5 = TEMP_VENTA_IMPORTE_MES5;
  93. VENTA_IMPORTE_MES6 = TEMP_VENTA_IMPORTE_MES6;
  94. VENTA_IMPORTE_MES7 = TEMP_VENTA_IMPORTE_MES7;
  95. VENTA_IMPORTE_MES8 = TEMP_VENTA_IMPORTE_MES8;
  96. VENTA_IMPORTE_MES9 = TEMP_VENTA_IMPORTE_MES9;
  97. VENTA_IMPORTE_MES10 = TEMP_VENTA_IMPORTE_MES10;
  98. VENTA_IMPORTE_MES11 = TEMP_VENTA_IMPORTE_MES11;
  99. VENTA_IMPORTE_MES12 = TEMP_VENTA_IMPORTE_MES12;
  100. VENTA_TOTAL = TEMP_VENTA_TOTAL;
  101. SUSPEND;
  102. END;

soy nuevo en este foro, les agradecería muchísimo su apoyo.

 


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 18 julio 2016 - 10:45

Bienvenido a delphiaccess itsspxndx,

 

Así a simple vista te falta un bucle que haga el corte por organizacion, en cuanto tenga un tiempo le doy una revisada, no deseperes, tal vez alguien nos ayudará a resolver tu problemática antes.

 

Saludos


  • 0

#3 itsspxndx

itsspxndx

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 18 julio 2016 - 10:56

Bienvenido a delphiaccess itsspxndx,

 

Así a simple vista te falta un bucle que haga el corte por organizacion, en cuanto tenga un tiempo le doy una revisada, no deseperes, tal vez alguien nos ayudará a resolver tu problemática antes.

 

Saludos

Muchas gracias egostar, de hecho he manejado un ciclo con el if, pero aun no me ha salido como yo lo requiero, gracias espero tu apoyo egostar.


  • 0

#4 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 27 diciembre 2016 - 04:29

Existe la Alternativa de usar "Si tienes acceso a estos componentes", el cxPivotGrid de Developer Express.

 

Te hara el mismo trabajo, y solo tienes que configurarlo visualmente, ademas en tiempo de Ejecucion puedes cambiar su diseño y guardar su diseño de Forma Persistente.

 

Son componentes de Pago y son bastante caros.

 

aqui te dejo el Link. y una imagen.   Espero que te sea de Utilidad.

 

https://www.devexpre...CL/ExPivotGrid/

 

Saludos!

 

Archivos adjuntos


  • 0




IP.Board spam blocked by CleanTalk.