Apa itu analisis pivot?
Analisis pivot adalah meringkas, menyaring, menganalisis, membandingkan, dan memplot data dalam dimensi yang berbeda. Digunakan untuk menemukan perubahan dalam data dan perbedaan yang disebabkan oleh faktor yang berbeda. Ini sangat berguna dalam penjualan, statistik, keuangan, dll., Dan sering digunakan dalam beberapa perangkat lunak manajemen.
Selanjutnya, saya menggunakan Excel untuk memperkenalkan apa analisis pivot dan tabel pivot.
Di bawah ini saya menggunakan tabel pivot Excel untuk menganalisis data volume penjualan ponsel iPhone pada 2013, 2014 dan 2015 di Cina dan Amerika Serikat untuk merangkum tren penjualan ponsel iPhone.
Pernyataan: Semua data dibuat oleh diri sendiri dan tidak memiliki nilai referensi.
Tabel Excel Pivot dan Diagram Pivot
Ini adalah volume penjualan ponsel iPhone di Cina dan Amerika Serikat pada 2013, 2014, 2015.
---- Untuk menemukan perubahan dalam penjualan ponsel yang berbeda di setiap negara pada tahun 2013, 2014, 2015, tabel pivot perlu dimasukkan dan data dikonfigurasi. Di sini, jika Anda menambahkan bidang ke baris, mereka akan diklasifikasikan berdasarkan baris. (Pertama berdasarkan negara, lalu tahun dan produk);
Dapatkan tabel pivot sesuai dengan konfigurasi
Melalui tabel pivot, mudah untuk melihat total volume penjualan di Cina dan total volume penjualan di Amerika Serikat.
Diagram pivot
Menurut grafik ini, dapat dilihat bahwa dalam beberapa tahun terakhir, penjualan iPhone di China telah turun tajam.
---- Untuk mengamati perbedaan penjualan antara Cina dan Amerika Serikat, Anda hanya perlu mengkonfigurasi panel data sebagai berikut. (Kategori berdasarkan produk dan negara)
Tabel pivot
Diagram pivot
Dapat ditemukan bahwa sejak 2014, penjualan iPhone di China telah mulai lebih rendah daripada yang ada di Amerika Serikat, dan perbedaan antara harganya dan Amerika Serikat menjadi lebih kecil dan lebih kecil.
Melalui analisis penjualan iPhone di atas menggunakan tabel Excel Pivot, kami menemukan bahwa tabel pivot pivot pivot Excel dan grafik pivot memiliki manfaat berikut:
Menganalisis data dari beberapa dimensi, hanya satu tabel yang diperlukan untuk menganalisis perubahan data dari beberapa sudut.
Dengan menyeret dan menjatuhkan siapa pun dapat membuat tampilan yang dinamis dan ringkasan.
Ini memproses dan menganalisis data yang sangat kompleks dan rumit, yang dapat membantu kami secara intuitif menemukan tren dan perbedaan dalam perubahan data.
Ada berbagai macam laporan (grafik batang, bagan garis), memenuhi berbagai kebutuhan.
Ini dapat melakukan pemfilteran data untuk analisis spesifik tertentu.
Oke, Excel dan tabel pivotnya sangat kuat!
Justru karena Excel sangat kuat sehingga persyaratan sekarang ada di sini, dan JavaScript sekarang diperlukan untuk mengimplementasikan fungsi yang sama di sisi web! (Ya Tuhan-) :)
Implementasi Menggunakan JavaScript
Pertama, gunakan array objek untuk mendefinisikan data (digunakan untuk database relasional. Meskipun dipesan di sini, data asli tidak berurutan)
var json = [{"tahun": 2013, "country": "usa", "produk": "iphone 5", "penjualan": 8000, "harga": 6000}, {"tahun": 2013, "country": "usa", "produk": "iPhone 6", "Penjualan": 0, "Harga": 0}, {...}]Atau gunakan pasangan nilai kunci
var data = {"2013": {"cina": {"iPhone": {"Sales": 8000, "Price": 6000}, "iPhone5": {...}}, "usa": {...}}, "2014": {...} ...}Tabel pivot
Pertama, saya akan menyelesaikan masalah tabel pivot terlebih dahulu.
Menurut data di atas, ada dua cara untuk memproses ringkasan data (di sini hanya demo, kode sebenarnya akan jauh lebih rumit)
Gunakan metode traversal data reguler. (Untuk menyelesaikan fungsi penyortiran, gunakan metode Array.prototype.sort() di sini.)
data.sort (fungsi (a, b) {return A.Year> b.year || a.country> b.country || A. produk> b.product || a.sales> b.sales || a.price> b.price;});Di sini kita pertama kali menyortir negara. Jika negara itu sama, maka urutkan berdasarkan produk ...
Kemudian ringkas dan hitung berdasarkan array yang diurutkan (loop traversal, di sini hanya diklasifikasikan berdasarkan tahun dan negara)
var getTotal = function () {var total = {}; untuk (var i = 0; i <json.length; i ++) {var item = json [i]; // Dapatkan total volume penjualan dari masing -masing negara Total [item.country] = Total [item.country] || {}; Total [item.Country] .sales = total [item.country] .sales == tidak ditentukan? item.sales: total [item.country] .sales + item.sales; // Total volume penjualan masing -masing negara dalam tahun yang berbeda total [item.country] [item.year] = total [item.country] [item.year] == tidak ditentukan? item.sales: total [item.country] [item.ear] + item.sales; } var sum = 0; // total penjualan untuk (tombol var total) {sum += total [key] .sales; } total.sum = sum; pengembalian total;};Ini adalah hasil ringkasan
Oke, sekarang Anda dapat membuat tabel berdasarkan data ini (saya tidak akan membahas detail di sini).
Gunakan pernyataan SQL untuk penyortiran dan peringkasan data
Metode kedua untuk mengurutkan dan merangkum data adalah dengan menggunakan SQL.
Hanya satu kalimat
SELECT *, Total dari Data sebagai A, Pilih Jumlah (Penjualan) Dari Grup Data berdasarkan Produk sebagai B Di mana A.Product = B. Produk
Akhirnya, antarmuka ditingkatkan. Metode ini dapat mencapai efek yang sama. Tabel pivot sederhana dianggap lengkap.
Namun, karena proyek ini memiliki banyak tabel dan bahkan tidak tahu nama judul kolom, metode di atas tidak dapat digunakan sama sekali.
Sekarang, dengan cara lain untuk menyelesaikan masalah ini, plug-in ini telah digunakan di bagian Excel IO.
Diselesaikan melalui wijmo
Berikut adalah demo yang menggunakan wijmo untuk menyelesaikan pivot.
Penggunaan dasarnya telah diperkenalkan dalam implementasi JavaScript murni pertama dari Excek IO.
Tabel pivot
Pertama impor paket yang diperlukan
<script src = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo/wijmo.input.min.js"> </script> <script src = ". src = "./ lib/wijmo/wijmo.grid.filter.min.js"> </script> <script src = "./ lib/wijmo/wijmo.chart.min.js"> </script> <script src = "./ lib/wijmo
Kemudian instantiate panel pivot berdasarkan data
<Div id = "pivot_panel"> </div>
var app = {}; app.pivotpanel = new wijmo.olap.pivotpanel ('#pivot_panel'); // mesin adalah mesin data panel ini, dan grafik terkait akan berbagi mesin data. var ng = app.pivotpanel.engine; ng.itemssource = app.collectionView; ng.rowfields.push ('country', 'year', 'produk'); ng.valuefields.push ('Sales (tabel)'); ng.showtotals = wiJmo.olap.olap.Inilah efek dari kode ini:
Menghasilkan tabel berdasarkan panel konfigurasi pivot
<Div id = "pivot_grid"> </div>
app.pivotgrid = wijmo.olap.pivotgrid baru ('#pivot_grid', {itemssource: app.pivotpanel, showselectedHeaders: 'all'});Tambahkan filter
Filter Data Kolom dengan mengklik kanan pada kolom dan memilih filter.
Diagram pivot
app.pivotchart = new wijmo.olap.pivotchart ('#pivot_chart', {chartType: 'column', // bar itemssource: app.pivotpanel});Oke, tabel dan perspektif pivot selesai.
Ini adalah efek lengkap dari demo.
Melalui kontrol pivot, fungsi data proyek ini juga diselesaikan dengan cepat.
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap ini akan membantu untuk belajar atau bekerja semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi.