Was ist eine Pivot -Analyse?
Die Pivot -Analyse besteht darin, Daten in verschiedenen Dimensionen zusammenzufassen, zu filtern, zu analysieren, zu vergleichen und zu zeichnen. Wird verwendet, um Änderungen der Daten und Unterschiede zu ermitteln, die durch verschiedene Faktoren verursacht werden. Dies ist sehr nützlich in Vertrieb, Statistiken, Finanzen usw. und wird häufig in einer Managementsoftware verwendet.
Als nächstes habe ich Excel verwendet, um die Pivot -Analyse und die Pivot -Tabellen einzuführen.
Im Folgenden verwende ich die Pivot -Tabelle von Excel, um die Verkaufsvolumendaten von iPhone -Telefonen in den Jahren 2013, 2014 und 2015 in China und den USA zu analysieren, um die Verkaufstrends von iPhone -Telefonen zusammenzufassen.
Aussage: Alle Daten werden von sich selbst erfunden und haben keinen Referenzwert.
Excel Pivot -Tabellen und Pivot -Diagramme
Dies ist das Verkaufsvolumen von iPhone -Telefonen in China und den USA in den Jahren 2013, 2014, 2015.
---- Um Änderungen in verschiedenen Mobiltelefonverkäufen in jedem Land in den Jahren 2013, 2014, 2015 zu ermitteln, muss eine Pivot-Tabelle eingefügt und Daten konfiguriert werden. Wenn Sie hier Felder hinzufügen, werden sie nach Zeilen klassifiziert. (Zuerst nach Land, dann Jahr und Produkt);
Holen Sie sich die Pivot -Tabelle gemäß der Konfiguration
In der Pivot -Tabelle ist es leicht, das Gesamtumsatzvolumen in China und das Gesamtumsatzvolumen in den USA zu erkennen.
Drehdiagramm
Laut dieser Tabelle ist ersichtlich, dass in den letzten Jahren der iPhone -Umsatz in China stark gesunken ist.
---- Um die Vertriebsunterschiede zwischen China und den USA zu beobachten, müssen Sie das Datenfeld nur wie folgt konfigurieren. (Kategorie nach Produkt und Land)
Pivot -Tabelle
Drehdiagramm
Es ist festzustellen, dass seit 2014 die iPhone -Verkäufe in China niedriger sind als in den Vereinigten Staaten und der Unterschied zwischen dem Preis und den Vereinigten Staaten immer kleiner geworden.
Durch die obige Analyse der iPhone -Verkäufe unter Verwendung von Excel Pivot -Tabellen haben wir festgestellt, dass Excels Pivot Pivot Pivot -Tabellen und Pivot -Diagramme die folgenden Vorteile haben:
Analyse von Daten aus mehreren Dimensionen ist nur eine Tabelle erforderlich, um die Änderungen der Daten aus mehreren Blickwinkeln zu analysieren.
Durch das Ziehen und Ablegen jemandes kann dynamische Zusammenfassungsansichten erstellen.
Es verarbeitet und analysiert sehr komplexe und umständliche Daten, die uns helfen können, die Trends und Unterschiede in den Datenänderungen intuitiv zu ermitteln.
Es gibt eine Vielzahl von Berichten (Balkendiagramme, Zeilendiagramme), die eine Vielzahl von Anforderungen erfüllen.
Es kann die Datenfilterung für eine bestimmte spezifische Analyse durchführen.
OK, Excel und seine Drehstoffe sind so mächtig!
Genau deshalb ist Excel so leistungsstark, dass die Anforderungen jetzt hier sind und JavaScript nun die gleichen Funktionen auf der Webseite implementieren muss! (Mein Gott-) :)
Implementierung mit JavaScript
Verwenden Sie zunächst ein Objektarray, um die Daten zu definieren (verwendet für eine relationale Datenbank. Obwohl es hier bestellt wird, sind die realen Daten nicht ordnungsgemäß)
var json = [{"Jahr": 2013, "Country": "USA", "Produkt": "iPhone 5", "Verkäufe": 8000, "Preis": 6000}, {"Jahr": 2013, "Land": "USA", "Produkt": "iPhone 6", "Verkauf": 0, "Preis": 0}, {... ... {...}]Oder verwenden Sie Schlüsselwertpaare
var data = {"2013": {"China": {"iPhone": {"Verkauf": 8000, "Preis": 6000}, "iPhone5": {...}}, "USA": {...}}, "2014": {...} ...}Pivot -Tabelle
Zunächst werde ich zuerst das Problem der Pivot -Tabellen lösen.
Nach den oben genannten Daten gibt es zwei Möglichkeiten, die Datenzusammenfassung zu verarbeiten (hier ist nur eine Demo, der eigentliche Code ist viel komplizierter).
Verwenden Sie regelmäßige Datenquellenverfahren. (Um eine Sortierfunktion auszufüllen, verwenden Sie hier Array.prototype.sort() .)
Data.Sort (Funktion (a, b) {return a.year> B.year || a.country> B.Country || A.Product> B.Product || A.Sales> B.Sales || A.Price> B. price;});Hier sortieren wir zuerst nach Land. Wenn das Land gleich ist, dann sortieren Sie nach Produkt ...
Fassen Sie dann zusammen, basierend auf dem sortierten Array (Loop Traversal, hier wird es nur nach Jahr und Land klassifiziert)
var getTotal = function () {var total = {}; für (var i = 0; i <json.length; i ++) {var item = json [i]; // Erhalten Sie das Gesamtumsatzvolumen jedes Landes Total [item.country] = Total [item.country] || {}; Total [item.country] .Sales = Total [item.country] .Sales == undefiniert? Item.Sales: Total [item.country] .Sales + item.Sales; // Gesamtumsatzvolumen jedes Landes in verschiedenen Jahren insgesamt [item.country] [item.year] = total [item.country] [item.year] == undefiniert? Item.Sales: Total [item.country] [item.year] + item.Sales; } var sum = 0; // Gesamtumsatz für (VAR -Schlüssel insgesamt) {sum += Gesamt [Schlüssel] .Sales; } total.sum = sum; Return Total;};Dies ist das Zusammenfassungergebnis
Okay, jetzt können Sie eine Tabelle basierend auf diesen Daten erstellen (ich werde hier nicht auf Details eingehen).
Verwenden Sie SQL -Anweisungen zur Datensortierung und Zusammenfassung
Die zweite Methode zum Sortieren und Zusammenfassen von Daten besteht darin, SQL zu verwenden.
Nur ein Satz
Wählen Sie *, insgesamt aus Daten als a
Schließlich wird die Schnittstelle verbessert. Diese Methode kann ähnliche Effekte erzielen. Eine einfache Pivot -Tabelle wird als vollständig angesehen.
Da dieses Projekt jedoch viele Tabellen enthält und den Namen des Spaltentitels nicht einmal kennt, kann die obige Methode überhaupt nicht verwendet werden.
In einer anderen Weise, um dieses Problem zu lösen, wurde dieses Plug-In im Excel-IO-Teil verwendet.
Über Wijmo gelöst
Hier ist eine Demo, die Wijmo verwendet, um Pivot zu vervollständigen.
Die grundlegende Verwendung wurde in der ersten reinen JavaScript -Implementierung von Excek IO eingeführt.
Pivot -Tabelle
Importieren Sie zuerst die erforderlichen Pakete
<script src = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo/wijmo.input.min.js"> </script Src = ". src = "./ lib/wijmo/wijmo.grid.filter.min.js"> </script> <script src = "./ lib/wijmo/wijmo.chart.min.js"> </script Src = "
Dann ein Pivot -Panel basierend auf den Daten instanziieren
<div id = "pivot_panel"> </div>
var app = {}; app.pivotpanel = new wijmo.olap.pivotpanel ('#pivot_panel'); // Engine ist die Datenmotor dieses Panels, und die zugehörigen Diagramme teilen eine Datenmotor. var ng = app.pivotpanel.engine;Hier ist die Auswirkung dieses Code:
Generieren Sie Tabellen basierend auf dem Pivot -Konfigurationspanel
<div id = "pivot_grid"> </div>
app.pivotgrid = new wijmo.olap.pivotgrid ('#pivot_grid', {itemsSource: app.pivotpanel, showSelectedheaders: 'all'});Filter hinzufügen
Filterdaten durch Klicken mit der rechten Maustaste auf die Spalte und Auswahl des Filters.
Drehdiagramm
app.pivotchart = new wijmo.olap.pivotchart ('#pivot_chart', {chartType: 'column', // bar itemsSource: app.pivotpanel});Ok, die Pivot -Tabelle und Perspektive sind erledigt.
Dies ist die vollständige Wirkung der Demo.
Durch die Pivot -Steuerung wird die Datenfunktion dieses Projekts auch schnell abgeschlossen.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Studium oder die Arbeit aller hilfreich sein. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.