¿Qué es el análisis de pivote?
El análisis de pivote es resumir, filtrar, analizar, comparar y trazar datos en diferentes dimensiones. Se utiliza para descubrir cambios en los datos y diferencias causadas por diferentes factores. Esto es muy útil en ventas, estadísticas, finanzas, etc., y a menudo se usa en algún software de gestión.
A continuación, utilicé Excel para introducir qué análisis de pivote y tablas de pivote.
A continuación, uso la tabla de pivote de Excel para analizar los datos del volumen de ventas de los teléfonos iPhone en 2013, 2014 y 2015 en China y Estados Unidos para resumir las tendencias de ventas de los teléfonos iPhone.
Declaración: Todos los datos están formados por uno mismo y no tienen valor de referencia.
Tablas de pivote de Excel y diagramas de pivote
Este es el volumen de ventas de los teléfonos iPhone en China y los Estados Unidos en 2013, 2014, 2015.
---- Para descubrir cambios en diferentes ventas de teléfonos móviles en cada país en 2013, 2014, 2015, se debe insertar una tabla de pivote y se configura los datos. Aquí, si agrega campos a las filas, se clasificarán por filas. (Primero por país, luego año y producto);
Obtenga la tabla de pivote de acuerdo con la configuración
A través de la tabla de pivote, es fácil ver el volumen total de ventas en China y el volumen total de ventas en los Estados Unidos.
Diagrama de pivote
Según este cuadro, se puede ver que en los últimos años, las ventas de iPhone en China han disminuido bruscamente.
---- Para observar las diferencias de ventas entre China y los Estados Unidos, solo necesita configurar el panel de datos de la siguiente manera. (Categoría por producto y país)
Mesa de pivote
Diagrama de pivote
Se puede encontrar que desde 2014, las ventas de iPhone en China han comenzado a ser más bajas que las de los Estados Unidos, y la diferencia entre su precio y Estados Unidos se ha vuelto cada vez menor.
A través del análisis anterior de las ventas de iPhone utilizando tablas de pivote de Excel, encontramos que las tablas de pivote de pivote de Excel y las gráficos de pivote tienen los siguientes beneficios:
Analizando datos de múltiples dimensiones, solo se necesita una tabla para analizar los cambios en los datos desde múltiples ángulos.
Al arrastrar y soltar cualquiera puede crear vistas dinámicas y resumidas.
TI procesa y analiza datos muy complejos y engorrosos, lo que puede ayudarnos a descubrir intuitivamente las tendencias y las diferencias en los cambios de datos.
Hay una amplia variedad de informes (gráficos de barras, gráficos de línea), que satisfacen una variedad de necesidades.
Puede realizar un filtrado de datos para cierto análisis específico.
¡Ok, Excel y sus tablas de pivote son tan poderosas!
Es precisamente porque Excel es tan poderoso que los requisitos ahora están aquí, ¡y ahora se requiere JavaScript para implementar las mismas funciones en el lado web! (Dios mío-) :)
Implementación utilizando JavaScript
Primero, use una matriz de objetos para definir los datos (utilizados para una base de datos relacional. Aunque se ordena aquí, los datos reales están desordenados)
var json = [{"año": 2013, "País": "USA", "Producto": "iPhone 5", "Ventas": 8000, "Precio": 6000}, {"año": 2013, "País": "USA", "Producto": "iPhone 6", "Ventas": 0, "precio": 0}, {... ...}]O usar pares de valor clave
var data = {"2013": {"China": {"iPhone": {"ventas": 8000, "precio": 6000}, "iPhone5": {...}}, "EE. UU.": {...}}, "2014": {...} ...} ...}Mesa de pivote
Primero, resolveré primero el problema de las tablas de pivote.
Según los datos anteriores, hay dos formas de procesar el resumen de datos (aquí hay solo una demostración, el código real será mucho más complicado)
Utilice métodos de recorrido de datos regulares. (Para completar una función de clasificación, use Array.prototype.sort() aquí).
data.sort (function (a, b) {return a.year> b.year || a.Country> B.Country ||Aquí primero clasificamos por el país. Si el país es el mismo, entonces ordene por producto ...
Luego resume y calcule en función de la matriz ordenada (Traversal de bucle, aquí se clasifica por año y país)
var getTotal = function () {var en total = {}; for (var i = 0; i <json.length; i ++) {var item = json [i]; // Obtenga el volumen total de ventas de cada país Total [item.country] = total [item.country] || {}; Total [item.country] .sales = total [item.country] .sales == Undefined? Artem.Sales: Total [item.country] .Sales + item.sales; // Volumen total de ventas de cada país en diferentes años Total [elemento. item.sales: Total [item.country] [item.year] + item.sales; } var sum = 0; // ventas totales para (clave var en total) {sum += total [clave] .sales; } total.sum = suma; retorno total;};Este es el resultado resumido
De acuerdo, ahora puede hacer una tabla basada en estos datos (no entraré en detalles aquí).
Utilice declaraciones SQL para la clasificación y resumen de datos
El segundo método para clasificar y resumir los datos es usar SQL.
Solo una oración
Seleccione *, total de los datos como A, Seleccione suma (ventas) del grupo de datos por producto como B donde A.Product = B.Product
Finalmente, la interfaz se mejora. Este método puede lograr efectos similares. Una tabla de pivote simple se considera completa.
Sin embargo, dado que este proyecto tiene muchas tablas y ni siquiera sabe el nombre del título de la columna, el método anterior no se puede usar en absoluto.
Ahora, de otra manera para resolver este problema, este complemento se ha utilizado en la parte de Excel IO.
Resuelto a través de wijmo
Aquí hay una demostración que usa Wijmo para completar el pivote.
Su uso básico se ha introducido en la primera implementación pura de JavaScript de Excek IO.
Mesa de pivote
Primero importe los paquetes requeridos
<script src = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo/wijmo.input.min.js"> </scry src = "./ lib/wijmo/wijmo.grid.filter.min.js"> </script> <script src = "./ lib/wijmo/wijmo.chart.min.js"> </script> <script src = "./ lib/wijmo/wijmo.olap.min.js.js.
Luego instanciar un panel de pivote basado en los datos
<div id = "pivot_panel"> </div>
var app = {}; app.pivotpanel = new wijmo.olap.pivotpanel ('#pivot_panel'); // El motor es el motor de datos de este panel, y los gráficos asociados compartirán un motor de datos. var ng = app.pivotpanel.engine; ng.itemssource = app.collectionView; ng.rowfields.push ('país', 'año', 'producto'); ng.valuefields.push ('ventas (table)'); ng.showrowTotals = wijmo.olap.showtotals.subtals.subtals.subtals;Aquí está el efecto de este código:
Genere tablas basadas en el panel de configuración de pivote
<div id = "Pivot_grid"> </div>
app.pivotgrid = new Wijmo.olap.pivotGrid ('#Pivot_grid', {itemssource: app.pivotpanel, showselectedheaders: 'all'});Agregar filtro
Filtre los datos de la columna haciendo clic derecho en la columna y seleccionando el filtro.
Diagrama de pivote
app.pivotchart = new wijmo.olap.pivotchart ('#pivot_chart', {charttype: 'column', // bar itemssource: app.pivotpanel});Ok, se realizan la tabla y la perspectiva de pivote.
Este es el efecto completo de la demostración.
A través del control de pivote, la función de datos de este proyecto también se completa rápidamente.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.