Agrupar datos en Query

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • natxojarto
    Junior Member
    • oct
    • 19

    #1

    Agrupar datos en Query

    Hola,

    He estado mirando por internet a ver si se podía hacer lo sisguinete, pero no he encontrado nada a ver si me podeis ayudar:

    Me gusatria agrupar las lineas que salen en una query es decir, si el resultado fuese:

    Sociedad Centro Beneficio Cuenta Total
    E003 E003010001 Z622120000 56
    E003 E003010001 Z622120000 23
    E003 E003010001 Z623900000 48
    E003 E003010001 Z624100000 69

    ¿Seria posible que saliera solo una linea para cada Sociedad/Cnetro de beneficio/Cuenta?

    Sociedad Centro Beneficio Cuenta Total
    E003 E003010001 Z622120000 79
    E003 E003010001 Z623900000 48
    E003 E003010001 Z624100000 69

    Muchas gracias,
  • oarranzli
    Senior Member
    • jun
    • 373

    #2
    Hola natxojarto:

    Tendrás que crear un layout para tu query. Ordenar por los criterios de agrupación y hacer sumatorio por el campo total. Entonces podrás agupar las líneas. Lo puedes hacer desde el icono 'Modificar disposición' a través de la vista 'Clasificación'.

    Saludos,



    Originalmente publicado por natxojarto
    Hola,

    He estado mirando por internet a ver si se podía hacer lo sisguinete, pero no he encontrado nada a ver si me podeis ayudar:

    Me gusatria agrupar las lineas que salen en una query es decir, si el resultado fuese:

    Sociedad Centro Beneficio Cuenta Total
    E003 E003010001 Z622120000 56
    E003 E003010001 Z622120000 23
    E003 E003010001 Z623900000 48
    E003 E003010001 Z624100000 69

    ¿Seria posible que saliera solo una linea para cada Sociedad/Cnetro de beneficio/Cuenta?

    Sociedad Centro Beneficio Cuenta Total
    E003 E003010001 Z622120000 79
    E003 E003010001 Z623900000 48
    E003 E003010001 Z624100000 69

    Muchas gracias,
    Óscar
    http://www.blogdesap.com

    Comentario

    • Cristiana
      Member
      • may
      • 46

      #3
      Query

      Si los registros los tienes en una tabla interna, puedes loopear la tabla y dentro del loop usar usar un colect y pasarlos a otra tabla interna. el collect te va a agrupar los registros tomando como llave los campos no numericos. te paso la definicion y un ejemplo espero y te sirva.

      COLLECT
      Definición
      Para rellenar líneas en una tabla interna con la comprobación por parte del sistema de que la clave estándar de la tabla
      será única.
      Sintaxis:
      COLLECT [ <área-trabajo> INTO ]<tabla> [ SORTED BY <campo> ].
      Para especificar un área de trabajo distinta al área de trabajo de la tabla interna se utiliza la cláusula
      <área-trabajo> INTO.

      El sistema comprueba si existe alguna línea en la tabla interna con la misma clave estándar. Recordemos que la
      clave estándar esta compuesta de todos los campos no numéricos. De no existir una línea con la misma clave, el
      fecto de esta sentencia es el mismo que el de la sentencia APPEND, añade una entrada en la tabla. Si existe ya
      una línea con la misma clave estándar, no se inserta ninguna línea a la tabla interna; si hay campos numéricos,
      se sumarán.

      La cláusula SORTED BY <campo> no debe utilizarse. En futuras versiones esta cláusula desaparecerá. En su
      lugar se puede utilizar la sentencia APPEND.

      Ejemplo:
      DATA: BEGIN OF COMPANIES OCCURS 10,
      NAME(20),
      SALES TYPE I,
      END OF COMPANIES.
      COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 10.
      COLLECT COMPANIES.
      COMPANIES-NAME = 'Tiger'. COMPANIES-SALES = 20.
      COLLECT COMPANIES.
      COMPANIES-NAME = 'Duck'. COMPANIES-SALES = 30.
      COLLECT COMPANIES.
      El resultado en la tabla companies sería el siguiente:
      NAME SALES
      Duck 40
      Tiger 20
      Lo correcto no siempre es lo mas facil, Pero siempre es lo Mejor.
      Dios te Bendiga.
      Crysty

      Comentario

      Trabajando...