ピボット分析とは何ですか?
ピボット分析は、さまざまな次元でデータを要約、フィルター、分析、比較、プロットすることです。さまざまな要因によって引き起こされるデータの変化を発見するために使用されます。これは、販売、統計、金融などで非常に役立ち、一部の管理ソフトウェアでよく使用されます。
次に、Excelを使用して、ピボット分析とピボットテーブルを紹介しました。
以下では、Excelのピボットテーブルを使用して、2013年、2014年、2015年に中国と米国のiPhone携帯電話の販売量データを分析して、iPhone携帯電話の販売傾向を要約しています。
ステートメント:すべてのデータは自分で構成されており、参照値はありません。
ピボットテーブルとピボット図を優れています
これは、2013年、2014年、2015年の中国と米国のiPhone携帯電話の販売量です。
---- 2013年、2014年、2015年に各国のさまざまな携帯電話販売の変更を発見するには、ピボットテーブルを挿入し、データを構成する必要があります。ここで、行にフィールドを追加すると、行で分類されます。 (最初は国、次に年と製品);
構成に応じてピボットテーブルを取得します
ピボットテーブルを通じて、中国の総売上高と米国の総売上高を見るのは簡単です。
ピボット図
このチャートによると、近年、中国でのiPhoneの販売が急激に低下していることがわかります。
----中国と米国の販売の違いを観察するためには、次のようにデータパネルを構成するだけです。 (製品と国別のカテゴリー)
ピボットテーブル
ピボット図
2014年以降、中国でのiPhoneの販売は米国の販売よりも低くなり始めており、その価格と米国の違いはますます小さくなっています。
Excelピボットテーブルを使用したiPhone販売の上記の分析を通じて、Excelのピボットピボットピボットテーブルとピボットチャートには次の利点があることがわかりました。
複数の次元からのデータを分析すると、複数の角度からのデータの変化を分析するために必要なテーブルは1つだけです。
ドラッグしてドロップすることにより、動的な要約ビューを作成できます。
非常に複雑で面倒なデータを処理および分析し、データの変更の傾向と違いを直感的に発見するのに役立ちます。
さまざまなレポート(バーチャート、ラインチャート)があり、さまざまなニーズを満たしています。
特定の特定の分析のためにデータフィルタリングを実行できます。
わかりました、Excelとそのピボットテーブルはとても強力です!
Excelが非常に強力であるため、要件がここにあるため、JavaScriptはWeb側に同じ機能を実装するために必要になりました。 (我が神よ-) :)
JavaScriptを使用した実装
まず、オブジェクト配列を使用してデータを定義します(リレーショナルデータベースに使用されます。ここで注文されていますが、実際のデータは順序付けられていません)
var json = [{"year":2013、 "country"、 "usa"、 "product": "iphone 5"、 "sales":8000、 "" "" year ":2013、" country ":" usa "、" product ":" iphone 6 "、" sales ":0、" "}、{... ...}]または、キー価値のペアを使用します
var data = {"2013":{"china":{"iphone":{"sales":8000、 "frice":6000}、 "iphone5":{...}}}}}}}}}、{...}}、 "2014":{...} ...}}ピボットテーブル
最初に、最初にピボットテーブルの問題を解決します。
上記のデータによると、データの概要を処理する2つの方法があります(ここにデモだけで、実際のコードははるかに複雑になります)
通常のデータトラバーサル方法を使用します。 (ソート機能を完了するには、ここでArray.prototype.sort()メソッドを使用してください。)
data.sort(function(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 = {}; for(var i = 0; i <json.length; i ++){var item = json [i]; //各国の総販売量を取得します合計[item.country] =合計[item.country] || {}; Total [item.country] .sales = total [item.country] .sales == undefined? items.sales:total [item.country] .sales + item.sales; //異なる年の各国の総販売量合計[item.country] [item.year] = total [item.country] [item.year] == undefined? items.sales:total [item.country] [item.year] + iteal.sales; } var sum = 0; //(合計でvarキー)の総売上{sum +=合計[key] .sales; } total.sum = sum;合計を返します;};これが概要の結果です
さて、このデータに基づいてテーブルを作成できます(ここでは詳しく説明しません)。
データの並べ替えと要約には、SQLステートメントを使用します
データをソートして要約する2番目の方法は、SQLを使用することです。
たった1つの文
select *、total from as as as、select select sum(販売)by by product by bs a b where a.product = b.product
最後に、インターフェイスが改善されます。この方法は同様の効果を達成できます。シンプルなピボットテーブルは完全であると見なされます。
ただし、このプロジェクトには多くのテーブルがあり、列のタイトルの名前さえ知らないため、上記の方法はまったく使用できません。
現在、この問題を解決する別の方法で、このプラグインはExcel IO部品で使用されています。
Wijmo経由で解決しました
Wijmoを使用してピボットを完了するデモです。
その基本的な使用は、Excek IOの最初の純粋なJavaScript実装で導入されています。
ピボットテーブル
最初に必要なパッケージをインポートします
<スクリプトsrc = "./ lib/wijmo/wijmo.min.js"> </script> <script src = "./ lib/wijmo.input.min.js"> </script> <script src = "./ lib/wijmo/wijmo.grid.min.js" src = "./ lib/wijmo/wijmo.grid.filter.min.js"> </script> <script src = "./ lib/wijmo/wijmo.chart.min.js"> </script> <スクリプトsrc = "./
次に、データに基づいてピボットパネルをインスタンス化します
<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'、 'rudge'); ng.valuefields.push( 'sales(table)'); ng.showrowtotals = wijmo.olap.olap. showtotals.subtotals;このコードの効果は次のとおりです。
ピボット構成パネルに基づいてテーブルを生成します
<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});OK、ピボットテーブルと視点が完了しました。
これがデモの完全な効果です。
ピボット制御により、このプロジェクトのデータ関数も迅速に完了します。
要約します
上記は、この記事のコンテンツ全体です。みんなの勉強や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。