피벗 분석이란 무엇입니까?
피벗 분석은 데이터 데이터를 다른 차원으로 요약, 필터링, 분석, 비교 및 플로팅하는 것입니다. 다른 요인으로 인한 데이터의 변화와 차이점을 발견하는 데 사용됩니다. 이는 판매, 통계, 금융 등에 매우 유용하며 일부 관리 소프트웨어에 종종 사용됩니다.
다음으로 Excel을 사용하여 피벗 분석 및 피벗 테이블이 무엇인지 소개했습니다.
아래는 Excel의 피벗 테이블을 사용하여 중국과 미국에서 2013 년, 2014 년 및 2015 년에 iPhone 전화의 판매량 데이터를 분석하여 iPhone 전화의 판매 동향을 요약합니다.
진술 : 모든 데이터는 스스로 구성되며 참조 값이 없습니다.
Excel Pivot 테이블 및 피벗 다이어그램
이것은 2013, 2014, 2015 년 중국과 미국의 iPhone 전화의 판매량입니다.
---- 2013 년, 2014 년, 2015 년 각 국가의 다양한 휴대 전화 판매 변경을 발견하려면 피벗 테이블을 삽입하고 데이터를 구성해야합니다. 여기서 줄에 필드를 추가하면 행으로 분류됩니다. (첫 번째 국가, 그 다음에 해 및 제품);
구성에 따라 피벗 테이블을 가져옵니다
피벗 테이블을 통해 중국의 총 판매량과 미국의 총 판매량을 쉽게 알 수 있습니다.
피벗 다이어그램
이 차트에 따르면 최근 몇 년 동안 중국의 iPhone 판매가 급격히 떨어 졌다는 것을 알 수 있습니다.
---- 중국과 미국의 판매 차이를 관찰하려면 다음과 같이 데이터 패널을 구성하면됩니다. (제품 및 국가 별 카테고리)
피벗 테이블
피벗 다이어그램
2014 년 이래로 중국의 iPhone 판매는 미국의 아이폰 판매보다 낮아지기 시작했으며 가격과 미국의 차이는 점점 작아졌습니다.
Excel Pivot 테이블을 사용한 iPhone 판매에 대한 위의 분석을 통해 Excel의 피벗 피벗 피벗 테이블 및 피벗 차트에는 다음과 같은 이점이 있음을 발견했습니다.
여러 차원에서 데이터를 분석하면 여러 각도의 데이터 변경 사항을 분석하려면 하나의 테이블 만 필요합니다.
다른 사람을 끌고 떨어 뜨리면 역동적 인 요약보기를 만들 수 있습니다.
IT는 매우 복잡하고 번거로운 데이터를 처리하고 분석하여 데이터 변경의 추세와 차이를 직관적으로 발견하는 데 도움이 될 수 있습니다.
다양한 보고서 (막대 차트, 라인 차트)가 있으며 다양한 요구 사항을 충족합니다.
특정 특정 분석을 위해 데이터 필터링을 수행 할 수 있습니다.
좋아, Excel과 Pivot 테이블은 너무 강력합니다!
Excel이 너무 강력하여 요구 사항이 현재 여기에 있으며 이제 JavaScript가 웹 쪽에서 동일한 기능을 구현해야하기 때문입니다! (나의 신-) :)
JavaScript를 사용한 구현
먼저, 객체 배열을 사용하여 데이터를 정의하십시오 (관계형 데이터베이스에 사용됩니다. 여기에서 주문되어 있지만 실제 데이터는 변하지 않습니다).
var json = [{ "year": "country": "USA", "USA", "제품": "iPhone 5", "판매": 8000, "가격": 6000}, { "year": 2013, "Country": "USA", "제품": "iPhone 6", "Sales": 0, "Price": 0}, {... ...}]또는 키 값 쌍을 사용하십시오
var data = { "2013": { "China": { "iPhone": { "Sales": 8000, "Price": 6000}, "iPhone5": {...}}, "USA": {...}}, "2014": {...} ...}피벗 테이블
먼저 피벗 테이블의 문제를 먼저 해결하겠습니다.
위의 데이터에 따르면 데이터 요약을 처리하는 두 가지 방법이 있습니다 (여기에는 데모가 있습니다. 실제 코드는 훨씬 더 복잡합니다)
정기적 인 데이터 트래버스 방법을 사용하십시오. (정렬 함수를 완료하려면 여기에서 Array.prototype.sort() 메소드를 사용하십시오.)
Data.SORT (함수 (A, B) {return A.Year> B. Year || A.Country> B.Country || A.Product> B. 제품 || A.Sales> B. a.price> B.Price;});여기서 우리는 먼저 국가별로 정렬합니다. 국가가 동일하다면 제품별로 정렬하십시오 ...
그런 다음 정렬 된 배열을 기반으로 요약하고 계산합니다 (Loop Traversal, 여기서는 연도와 국가별로 분류됩니다).
var getTotal = function () {var total = {}; for (var i = 0; i <json.length; i ++) {var item = json [i]; // 각 국가의 총 판매량을 얻습니다. {}; 총 [item.country] .sales = Total [item.country] .sales == undefined? item.sales : 총 [item.country] .sales + item.sales; // 여러 해에 각 국가의 총 판매량 총 [Item.Country] [item.year] = 총 [item.country] [item.year] == 정의되지 않았습니까? item.sales : Total [item.country] [item.year] + item.sales; } var sum = 0; // (총계의 총 매출) {sum += Total [key] .sales; } total.sum = sum; 반환 총;};이것이 요약 결과입니다
자, 이제이 데이터를 기반으로 테이블을 만들 수 있습니다 (여기서는 자세히 설명하지 않습니다).
데이터 정렬 및 요약에 SQL 문을 사용하십시오
데이터를 정렬하고 요약하는 두 번째 방법은 SQL을 사용하는 것입니다.
단 하나의 문장
선택 *, 데이터에서 AS AS AS AS, SELECT SUM (SOLECT SUM (판매) (판매) BY BY B AS B AS A A.PRODUT = B. PRODUCT를 선택하십시오.
마지막으로 인터페이스가 개선되었습니다. 이 방법은 비슷한 효과를 얻을 수 있습니다. 간단한 피벗 테이블은 완전한 것으로 간주됩니다.
그러나이 프로젝트에는 많은 테이블이 있으며 열 제목의 이름을 알지 못하므로 위의 방법을 전혀 사용할 수 없습니다.
이제이 문제를 해결하기 위해이 플러그인은 Excel IO 부분에서 사용되었습니다.
Wijmo를 통해 해결되었습니다
다음은 Wijmo를 사용하여 피벗을 완료하는 데모입니다.
기본 사용은 Excek IO의 최초의 순수 JavaScript 구현에서 소개되었습니다.
피벗 테이블
먼저 필요한 패키지를 가져옵니다
<script src = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo/wijmo.input.min.js"> </script> <script src = "./ lib/wijmo/wijmo.grid.min.js"> </script> <script 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"> </script>
그런 다음 데이터를 기반으로 피벗 패널을 인스턴스화하십시오
<div id = "pivot_panel"> </div>
var app = {}; app.pivotpanel = new wijmo.olap.pivotpanel ( '#pivot_panel'); // 엔진은이 패널의 데이터 엔진이며 관련 차트는 데이터 엔진을 공유합니다. var ng = app.pivotpanel.engine; ng.itemssource = app.collectionView; ng.rowfields.push ( 'country', 'year', 'product'); ng.valuefields.push ( 'sales (table)'; ng.showrowtotals = wijmo.olap.showtals.subtal.이 코드의 효과는 다음과 같습니다.
피벗 구성 패널을 기반으로 테이블을 생성합니다
<div id = "pivot_grid"> </div>
app.pivotgrid = new wijmo.olap.pivotgrid ( '##pivot_grid', {itemssource : app.pivotpanel, showSelectedHeaders : 'all'});필터를 추가하십시오
열을 마우스 오른쪽 버튼으로 클릭하고 필터를 선택하여 열 데이터를 필터링합니다.
피벗 다이어그램
app.pivotchart = new wijmo.olap.pivotchart ( '#pivot_chart', {Charttype : 'column', // bar itemssource : app.pivotpanel});좋아, 피벗 테이블과 관점이 완료되었습니다.
이것이 데모의 완전한 효과입니다.
피벗 제어를 통해이 프로젝트의 데이터 기능도 빠르게 완료됩니다.
요약
위는이 기사의 전체 내용입니다. 모든 사람의 공부 나 업무에 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다.