[]
PivotEngine クラスの新しいインスタンスを初期化します。
フィールドの初期化データを含むJavaScriptオブジェクト。
このPivotEngine が所有するPivotField オブジェクトのプロパティをユーザーが編集できるかどうかを決定する値を取得または設定します。
このプロパティをfalseに設定すると、 PivotGrid や PivotPanel などのコントロールによって表示されるコンテキストメニューには、 フィールドの設定を変更するオプションが含まれません。
このプロパティのデフォルト値は true です。
ビューの更新を非同期に行うかどうかを決定する値を取得または設定します。
このプロパティはデフォルトではtrueに設定されます。これにより、大規模なデータセットの集約が 非同期に実行され、UIスレッドの停止が防がれます。
このプロパティのデフォルト値はtrueです。
エンジンがitemsSource に基づいてフィールドを自動的に生成するかどうかを 決定する値を取得または設定します。
このプロパティをtrueに設定すると、エンジンはitemsSource 内アイテムの 各プロパティに対してフィールドを生成します。 自動生成フィールドのPivotField.binding プロパティはプロパティ名に設定され、 PivotField.header プロパティはバインディングの最初の文字を大文字にし、 各大文字の前にスペースを追加した文字列に設定されます。
たとえば、 'customerName'プロパティは、エンジンにPivotField.binding が 'customerName'に設定され、PivotField.header が 'Customer Name'に設定されたフィールドを作成させます。
文字列を使用してビューリストの1つにフィールドを追加するときは、PivotField.binding ではなく PivotField.header を指定する必要があります(バインディングとは異なり、フィールドヘッダーは一意でなければなりません)。
このプロパティのデフォルト値はtrueです。
生データを含むICollectionView を取得します。
出力テーブル内の列として表示されるフィールドを定義するPivotField オブジェクトのリストを取得します。
デフォルトのフィルタタイプを(値または条件に基づいて)取得または設定します。
このプロパティのデフォルト値はnullです。 これにより、エンジンはクライアント側で FilterType.Both またはサーバー側で FilterType.Conditionを使用します。
フィルターにwijmo.grid.filter.ValueFilter.filterText プロパティによって選択された値のみを含めるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。この動作はExcelと同じです。 この動作を無効にするには、このプロパティをfalseに設定します。 その場合、リストに表示される項目のみが検索され、 フィルタに含まれる項目が検索されません。
データソースによって公開されるPivotField オブジェクトのリストを取得します。
このリストは、itemsSource プロパティを設定するたびに自動的に作成されます。
ピボットビューは、このリストからビューを定義するリスト (valueFields、rowFields、columnFields、filterFields)にフィールドをコピーすることで定義されます。
たとえば、次のコードは、データソースをPivotEngine に割り当てた後、 rowFields、columnFields、valueFields の各リストにフィールドを 追加することでビューを定義します。
import { PivotEngine } from '@mescius/wijmo.olap';
// ピボットエンジンを作成します
let pe = new PivotEngine();
// データソースを設定します(フィールドリストを設定します)
pe.itemsSource = this.getRawData();
// Olapビューの構築中は更新を禁止します
pe.beginUpdate();
// 国を行に表示します
pe.rowFields.push('Country');
// カテゴリと製品を列に表示します
pe.columnFields.push('Category');
pe.columnFields.push('Product');
// 売上高の合計をセルに表示します
pe.valueFields.push('Sales');
// ビューの定義を完了します
pe.endUpdate();
フィルタとして使用されるフィールドを定義するPivotField オブジェクトのリストを取得します。
このリストのフィールドは出力テーブルには表示されませんが、入力データのフィルタとして使用されます。
ビュー定義が変更されたが、変更がまだ適用されていない(deferUpdateモード)かどうかを示す値を取得します。
エンジンがサーバーのitemsSource にバインドされているか、またはローカルデータを使用しているかを決定する値を取得します。
エンジンが現在更新されているかどうかを示す値を取得します。
ピボットビューが現在定義されているかどうかを判定する値を取得します。
ピボットビューが定義されているのは、valueFields 、rowFields 、またはcolumnFields リストのいずれかが空でない場合です。
分析される生データ、SSASキューブサービスを記述するオブジェクト、またはComponentOne DataEngineサービス用のURLを含む文字列を含む配列またはICollectionView を取得または設定します。
1番目のオプション(配列またはICollectionView の使用)は最も単純ですが、 処理できる生データの量が制限となります。 データセットに約50,000件以上がある場合、配列に生データを ロードするには多くの時間がかかります。
このオプションを使用するには、itemsSource プロパティを、 分析する生データを含む任意のJavaScript配列に設定します。 次に例を示します。
import { PivotEngine } from '@mescius/wijmo.olap';
let ng = PivotEngine({
itemsSource = getDataArray(1000);
});
2番目のオプション(OLAP SSASキューブへの直接接続)は、 PivotEngine がSSASサーバーによって提供されるOLAPキューブに直接接続できるようにします。 このオプションは、上記のサイズ制限を削除し、数百万または数十億のレコードを持つデータセットを分析できます。
このオプションを使用するには、itemsSourceプロパティを、コンポーネントがサービスにアクセスする方法を指定するオブジェクトに設定します。 次に例を示します。
import { PivotEngine } from '@mescius/wijmo.olap';
let ng = PivotEngine({
itemsSource: {
url: 'http://ssrs.componentone.com/OLAP/msmdpump.dll',
cube: 'Adventure Works',
catalog: 'AdventureWorksDW2012Multidimensional'
}
});
catalog プロパティはオプションですが、url と cubeは必須です。
上記の例は、匿名アクセスを許可するSSASサーバーで機能します。基本認証を必要とするサーバーの場合は、{@ link itemsSource}オブジェクトの一部として適切なuserおよびpasswordメンバーも含める必要があります。
OLAP SSASキューブに直接接続する場合、ユーザーが値でフィールドをフィルタリングできません。 ただ、条件でフィルタリングすることができます。
3番目のオプションであるComponentOne のデータエンジンサービスを使用すると、 クライアントに 生データをダウンロードすることなく、サーバーで大きなデータセットを 分析できます。高性能のFlexPivotサービスを使用することも、 MicrosoftのSQL Server Analysis Services OLAPキューブと やり取りすることもできます。
ComponentOneデータエンジンサービスを使用するには、 itemsSource プロパティをデータサービスのURLを含んだ文字列に設定します。 次に例を示します。
import { PivotEngine } from '@mescius/wijmo.olap';
let ng = new wijmo.olap.PivotEngine({
itemsSource: 'http://demos.componentone.com/ASPNET/c1webapi/4.5.20193.222/api/dataengine/cube'
});
PivotEngine はビューの定義をサーバーに送信します。サーバーでサマリーが計算され、 クライアントに戻されます。
ComponentOne DataEngineデータソースに接続する場合、ユーザーが値でフィールドをフィルタリングできません。 ただ、条件でフィルタリングすることができます。
ComponentOne DataEngineサービスの詳細については、 オンラインマニュアル を参照してください。
OlapServerIntro の製品サンプルは、単一のPivotEngine で動作するすべてのオプションを示しています。
出力ピボットビューを含むICollectionView を取得します。
出力テーブル内の行として表示されるフィールドを定義するPivotField オブジェクトのリストを取得します。
getDetail メソッドがサーバーから取得するレコードの最大数を取得または設定します。
このプロパティのデフォルト値は1,000です。 これにより、多くのシナリオで合理的な詳細を提供します。 より詳細なレコードを取得できるようにするには、このプロパティの値を増やします。
結果を取得中に進行状況のためにサーバーをポーリングする前にエンジンが待機する時間(ミリ秒単位)を取得または設定します。
このプロパティのデフォルト値は 500 ミリ秒です。 これにより、エンジンは0.5秒ごとに状況を更新するためにサーバーをポーリングします。
エンジンが結果をサーバーから返すまで待機する最大時間(ミリ秒単位で)を取得または設定します。
このプロパティのデフォルト値は60,000ミリ秒、または1分です。 サーバー側の操作にその値より長い時間がかかると予想される場合は、 このプロパティーをより高い値に設定します。
出力pivotView に、小計または総計を含む 列を含めるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はShowTotals.GrandTotalsです。
出力pivotView に、小計または総計を含む 行を含めるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はShowTotals.GrandTotalsです。
Olap出力テーブルで0を使用して欠損値を示すかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はfalseです。
サーバーから受信したサマリーデータがすでにソートされているかどうかを示す値を取得または設定します。
このプロパティをtrueに設定すると、 PivotEngine はサーバーから受信したデータをソートしません。 このプロパティは、通常、標準の PivotEngine. で使用できないカスタムロジックによって適切にソートされた集計データを返す カスタムサーバーと組み合わせて使用する必要があります。 このプロパティのデフォルト値は false です。
値フィールド(メジャー)をソートするときにエンジンが、グループをソートするか、または各グループ内でのみグループの順序とデータを保持する必要があるかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。
通常のデータ行およびデータ列の前または後に行および列の合計を表示するかどうかを 決定する値を取得または設定します。
この値がtrueに設定されている場合、データ行の上部に合計行が、 通常のデータ列の左側に合計列が表示されます。 このプロパティのデフォルト値はfalseです。
出力テーブルに集約されるフィールドを定義するPivotField オブジェクトのリストを取得します。
現在のピボットビュー定義をJSON文字列として取得または設定します。
このプロパティは通常、現在のビューをアプリケーション設定として維持するために使用されます。
たとえば、次のコードは、ローカルストレージを使用してビュー定義を 保存およびロードする2つの関数を実装します。
// 表示を保存/ロードします
function saveView() {
localStorage.viewDefinition = pivotEngine.viewDefinition;
}
function loadView() {
pivotEngine.viewDefinition = localStorage.viewDefinition;
}
次にendUpdate が呼び出されるまで、リフレッシュ処理を一時停止します。
保留中の非同期のビュー更新をキャンセルします。
beginUpdate/endUpdate ブロック内で関数を実行します。
この関数の実行が完了するまでコントロールは更新されません。 このメソッドは、関数が例外を生成した場合でも endUpdate が呼び出されるようにします。
実行する関数。
ユーザーがフィールドの設定を編集することができる設定ダイアログを表示します。
編集する PivotField。
beginUpdate の呼び出しによって一時停止されたリフレッシュ処理を再開します。
pivotView リスト内のプロパティに基づいて集約されるレコードを含む配列を取得します。
エンジンがPivotEngineサーバーに接続されている場合、返される値は、 非同期に作成されるObservableArray です。
pivotView リスト内のデータ項目。
集約されるプロパティの名前。
pivotView リスト内のプロパティに基づいて集約されるレコードを含む{@link collections.ICollectionView} を取得します。
pivotView リスト内のデータ項目。
集約されるプロパティの名前。
pivotView リスト内のプロパティに関する情報を含むオブジェクトを取得します。
返されるオブジェクトには、'rowKey'と'colKey'の2つのプロパティがあります。それぞれに 'fields'と'values'の2つの配列が含まれます。同時に、この情報は PivotEngine によって集約される値を一意に識別します。
たとえば、2つの行フィールド'Product'および'Country'のと1つの列フィールド'Active'を 持つピボットビューに対してgetKeys を呼び出すと、 次のようなオブジェクトが返されます。
{
rowKey: {
fields: [ 'Product', 'Country'],
values: [ 'Aoba', 'Japan' ]
},
colKey: {
fields: [ 'Active' ],
values: [ true ]
}
}
このオブジェクトは、1つの集約値の取得に使用されるデータのサブセットを識別します。 この場合、この値は、Active状態がtrueに設定されている、日本で販売された製品 'Aoba'のすべてのデータ項目を表します。
pivotView リスト内のデータ項目。
集約されるプロパティの名前。
ビューを無効にして非同期リフレッシュを行います。
error イベントを発生させます。
エラーに関する情報を含むRequestErrorEventArgs 。
itemsSourceChanged イベントを発生させます。
updatedView イベントを発生させます。
updatingView イベントを発生させます。
イベントデータを提供するProgressEventArgs 。
viewDefinitionChanged イベントを発生させます。
データを集約し、出力pivotView を更新します。
更新中であってもリフレッシュを行います(beginUpdate を参照)。
現在のビューからフィールドを削除します。
削除する PivotField。
サーバーからデータを取得するときにエラーがあると発生します。
itemsSource プロパティの値が変化した後に発生します。
エンジンがpivotView リストの更新を終了した後に発生します。
エンジンがpivotView リストの更新を開始したときに発生します。
ビューの定義が変更された後に発生します。
通常のデータテーブルをOLAPピボットテーブルに対話的に変換するためのユーザーインタフェース を提供します。
itemsSource コレクション内のデータをフィールドのリストに従って表形式にし、 集計されたデータを含むpivotView コレクションを作成します。
ピボットテーブルは、データを1つ以上のディメンションにグループ化します。これらのディメンションは、 グリッド内の行と列によって表され、データはグリッドセルに格納されます。