crystal-reports - versiones - descargar crystal report 8.5 español gratis
Resumiendo por grupo y subgrupo (1)
Tengo un informe de Crystal, tiene un grupo por declaración basado en dos campos
- Nombre de empresa
- Tipo de cuenta
Ahora el informe de Crystal funciona y agrupa por "nombre de empresa" pero no lo agrupa por "tipo de cuenta". Tengo dos tipos de cuenta, "Regular y Premium". Una empresa tiene ambos tipos de cuenta con nosotros y la usa de forma regular y no premium. ¿Cuál crees que es el problema?
Soy nuevo en el informe de cristal. Estoy familiarizado con SQL Aunque. Las diferencias que veo es
- No se usa una función agregada para ninguna columna: en SQL se requiere un campo agregado para obtener un resultado significativo
- Hay aproximadamente 10 campos en el informe, pero group by se usa solo en dos campos: en SQL debe agrupar por todos los campos si hay más de dos campos.
- El grupo por campos está en el medio y en el extremo, de nuevo en SQL, el orden del grupo por campo es importante
En este caso, estoy agrupando por nombre de empresa primero y luego el estado de la cuenta. Cualquier idea será útil.
Tenga en cuenta que he generado la declaración SQL equivalente de Crystal Report. Esa consulta estuvo bien, excepto que no hubo declaraciones grupales. Agregué esas y la columna agregada y obtengo el mismo resultado que obtengo en Crystal (pero el informe SQL es más preciso ya que agrupa por campos, no solo por uno).
Editar: Ejemplo Fecha. Cada empresa puede tener múltiples cuentas del mismo tipo. Quiero agregado en "Nombre de la compañía" y "Tipo de cuenta" para que los datos se enumeren de la siguiente manera.
+----+--------------+-------------+------+
| ID | Company Name | AccountType | Sale |
+----+--------------+-------------+------+
| 1 | ABC | I | 500 |
| 2 | ABC | I | 600 |
| 3 | ABC | O | 1000 |
| 4 | ABC | O | 2000 |
| 5 | ABC | O | 3000 |
| 6 | XYZ | O | 2500 |
| 7 | LMN | O | 3400 |
+----+--------------+-------------+------+
La salida que deseo de la tabla anterior es
+--------------+-------------+------+
| Company Name | AccountType | Sale |
+--------------+-------------+------+
| ABC | I | 1100 |
| ABC | O | 6000 |
| XYZ | O | 2500 |
| LMN | O | 3400 |
+--------------+-------------+------+
Actualice para incorporar la discusión de comentarios y la pregunta revisada:
Hay dos opciones básicas para resolver este problema:
1) Revise el SQL para realizar la agregación deseada.
2) Dentro de Crystal, agregue dos grupos, uno para la empresa y luego uno para el tipo de cuenta.
Antes de agregar grupos en Crystal, tiene varias secciones estándar, incluido el Encabezado de informe, el Encabezado de página, Detalles, Pie de página de informe y Pie de página.
Si no realiza la agrupación, cada fila que se lea en la base de datos se mostrará en la sección de detalles (técnicamente, toda la sección de detalles se repite para cada fila).
Cuando agrega el primer grupo (Compañía), Crystal agrega un Encabezado de grupo N. ° 1 antes de la sección Detalles y un Encabezado de grupo N. ° 1 después de la sección Detalles.
Si ejecuta el informe en este momento, Crystal mostrará el encabezado de grupo antes de cada grupo de registros de detalles asociados con esa compañía, luego mostrará todos los registros de detalles de esa compañía y, finalmente, mostrará el pie de página del grupo para esa compañia.
Normalmente, el encabezado de grupo se usa para mostrar información común para esa agrupación que no necesita repetirse para cada registro de detalle. En este ejemplo, podríamos mostrar el nombre de la compañía y otra información relacionada con la compañía.
Del mismo modo, el pie de página del grupo se usa generalmente para mostrar información resumida de todos los registros de detalles que se muestran dentro de ese grupo.
En este caso, podríamos agregar un agregado que resuma el monto de la Venta, que sería el total de ventas de esa compañía, independientemente del tipo de cuenta.
Cuando se agrega el segundo grupo, realizará una sub-agrupación en el grupo original.
Cuando se agrega el segundo grupo, Crystal colocará un Encabezado de grupo n. ° 2 debajo del Encabezado de grupo n. ° 1 y encima de Detalles y colocará un Pie de página de grupo n. ° 2 directamente debajo de los detalles y encima del Pie de página de grupo n. ° 1.
En este punto, tiene un formato de informe similar al siguiente:
Group Header #1 (Company)
Group Header #2 (Account Type)
Details (the individual sale records)
Group Footer #2
Group Header #1
En este caso, para cada empresa, queremos agrupar los registros de detalles por tipo de cuenta. De modo que podemos agregar información que describa el tipo de cuenta, si queremos, al Encabezado de grupo n.º 2 y podemos agregar agregados al Pie de página de grupo n.º 2 para mostrar los totales para cada tipo de cuenta dentro de la empresa.
Ahora, si todo lo que se desea es mostrar los totales para cada tipo de cuenta dentro de cada compañía, entonces la única sección que necesitamos mostrar en el informe es el Pie de página n.º 2 del grupo. Todos los campos (empresa, tipo de cuenta, agregado de venta) están disponibles en este pie de página, por lo que no necesitamos ninguna de las áreas adicionales.