【JPIERE-0356】ピボットウィンドウ(ピボットテーブル)

 ピボットウィンドウは、JPiere/iDempiere上でエクセルのピボットテーブルを作成し表示する事ができます。

ピボットウィンドウはJPiereサポーターは無料で使用できます。

 ピボットウィンドウは、iDempiereのWeb-UIの開発フレームワークであるZKの商用ライセンスのコンポーネントを使用して開発しており、JPiereサポーターになる事で、無料で使用する事ができます。

ピボットウィンドウ(コントローラーオープン)
ピボットウィンドウ(コントローラーオープン)
ピボットウィンドウ(コントローラークローズ)
ピボットウィンドウ(コントローラークローズ)

ピボットウィンドウの操作

ピボットウィンドウ全体イメージ

 ピボットウィンドウはピボットテーブルが表示させる"ピボットテーブル領域"と、ピボットテーブルを表示させるための各種設定を行う"コントローラー領域"に分けられます。コントローラー領域は、折りたたむことができ、ピボットテーブル領域を広くする事ができます。

ピボットウィンドウ

コントローラー領域

 コントローラー領域は、ピボットテーブルに表示するデータを抽出する条件を入力する”検索フィールド領域”と、ピボットテーブルの行、列、集計値を設定する”ピボットテーブル定義領域”、ピボットテーブルの表示方法を設定する”ピボットテーブル表示設定領域”、に分ける事ができます。

ピボットウィンドウ

◆検索フィールド領域

 検索フィールド領域は、ピボットテーブルに表示するデータの抽出条件を入力する領域です。

◆ピボットテーブル定義領域

 ピボットテーブル定義領域では、ピボットテーブルの行、列、集計値を定義する事ができます。

 ピボットテーブル定義領域の上部には、事前定義ボタンが配置されます。事前定義ボタンにはあらかじめ行、列、集計値の組み合わせを定義し登録しておく事ができ、ボタンを押すことで、その定義をすぐに呼び出す事ができます。

 ピボットテーブル定義領域の下部には、ピボットテーブルの行、列、集計値の定義が表示されます。それらの定義は、ドラッグ&ドロップで簡単に変更する事ができます。

◆ピボットテーブル表示設定領域

 ピボットテーブル表示設定領域では、ピボットテーブルの表示の方法を設定します。

【値ラベル表示位置】… 集計値が2種類以上ある場合に、そのラベルを”行”と”列”のどちらに表示するのか設定する事ができます。

【列合計表示】… 列の合計行を表示するかどうか設定する事ができます。

【行合計表示】… 行の合計行を表示するかどうか設定する事ができます。

【自動改行】… ピボットテーブルに表示されている情報を自動で改行させるかどうか設定する事ができます。

… ピボットテーブルを表示します。

… 表示しているピボットテーブルの内容をExcelか、CSV形式でダウンロードする事ができます。ピボットテーブルは画面上では、表示するデータが多くなるとページ行数の設定によりページングされて表示されますが、ダウンロードする事により、1枚のスプレッドシートに全データを表示する事ができます。

【集計対象レコード件数】… 読取専用フィールドで、ピボットテーブルで集計する対象となっているレコード件数を表示します。ピボットウィンドウは、パフォーマンスの観点により集計対象レコード件数を制限する事もできます。

… 表示しているピボットテーブルの集計する対象となっているレコードをダウンロードする事ができます。

【ページ行数】… ピボットウィンドウでは、ピボットテーブルは縦スクロールして表示する事はできませんが、その代わりページング機能により、ページ毎に分割して表示されます。このフィールドには、ページ分割する行数を設定します。

 

ピボットテーブル領域

  ”ピボットテーブル領域”には、ピボットテーブルが表示されます。表示された数値を右クリックすると、ポップアップウィンドウが表示され、ピボットテーブルに表示されている数値を構成しているレコードにドリルダウンする事ができます。

ピボットウィンドウ
ピボットウィンドウ

◆ドリルダウンポップアップウィンドウ

 右クリックした数値を構成しているレコードを一覧表示するドリルダウンポップアップウィンドウです。左端のラジオボタンで選択したレコードにズームボタンでズームする事ができます。

ドリルダウンポップアップウィンドウ
ドリルダウンポップアップウィンドウ

