การวิเคราะห์เดือยคืออะไร?
การวิเคราะห์เดือยคือการสรุปกรองวิเคราะห์เปรียบเทียบและพล็อตข้อมูลในมิติที่แตกต่างกัน ใช้เพื่อค้นหาการเปลี่ยนแปลงข้อมูลและความแตกต่างที่เกิดจากปัจจัยต่าง ๆ สิ่งนี้มีประโยชน์มากในการขายสถิติการเงิน ฯลฯ และมักใช้ในซอฟต์แวร์การจัดการบางอย่าง
ต่อไปฉันใช้ Excel เพื่อแนะนำการวิเคราะห์เดือยและตารางเดือย
ด้านล่างนี้ฉันใช้ตารางเดือยของ Excel เพื่อวิเคราะห์ข้อมูลปริมาณการขายของโทรศัพท์ iPhone ในปี 2013, 2014 และ 2015 ในประเทศจีนและสหรัฐอเมริกาเพื่อสรุปแนวโน้มการขายของโทรศัพท์ iPhone
คำสั่ง: ข้อมูลทั้งหมดถูกสร้างขึ้นโดยตัวเองและไม่มีค่าอ้างอิง
โต๊ะหมุน Excel และไดอะแกรมเดือย
นี่คือปริมาณการขายของโทรศัพท์ iPhone ในประเทศจีนและสหรัฐอเมริกาในปี 2013, 2014, 2015
---- เพื่อค้นหาการเปลี่ยนแปลงในยอดขายโทรศัพท์มือถือที่แตกต่างกันในแต่ละประเทศในปี 2013, 2014, 2015 จำเป็นต้องแทรกตารางเดือยและกำหนดค่าข้อมูล ที่นี่ถ้าคุณเพิ่มฟิลด์ลงในแถวพวกเขาจะถูกจำแนกตามแถว (แรกโดยประเทศปีและผลิตภัณฑ์);
รับตารางเดือยตามการกำหนดค่า
ผ่านตารางเดือยมันเป็นเรื่องง่ายที่จะเห็นปริมาณการขายรวมในประเทศจีนและปริมาณการขายรวมในสหรัฐอเมริกา
ไดอะแกรมเดือย
จากแผนภูมินี้จะเห็นได้ว่าในช่วงไม่กี่ปีที่ผ่านมายอดขาย iPhone ในประเทศจีนลดลงอย่างรวดเร็ว
---- เพื่อสังเกตความแตกต่างของการขายระหว่างจีนและสหรัฐอเมริกาคุณจะต้องกำหนดค่าแผงข้อมูลดังนี้ (หมวดหมู่ตามผลิตภัณฑ์และประเทศ)
โต๊ะเดือย
ไดอะแกรมเดือย
พบว่าตั้งแต่ปี 2014 ยอดขาย iPhone ในประเทศจีนเริ่มต่ำกว่าในสหรัฐอเมริกาและความแตกต่างระหว่างราคาและสหรัฐอเมริกามีขนาดเล็กลงและเล็กลง
จากการวิเคราะห์ด้านบนของการขาย iPhone โดยใช้ตาราง Excel Pivot เราพบว่าตารางเดือยหมุนเดือยของ Excel และแผนภูมิเดือยมีประโยชน์ดังต่อไปนี้:
การวิเคราะห์ข้อมูลจากหลายมิติจำเป็นต้องใช้เพียงหนึ่งตารางในการวิเคราะห์การเปลี่ยนแปลงข้อมูลจากหลายมุม
โดยการลากและทิ้งทุกคนสามารถสร้างมุมมองสรุปแบบไดนามิก
มันประมวลผลและวิเคราะห์ข้อมูลที่ซับซ้อนและยุ่งยากมากซึ่งสามารถช่วยให้เราค้นพบแนวโน้มและความแตกต่างของการเปลี่ยนแปลงข้อมูลอย่างสังหรณ์ใจ
มีรายงานที่หลากหลาย (แผนภูมิบาร์แผนภูมิบรรทัด) ตอบสนองความต้องการที่หลากหลาย
มันสามารถทำการกรองข้อมูลสำหรับการวิเคราะห์เฉพาะบางอย่าง
ตกลง Excel และตารางเดือยของมันมีพลังมาก!
มันเป็นเพราะ Excel มีประสิทธิภาพมากจนขณะนี้ข้อกำหนดอยู่ที่นี่และตอนนี้ JavaScript จำเป็นต้องใช้ฟังก์ชั่นเดียวกันบนเว็บ! (พระเจ้าของฉัน-) :)
การใช้งานโดยใช้ JavaScript
ขั้นแรกให้ใช้อาร์เรย์วัตถุเพื่อกำหนดข้อมูล (ใช้สำหรับฐานข้อมูลเชิงสัมพันธ์แม้ว่าจะมีการสั่งซื้อที่นี่ข้อมูลจริงจะไม่ถูกเรียงลำดับ)
var json = [{"ปี": 2013, "ประเทศ": "สหรัฐอเมริกา", "ผลิตภัณฑ์": "iPhone 5", "ขาย": 8000, "ราคา": 6000}, {"ปี": 2013, "ประเทศ": "USA", "ผลิตภัณฑ์": "iPhone 6", "ขาย": 0, "ราคา": 0}หรือใช้คู่คีย์-ค่า
var data = {"2013": {"จีน": {"iphone": {"ขาย": 8000, "ราคา": 6000}, "iphone5": {... }}, "USA": {... }}, "2014": {... } ... }}}โต๊ะเดือย
ก่อนอื่นฉันจะแก้ปัญหาของตารางเดือยก่อน
จากข้อมูลข้างต้นมีสองวิธีในการประมวลผลข้อมูลสรุปข้อมูล (นี่เป็นเพียงการสาธิตรหัสจริงจะซับซ้อนกว่ามาก)
ใช้วิธีการสำรวจข้อมูลปกติ (ในการทำฟังก์ชั่นการเรียงลำดับให้ใช้เมธอด Array.prototype.sort() ที่นี่)
data.sort (ฟังก์ชั่น (a, b) {return a.year> b.year || a.country> b.country || a.product> b.product || a.sales> b.sales || a.price> b.price;});ที่นี่เราจัดเรียงตามประเทศก่อน หากประเทศเหมือนกันให้จัดเรียงตามผลิตภัณฑ์ ...
จากนั้นสรุปและคำนวณตามอาร์เรย์ที่เรียงลำดับ (วนวนไปมาที่นี่มันถูกจำแนกตามปีและประเทศ)
var getTotal = function () {var total = {}; สำหรับ (var i = 0; i <json.length; i ++) {var item = json [i]; // รับปริมาณการขายทั้งหมดของแต่ละประเทศทั้งหมด [item.country] = total [item.country] || - ทั้งหมด [item.country] .sales = total [item.country] .sales == ไม่ได้กำหนด? item.sales: ทั้งหมด [item.country] .sales + item.sales; // ปริมาณการขายรวมของแต่ละประเทศในปีที่แตกต่างกันทั้งหมด [item.country] [item.year] = total [item.country] [item.year] == ไม่ได้กำหนด? item.sales: ทั้งหมด [item.country] [item.year] + item.sales; } var sum = 0; // ยอดขายรวมสำหรับ (คีย์ VAR ทั้งหมด) {sum += ทั้งหมด [คีย์] .sales; } total.sum = sum; ผลตอบแทนทั้งหมด;};นี่คือผลสรุป
โอเคตอนนี้คุณสามารถสร้างตารางตามข้อมูลนี้ (ฉันจะไม่เข้าไปดูรายละเอียดที่นี่)
ใช้คำสั่ง SQL สำหรับการเรียงลำดับข้อมูลและการสรุป
วิธีที่สองในการเรียงลำดับและสรุปข้อมูลคือการใช้ SQL
เพียงหนึ่งประโยค
เลือก *, ทั้งหมดจากข้อมูลเป็น A, เลือกผลรวม (ยอดขาย) จากกลุ่มข้อมูลตามผลิตภัณฑ์เป็น b โดยที่ a.product = b.product
ในที่สุดอินเทอร์เฟซได้รับการปรับปรุง วิธีนี้สามารถบรรลุผลที่คล้ายกัน ตารางเดือยง่าย ๆ ถือว่าสมบูรณ์
อย่างไรก็ตามเนื่องจากโครงการนี้มีหลายตารางและไม่ทราบชื่อของชื่อคอลัมน์วิธีการข้างต้นจึงไม่สามารถใช้งานได้เลย
ตอนนี้ในอีกวิธีหนึ่งในการแก้ปัญหานี้ปลั๊กอินนี้ถูกใช้ในส่วน Excel IO
แก้ไขผ่าน wijmo
นี่คือการสาธิตที่ใช้ Wijmo เพื่อทำเดือยให้สมบูรณ์
การใช้งานขั้นพื้นฐานได้รับการแนะนำในการใช้งาน JavaScript บริสุทธิ์ครั้งแรกของ Excek IO
โต๊ะเดือย
นำเข้าแพ็คเกจที่จำเป็นก่อน
<script src = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo/wijmo.input.min.js"> </script> src = "./ lib/wijmo/wijmo.grid.filter.min.js"> </script> <script src = "./ lib/wijmo/wijmo.chart.min.js"
จากนั้นสร้างอินสแตนซ์แผงหมุนตามข้อมูล
<div id = "pivot_panel"> </div>
var app = {}; app.pivotpanel = ใหม่ wijmo.olap.pivotpanel ('#pivot_panel'); // เครื่องยนต์เป็นเครื่องมือข้อมูลของแผงนี้และแผนภูมิที่เกี่ยวข้องจะแบ่งปันเครื่องมือข้อมูล var ng = app.pivotpanel.engine; ng.itemssource = app.collectionView; ng.rowfields.push ('ประเทศ', 'ปี', 'ผลิตภัณฑ์'); ng.valuefields.push ('การขาย (ตาราง)');นี่คือผลกระทบของรหัสนี้:
สร้างตารางตามแผงกำหนดค่า Pivot
<div id = "pivot_grid"> </div>
app.pivotgrid = ใหม่ wijmo.olap.pivotgrid ('#pivot_grid', {itemsSource: app.pivotpanel, showselectedheaders: 'all'});เพิ่มตัวกรอง
ตัวกรองคอลัมน์ข้อมูลโดยคลิกขวาที่คอลัมน์และเลือกตัวกรอง
ไดอะแกรมเดือย
app.pivotchart = ใหม่ wijmo.olap.pivotchart ('#pivot_chart', {charttype: 'คอลัมน์', // bar itementsource: app.pivotpanel});ตกลงตารางเดือยและมุมมองจะเสร็จสิ้น
นี่คือผลที่สมบูรณ์ของการสาธิต
ผ่านการควบคุมเดือยฟังก์ชั่นข้อมูลของโครงการนี้เสร็จสมบูรณ์อย่างรวดเร็ว
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร