Casos de uso de la serie de selección de comparación de herramientas de informe-cálculo del proceso

Sabemos que los datos presentados en los informes a menudo no se recuperan directamente de la base de datos (fuente), pero se requieren algunos cálculos. Las herramientas de informes suelen proporcionar ciertas capacidades de cálculo (como filtrado, agrupación, etc.) para satisfacer esta demanda. . Sin embargo, cuando la situación es complicada, el cálculo en el conjunto de datos del informe puede requerir varios pasos para completar. En este momento, es necesario examinar el grado de soporte de la herramienta de informe para el cálculo de procedimiento.

Descripción del caso de uso

Requisitos estadísticos

Enumere los principales clientes en el período de tiempo especificado. El llamado gran cliente se define como el cliente cuyas ventas representan la primera mitad, es decir, después de que las ventas del cliente se clasifican de grandes a pequeñas, las ventas totales de los clientes anteriores constituyen la mitad de las ventas totales, y estos clientes se denominan grandes clientes.

Estilo de informe

imagepng

estructura de datos

[Hoja de registro de ventas]

imagepng

Análisis característico:

El formato del informe es muy simple. El problema principal es que necesita calcular los grandes clientes a partir del conjunto de datos original antes de presentarlo. Este cálculo no es un proceso simple de un solo paso.

Nuestro objetivo es examinar el poder de procesamiento de la herramienta de informes, por lo que se supone que el poder de cálculo de SQL o las fuentes de datos no se utiliza para completar.

Ejecutar informe seco

Proceso de producción:

1. Configure y conéctese a la fuente de datos.

2. Configure el conjunto de datos

Runqian Report proporciona un motor de cálculo independiente que puede calcular datos a través de secuencias de comandos integradas y devolver los resultados al conjunto de datos del informe. Agregue un nuevo conjunto de datos al informe. El tipo de conjunto de datos utiliza el conjunto de datos de secuencia de comandos. La secuencia de comandos es la siguiente:

imagepng

2.1 Celda A1: La celda está conectada a la fuente de datos y luego la celda A6 cierra la conexión después de la ejecución.

2.2 A2: Tome los números de la tabla de ventas de clientes, aquí se resumen de acuerdo con los nombres de los clientes y se clasifican en orden descendente de ventas.

2.3 A3: Realizar una operación de suma sobre el monto de ventas e imponer un 2, y sacar la mitad del monto total para juzgar a los grandes clientes. B3 establece el valor inicial en 0, que se utiliza para acumular ventas

2.4 A4: Acumule las ventas y saque el número de serie de A2 cuyo monto acumulado sea mayor que A3

2.5 A5: Tome el valor correspondiente en A2 según el número de serie y devuélvalo al informe como un conjunto de resultados

3. Plantilla de informe de diseño

imagepng

Los datos devueltos en el conjunto de datos del script son la información de datos de los principales clientes, por lo que es bastante sencillo hacer el informe. La configuración es la siguiente:

3.1. Las celdas A2 y B2 toman directamente los datos del conjunto de datos

3.2 Las celdas B3 y B4 utilizan directamente la función de resumen del conjunto de datos para contar el número de grandes clientes en el conjunto de datos y utilizan la función prom para obtener el promedio de ventas por ventas.

3.3 Establecer el formato de visualización del borde y la cantidad.

Resultado de la operación :

imagepng

Revisión después de la finalización

1. En 0,5 horas, utilizando la sintaxis incorporada en el conjunto de datos del script, el procesamiento de algunas celdas puede cumplir rápidamente con los requisitos.

2. Se pueden utilizar conjuntos de datos de secuencias de comandos, se incorporan ricas reglas gramaticales y se pueden procesar rápidamente varios requisitos complejos de estadísticas de datos.

3. El diseño del informe es simple, no se necesitan celdas auxiliares y la eficiencia del cálculo del informe es alta.

Informe suave del ventilador

Proceso de producción:

1. Configure y conéctese a la fuente de datos.

2. Configure el conjunto de datos

Aumentar la consulta de la base de datos, SQL es: SELECCIONAR cliente, sumar (ventas) ventas DESDE DEMOSTRACIÓN. Tabla de ventas de clientes grupo por orden de cliente por desc

3. Plantilla de informe de diseño

imagepng

3.1 La celda B2 toma la mitad de las ventas totales para juzgar a los principales clientes. Las ventas se suman en la celda y se configura una fórmula de visualización personalizada. Si FanRuan resume los campos y luego calcula, no puede Agregue manualmente expresiones directamente en la celda y solo podrá establecer fórmulas de visualización personalizadas.

3.2 Las celdas A3 y B3 acceden a los campos de clientes y ventas en el conjunto de datos.

3.3 C3: Encuentre la cantidad acumulada, = B3 + C3 [A3: -1], aumente el atributo de condición y oculte los datos de los clientes no grandes.

imagepng

3.4 B4: Número de grandes clientes, = contar (B3 [! 0;! 0] {C3 <= B2 || (C3 [A3: -1] <B2 && C3> = B2)}), use la función de conteo para contar las ventas acumuladas Más que la cantidad general de ventas totales.

3.5 Ventas promedio, = suma (B3 [! 0;! 0] {C3 <= B2 || (C3 [A3: -1] <B2 && C3> = B2)}) / B4, establecer la retención del formato de celda Dos decimales.

3.6 Oculte las filas y columnas que no es necesario mostrar.

Informe de resultado

imagepng

Revisión después de la finalización

1. Tarda 1 hora.

2. La acumulación se puede realizar a través de la función de nivel incorporada LAYERTOTAL (B1, C1, D1), o mediante coordenadas de nivel.Este ejemplo utiliza el método de tabla de nivel, que tiene funciones integradas ricas.

3. Puede establecer dinámicamente la ocultación dinámica de las filas y columnas del informe de acuerdo con la fórmula condicional.

4. Es necesario agregar celdas auxiliares, lo que aumentará el consumo de recursos adicionales, especialmente cuando el número de clientes es grande, toda la información del cliente se elimina en el informe (el número de clientes pequeños suele ser mucho mayor) y luego se oculta el juicio. El rendimiento informático tendrá un impacto.

Smartbi

Proceso de producción

1. Configure y conéctese a la fuente de datos.

2. Configure el conjunto de datos

Usando conjuntos de datos SQL nativos, simplemente obtenga datos directamente a través de declaraciones SQL:

seleccionar cliente, suma (ventas) cantidad del grupo de tabla de ventas de clientes por orden de cliente por cantidad desc.

3. Plantilla de informe de diseño

imagepng

El diseño del informe se completa en Excel.Con la ayuda de funciones ricas en Excel, smartbi no es demasiado problemático para resolver este tipo de cálculo entre celdas. Como varios cálculos clave:

3.1 D1: El monto total de ventas de todos los clientes, la expresión escrita en D2 = D1 / 2, que es la mitad de las ventas totales.

3.2 Celda D3: cantidad acumulada, = *** _ GetCell (D3, B3, -1) + C3.

3.3 E3: = IF (*** _ GetSubCells (D3, B3)> D2,1 + *** _ GetCell (E3, B3, -1), 0), de acuerdo con el monto acumulado, identificar cuando el monto acumulado es mayor a la mitad del monto total Cuando la marca es 1, el valor acumulativo sigue siendo mayor que la mitad del importe total y el valor acumulativo es 2/3/4 (se utiliza para ocultar datos innecesarios más adelante), etc.

3.4 Celda C4: = MATCH (1, *** _ GetSubCells (E3, A3), 0), de acuerdo con la identificación de E3, encuentre el número de serie de la primera aparición de 1, que es el número de grandes clientes.

3.5 Cuadrícula C5: el promedio de ventas es relativamente simple, = D4 / C4, y establece el formato de visualización de datos en el informe

3.6 Configuración de filas ocultas, debe ocultar los datos de los clientes no grandes y no admite la definición de expresiones ocultas en la tabla. Aquí, las expresiones ocultas se ocultan según el valor E3 mayor que 1. Debe usar la plataforma para configurar macros para la hoja de cálculo (debe escribir código js) para lograr:

imagepng

resultado de la operación

imagepng

Comentarios después de la finalización:

1. Duración: 1,5 horas.

2. Funciona completamente en Excel, es fácil de usar y cómodo de operar. Excel tiene funciones ricas, y este informe es principalmente el uso de sus funciones de búsqueda.

3. Al ocultar datos de clientes que no son necesarios (excepto para grandes clientes), no admite la definición de expresiones ocultas en la tabla, lo que requiere código js para lograrlo, lo cual es más difícil.

4. Es necesario agregar celdas auxiliares, lo que aumentará el consumo de recursos adicionales, especialmente cuando el número de clientes es grande, toda la información del cliente se elimina en el informe (el número de clientes pequeños suele ser mucho mayor) y luego se oculta el juicio. El rendimiento informático tendrá un impacto.

Yonghong BI

Proceso de producción:

1. Configure y conéctese a la fuente de datos.

2. Configure el conjunto de datos

Use el conjunto de datos de la declaración SQL: seleccione el cliente, sume el monto (ventas) del grupo de la tabla de ventas del cliente por pedido del cliente por monto desc

3. Plantilla de informe de diseño

imagepng

3.1 La primera columna agrega un número de acceso por ventas. De hecho, se encuentra que aunque el conjunto de datos está ordenado por ventas, cuando el campo de nombre del cliente se quita directamente, incluso si no está ordenado, no se ordenará según los datos originales del conjunto de datos, por lo que el frente Se agregó un campo de ventas y se estableció una clasificación descendente.

3.2 Las ventas totales y las ventas acumuladas correspondientes se toman en la cuarta columna, y las ventas acumuladas se arrastran directamente y el cálculo en la cuadrícula inferior no es acumulativo.

3.3 La celda para el número de grandes clientes utiliza el cálculo entre celdas y la expresión interior es:

var a = 0;

para (var i = 1; i <= ridx-1; i ++) {

if (celda (i, 3)> = celda (0,3) / 2) {

a = yo;

descanso;

}

}

A través de la gramática js, recorra las filas y columnas para determinar si el valor acumulado es mayor que la mitad de las ventas totales y devuelva el número correspondiente de filas, que es la cantidad.

3.4 El mismo enfoque para las ventas promedio de los principales clientes:

var a = 0;

para (var i = 1; i <= ridx-2; i ++) {

if (celda (i, 3)> = celda (0,3) / 2) {

a = celda (i, 3) / i;

descanso;

}

}

3.5 La primera y cuarta columnas son columnas auxiliares, y hay una configuración de columna oculta a la derecha para ocultar estas dos columnas

3.6 Configuración de filas ocultas, Yonghong no admite expresiones de filas ocultas de celda. Si desea ocultar datos de clientes no grandes, debe implementarlos a través de declaraciones js. Puede obtener los atributos de fila del informe después del cálculo en js. De acuerdo con los datos obtenidos en 3.3 El número de clientes establece dinámicamente la altura de la fila de los clientes no grandes (filas con números de fila que exceden el número de clientes grandes después del cálculo del informe) en 0 para lograr el efecto oculto. Esto es similar a Smartbi, por lo que no lo implementaré aquí.

resultado de la operación

imagepng

Revisión después de la finalización

1. Se necesitan 2 horas y el tiempo de procesamiento de varias celdas entre cuadrículas es más largo, lo que prueba la capacidad de desarrollo.

2. La gramática JS se puede utilizar para calcular datos en cálculos de cuadrícula, lo que es adecuado para que los desarrolladores operen y es más flexible, pero al mismo tiempo hay menos funciones integradas que prueban la capacidad del desarrollador.

3. La configuración de acumulación es más conveniente, solo use la sintaxis incorporada directamente.

4. Hay un problema con la configuración de clasificación La clasificación de los datos está configurada en el conjunto de datos, pero el informe no se clasificará en el orden correspondiente de forma predeterminada (o es posible que no se encuentre ningún método).

5. Necesita agregar columnas auxiliares para lograr, como columnas acumulativas, si la cantidad de datos es demasiado grande para ocupar espacio de memoria adicional.

6. La columna oculta se puede configurar, pero después de la configuración, la interfaz de diseño no puede ver la columna y no se puede restaurar. Si el conjunto de datos cambia y la columna oculta hace referencia al campo antes del cambio, es difícil cambiarlo.

7. La necesidad de agregar celdas auxiliares aumentará el consumo de recursos adicionales, especialmente cuando el número de clientes es grande, toda la información del cliente se elimina en el informe (el número de clientes pequeños suele ser mucho mayor) y luego se considera que se oculta, cuando la cantidad de datos es grande, el informe. El rendimiento informático tendrá un impacto. Y al ocultar información de cliente no grande, debe escribir js complejos, lo cual es más difícil.

Mil millones de letras

Proceso de producción

1. Configurar y vincular la fuente de datos

2. Configure el conjunto de datos

Simplemente obtenga los números directamente a través de la declaración SQL: La declaración SQL es: seleccione cliente, suma (ventas) como ventas del grupo de ventas por pedido del cliente por suma (ventas) desc

3. Plantilla de informe de diseño

imagepng

3.1 A1: = suma (TEST.sales) / 2 Calcule la mitad del monto total de ventas de todos los clientes y establezca el atributo oculto en el atributo correcto

3.2 A3: = TEST.customer campo de dimensión flotante, y establecer la base de clasificación en el lado derecho es B3.