… 選択したレコードに対してズームする事ができます。

… 一覧表示しているレコードをダウンロードする事ができます。

ピボットウィンドウ設定

ピボットウィンドウはアプリケーション辞書の各種設定をもとに簡単に作成する事ができます。ピボットウィンドウはシステムクライアントのピボットウィンドウ設定で作成する事ができます。

ピボットウィンドウ設定タブ

ピボットウィンドウ設定タブ
ピボットウィンドウ設定タブ

【補足説明】主テーブルの必須カラム

ピボットウィンドウの主テーブルには次のカラムが必須です。

  • AD_Client_ID
  • AD_Org_ID
  • IsActive

◆テーブル

ピボットウィンドウで集計するデータのメインとなるテーブルを1つ選択します。

◆SQL From句

テーブルを選択した際に自動入力されます。必要に応じて、JOIN句を使用して他のテーブルを結合する事もできます。

◆SQL Where句

ピボットテーブルで集計するデータにあらかじめ制限をかけたい場合に、その条件を入力します。

◆クエリレコード確認

ここで設定した数値以上のデータをピボットテーブルで集計しようとすると、集計前に警告を表示させる事ができます。0の場合は、警告は表示されません。

◆最大クエリレコード

ここで設定した数値以上のデータをピボットテーブルで集計しようとすると、エラーが表示され集計する事ができなくなります。0の場合は、エラーは表示されません。

◆フォーマットパターン

集計し表示される数値の、フォーマットを設定する事ができます。

ピボットウィンドウフィールドタブ

ピボットウィンドウフィールドの設定は、検索ウィンドウの検索ウィンドウカラムの設定とほとんど同じです。

ピボットウィンドウフィールドタブ
ピボットウィンドウフィールドタブ

初期設定タブ

初期設定タブとその子タブのフィールド初期配置タブでは、ピボットウィンドウの行、列、集計値の定義を事前に登録しておき、ピボットウィンドウ定義領域にボタンとして配置する事ができます。

初期設定タブ
初期設定タブ

初期設定フィールドタブ

初期設定フィールドタブ
初期設定フィールドタブ

◆ピボットテーブルフィールド

ピボットウィンドウフィールドタブに設定されているフィールドを選択する事ができます。

◆ピボットテーブル初期配置

ピボットウィンドウフィールドに入力したフィールドをピボットウィンドウのどこに配置するのか、下記の4つから選択します。

  • 行(Rows:R)
  • 列(Columns:C)
  • 値(Values:V)
  • 使用しない(Unused:U)

フォーム設定

ピボットウィンドウ設定を行ったら、フォームに設定し、メニューに割り当てる事で、ピボットウィンドウを使用する事ができます。

フォーム設定

メニュー設定

作成したフォームをメニューに割り当てます。

資料

ピボットウィンドウの操作と設定

検証用ピボットウィンドウの開発環境の構築情報

  ZK Pivottableの機能を検証する目的で試験的に作成したピボットウィンドウのソースコードを公開しています(jpiere.plugin.pivotwindow.experimental)。検証用用ピボットテーブルは下記の2つのプラグインから構成されています。

  • jpiere.plugin.webui.pivotwindow.experimental -> ピボットウィンドウのソースコードが格納されています。
  • jpiere.plugin.webui.pivotwindow.fragment.experimental -> ピボットウィンドウで使用しているZK Pivottableのjarファイルを配置する事を意図したフラグメントプロジェクトです。

ZK Pivottableのライブラリをダウンロードして、下記のように配置して下さい。

【注意】検証用ピボットウィンドウはドリルダウンできません。

  ZK Pivottableの機能を検証する目的で試験的に作成したピボットウィンドウはドリルダウン機能など、JPiereサポーターに提供しているピボットウィンドウの機能のいくつかの機能が実装されていません。また機能検証は既に終了しており、ソースコードの公開はしていますが、メンテナンスは行っておりません。

【注意】ZK Pivottableは商用ライセンスです。

  ZK Pivottableは、商用ライセンスです。検証用ピボットウィンドウの開発環境を構築する際には、ライセンス条項を確認して下さい。