3.3 C3: = self.leftcell.value + self.upcell.value para realizar el cálculo acumulativo del importe

3.4 D3: = if (GRID1.C3.upcell.value <GRID1.A1,1, null) Los datos cuya cantidad acumulada es mayor que el valor de la celda A1 se marcan como 1, y la marca no calificada se marca como nula, lo cual es conveniente para estadísticas posteriores.

3.5 B4: = suma (GRID1.D3 $), cuente el número de clientes principales según el logotipo de D3 (devuelva 1 para clientes medianos y grandes en D3, y suma a 1 es el número de clientes principales)

3.6 B5: = GRID1.D3 $ .select (@. Value = 1) .select (true, @. Leftcell (2) .value) .avg () Primero use el método de matriz para filtrar los datos correspondientes y luego realice la búsqueda Cálculo promedio

3.7 Seleccione la tercera fila y configure la expresión de visualización como: <# = si (GRID1.D3 = 1,1,0) #>, la celda D3 identifica si este dato es un cliente importante, aquí se controla en función del valor de la celda D3 Si se muestra la línea (si es 1, regrese 1 para indicar la pantalla, de lo contrario regrese 0 para no mostrar)

resultado de la operación

imagepng

Comentarios después de la finalización:

1. Tiempo de producción: 1,5 horas.

2. Las funciones integradas son relativamente ricas y las operaciones comunes en esta tabla se implementan básicamente a través de funciones integradas.

3. Es más conveniente establecer dinámicamente el ocultamiento dinámico de la fila y columna del informe de acuerdo con la fórmula condicional.

4. Es necesario agregar celdas auxiliares, lo que aumentará el consumo de recursos adicionales, especialmente cuando el número de clientes es grande, toda la información del cliente se elimina en el informe (el número de clientes pequeños suele ser mucho mayor) y luego se oculta el juicio. El rendimiento informático tendrá un impacto.

para resumir

  1. El formato de resultado del informe de este ejemplo es relativamente simple y, básicamente, todas las herramientas de informe se pueden realizar.

  2. Para los cálculos de proceso examinados en este ejemplo, los métodos de implementación de Fanruan, Smartbi, Yonghong y Yixin son básicamente los mismos. Todos utilizan rangos auxiliares para extraer las ventas totales y las ventas acumuladas, y luego realizan juicios de datos para determinar qué clientes Es un gran cliente y cuenta los datos y finalmente oculta los rangos auxiliares. Todo el proceso tiene cierto grado de dificultad y engorroso, debido a que el informe solo puede realizar cálculos basados ​​en estados y solo puede tomar esta forma indirecta para procesar los cálculos.

  3. Entre estos productos, Fanruan, Smartbi y Yixin son básicamente los mismos, todos se implementan utilizando funciones o métodos integrados, y es más conveniente ocultar los rangos. Yonghong es fácil de implementar y se puede configurar directamente con el mouse. Sin embargo, es necesario escribir una gramática javascript compleja para las estadísticas cuando se realizan estadísticas de datos. Esto es más difícil de implementar y no es conveniente ocultar filas y columnas. La compleja función de informe de Yonghong es más débil que los otros tres modelos, y Fanruan es relativamente mejor en estos cuatro modelos, lo que también es consistente con las conclusiones de otros casos probados anteriormente.

  4. En realidad, el secado por ejecución se puede lograr mediante el uso de métodos de rejilla oculta, pero aquí ofrecemos un enfoque diferente. Runqian agrega una capa de cálculo, utilizando conjuntos de datos de secuencia de comandos, puede lograr cálculos de procedimiento más fácilmente, volver al informe son los resultados de los datos procesados, no hay procesamiento especial en el informe, el proceso general es más simple y consume recursos Mucho menos que usando rejillas auxiliares, el rendimiento será mejor. Sigue siendo coherente con las conclusiones de los casos de prueba anteriores. Runqian es el producto con mayor potencia informática entre estos productos. La capa informática ha abierto claramente la brecha con otros productos, lo que es fundamental para el desarrollo eficiente de informes complejos.

Otro ejemplo

Veamos el significado de la capa de cálculo a través de un ejemplo, y consultemos los días consecutivos más largos de acciones al alza:

imagepng

La fuente de datos es un texto que registra el precio de cierre diario de cada acción:

imagepng

El estilo de este informe también es muy simple, pero el proceso de cálculo es más engorroso: debe agrupar el conjunto de datos filtrado por fecha por código de stock, y luego calcular el número de días consecutivos que ha aumentado cada grupo de acciones, y luego filtrar más de 5 días. valores.

Este tipo de proceso complicado, sin la ayuda de la capa de cálculo, utilizando celosías ocultas es un proceso muy problemático, que se describe a grandes rasgos de la siguiente manera:

1. Saque el conjunto de datos de texto y colóquelo en la celda.

2. Establezca la clasificación, ordene por código de stock y fecha

3. Agrupe por código de stock para hacer un informe de dos niveles.

4. Agregue una cuadrícula auxiliar en la fila de detalles para calcular el número de días crecientes consecutivos

5. Calcule los días de subida consecutivos máximos en la fila de agrupación.

6. Ocultar la línea de detalle

7. Ocultar fechas no especificadas y grupos que no cumplen las condiciones.

Este proceso es engorroso para FanRuan, una herramienta de generación de informes con sólidas capacidades de computación entre redes; Smartbi, Yonghong y Yixin no son solo problemas engorrosos, y los cálculos intermedios también son difíciles de expresar. Además, no importa qué herramienta sea, hará que todo el informe se hinche, con una gran cantidad de cuadrículas ocultas (mucho más que las cuadrículas presentadas).

Para evitar esto, el método real a menudo usa una fuente de datos personalizada, lee los datos en Java para calcular el conjunto de resultados o importa los datos a la base de datos para usar SQL para calcular. De cualquier manera, sigue siendo muy engorroso y afecta seriamente la eficiencia del desarrollo.

Sin embargo, si hay una capa de cálculo que se puede interpretar y ejecutar como el informe run-dry, será muy simple y no se requieren unas pocas líneas de código para implementar esta lógica:

A1: = file ("F: / Stock Information.txt"). Import @ t (). Select (left (string (Date), 7) == rq), lea los datos en la información de stock y de acuerdo con el informe El parámetro rq entrante se utiliza para el filtrado de datos y se toman los datos de un mes determinado.

A2: = A1.sort (Fecha) .group (SID), ordenar por fecha y agrupar por campo SID

A3 :, El go=A2.new(SID, ~.group@i(Closing>Closing\[-1\]).max(~.len()):ts)cierre [-1] toma el precio de cierre del registro anterior en el registro actual. En A3, el número máximo de días consecutivos al alza se basa en que el precio de cierre del día de la misma acción sea mayor que el precio de cierre del día anterior.

A4: devuelva A3.select (ts> = 5), saque los datos en A3 con el mayor número de días crecientes consecutivos superior a 5 y devuélvalos al conjunto de datos del informe para su uso.

Dado que los datos se han procesado en el conjunto de datos de la secuencia de comandos, la preparación del informe es bastante simple y no es necesaria una explicación específica.

La conclusión final del complejo informe

Usamos tres artículos para comparar estas cinco herramientas de informes con capacidades de informes complejas como punto promocional:
Comparación de herramientas de informes y serie de selección de casos de uso: informes fragmentados de múltiples fuentes

Serie de selección de comparación de herramientas de informes, clasificación de casos de uso y estadísticas de grupos de bancos cruzados La
conclusión general es la siguiente:

  1. Las ventajas de Runqian son muy obvias: incluso sin considerar su capa informática única, sus complejas capacidades de generación de informes son las más sólidas entre estos cinco productos. Junto con la capa de computación, se puede decir que está muy por delante y ya está fuera de calidad en comparación con varios otros productos.

  2. FanRuan ocupa el segundo lugar. Si dejas de lado la capa de cálculo única de Runqian, las complejas capacidades de informes de FanRuan seguirán siendo más débiles que las de RunQian, pero la diferencia no es demasiado grande. Además, la interfaz amigable de FanRuan puede agregar puntos. Se considera que Runqian y Fanruan son los primeros productos, y es digno de ese nombre utilizar informes complejos como puntos promocionales.

  3. Smartbi es más débil, el modelo se realiza básicamente, pero los detalles de expresión son bastante diferentes de la suavidad de Runganfan, que puede considerarse como un producto de segundo grado. El uso de informes complejos como punto de promoción todavía está apenas justificado en el campo de BI.

  4. Estrictamente hablando, las complejas capacidades de generación de informes de Yonghong y Yixin aún se encuentran en la etapa de introducción, y la brecha con otros productos es muy grande. Solo se puede contar como tercer grado o incluso productos indocumentados. De hecho, estos dos productos son originalmente productos de BI con colores fuertes. Es un nombre poco apropiado utilizar informes complejos como puntos promocionales.


Supongo que te gusta

Origin blog.51cto.com/12749034/2536324
Recomendado
Clasificación