ピボットウィンドウはJPiereサポーターは無料で使用できます。

 ピボットウィンドウは、iDempiereのWeb-UIの開発フレームワークであるZKの商用ライセンスのコンポーネントを使用して開発しており、JPiereサポーターになる事で、無料で使用する事ができます。

更新履歴

2023年2月21日(Ver10): ピボットのデータをXlsx形式でダウンロード(ベータ機能)

ピボットウィンドウに表示されているデータをXlsx形式でダウンロードします。ピボットテーブルが組まれている形でダウンロードできます。

  • ダウンロードできるのは、分析軸のフィールドにID系のフィールドが無い場合に限ります。
  • ピボットテーブルだけでなく、集計対象となっているレコードもダウンロードするので、その分ダウンロードに時間がかかります。
エクセルですでにピボットテーブルが設定されています。
エクセルですでにピボットテーブルが設定されています。

2023年2月20日(Ver9以上): ラベル幅とデータ幅の初期値設定

ピボットウィンドウを表示した時のラベルの幅とデータの幅の初期値を設定できるようにしました。

「ピボットウィンドウ設定」の「初期値設定」タブで設定できます。

  • ラベル幅[LabelWidth] … ラベル幅を100~500で設定。
  • データ幅[Width] … データ幅を100~500で設定。

2023年2月20日(Ver9以上): ピボットウィンドウのセルのCSSクラス

ピボットウィンドウのセルに下記の4つのCSSのクラスを追加しました。偶数と奇数のセルで異なるCSSのクラスが割り当たっていますので、段柄にすることができます。

  • pivotwindow_row_even_column_even … 偶数行の偶数列のセルに設定されるCSSクラス。
  • pivotwindow_row_even_column_odd … 偶数行の奇数列のセルに設定されるCSSクラス。
  • pivotwindow_row_odd_column_even … 奇数行の偶数列のセルに設定されるCSSクラス。
  • pivotwindow_row_odd_column_odd … 奇数行の奇数列のセルに設定されるCSSクラス。

2022年11月20日: Out of Boundsのエラー修正

ピボットウィンドウを開いた直後に、分析軸を移動するとドラッグ&ドロップで移動させると「Out of Bounds」のエラーが出る時がある不具合を修正しました。

PivotWindowの集計軸の移動時のOutOfBounds.pdf
PDFファイル 606.3 KB

2021年8月2日:ピボットウィンドウコントローラーの開閉の初期値設定

ピボットウィンドウを開いた際に、ピボットウィンドウコントローラーの開閉を設定しておく事ができるようにしました。この改修は、ピボットウィンドウの検索条件の初期値で主にピボットを表示した時に、より簡単な操作で参照できるように意図しています。

  • JP_PivotWindowテーブルにIsCollapsedByDefaultカラムを追加しています。

2020年5月11日:自動リフレッシュとマニュアルリフレッシュ

  • ピボットウィンドウの「コントローラー領域」のフィールドグループを開いたり閉じたりした時に、自動的に「ピボットウィンドウ領域」をリフレッシュするようにしました。
  • リフレッシュボタンを追加して、リフレッシュボタンを押した時に「ピボットウィンドウ領域」をリフレッシュするようにしました。

2018年2月6日:集計対象となったレコードをxlsx形式でダウンロードできるようにしました

ピボットウィンドウの集計対象となったレコードをxlsx形式でダウンロードできるようにしました。

2018年2月5日:ZK pivottableのバージョンアップ

ZK pivottableのバージョンを2.3.0から2.4.0へバージョンアップしました。

2017年12月19日:開いておく行階層と開いておく列階層の設定の追加

ピボットテーブルを表示する際に、予め開いておく行の階層と列の階層を指定できるようにしました。ピボットテーブル表示後でも、ある階層まですべて開きたい時に使用する事ができます。

ピボットウィンドウ
ピボットウィンドウ

◆追加カラム:JP_PivotWindowDefaultテーブル

  JP_PivotWindowDefaultテーブルに次の2つのカラムを追加しました。

  • JP_OpenRowNodeDepth(開いておく行階層)
  • JP_OpenColumnNodeDepth(開いておく列階層)

  初期設定タブに設定した数値が、ピボットウィンドウを表示した際に初期値として設定されます。0以下の数値を入力する事はできません。

初期設定タブ
初期設定タブ

関連するコンテンツ

ピボットウィンドウの大量データ検証