TelerikaはWPFとSilverlight向けにRadPivotGridが利用可能になったことを発表した。これには、ソートやフィルタ、計算、集約関数、レイアウト、合計値の位置の調整、ツールチップ機能などが含まれており、OLAPをサポートする。RadPivotGridの実行時構成に利用できるコントロールであるRadPivotFieldListはRadPivotGridを簡単に変更して、現在のデータを元にさまざまなレポートを作成できる。
RadPivotFieldListを使えば、行を変更したり、列をグループ化し、集約を構成して、ソート機能を使ったフィルタリングを適用できる。Defer Layout Updateという新しいオプションを使うとすべての変更を一度に適用できる。ソート機能は列や行を降順や昇順だけではなく、合計値で並び替えることもできる。
RadPivotFieldListには次のようなタイプのフィルタがある。
- ラベルフィルタ - ヘッダ名でフィルタする。例えばアルファベットAを含む項目だけ表示させる
- バリューフィルタ - 集約値でフィルタする
- トップ10フィルタ - 集約値でフィルタし、フィルタ結果の最上位/最下位を表示する
このコントロールを使えば、特定のシナリオに関連する計算を適用したデータを行と列で表現することができる。さらに、合計、平均、件数、最大値、最小値、標準偏差、分散などの関数が事前定義されており、アプリケーションで利用できる。
RadPivotGridは表形式のレポートや概要レポート、コンパクトなレポートなどのレイアウトをサポートし、小計と総計の位置を調整できる。ツールチップ機能を使えば、特定のセルに関する情報を提供できる。例えば、そのセルの値と関連する集約値のような情報だ。不要であればこの情報を無効にもできる。
RadPivotGridはOLAPキューブと重要業績評価指標(KPI)をサポートする。KPIは企業の目標に対する進捗具合を定義し計測するのに役立ちます。開発者は、サーバ上でKPIを定義し、次の指標を使ってパフォーマンスを分析する。
- 赤い菱形- ネガティブなパフォーマンスを示す指標
- 灰色の三角 - 許容範囲であることを示す指標
- 緑色の丸 - ポジティブなパフォーマンスを示す指標
InfoQはプロダクトマネージャであるHristo Maradjiev氏にRadPivotGridについて話を聞いた。
InfoQ: Defer Layout Updateオプションとは何ですか
このオプションを使うとRadPivotGridを自動更新するか(応答性が良い)、手動で更新するか(データをより素早く操作できる)選択できます。このオプションを利用しないと、RadPivotFieldListを使った変更はすぐにRadPivotGridに反映されます。このオプションを使うと、リフレッシュボタンを押して手動で変更を適用する必要があります。
巨大なデータセットを扱い、ソートのような操作に10秒かかるとします。このオプションを利用しないでフィールドをグループ化し、ソートし、フィルタを適用すると、各操作はひとつずつ適用され、グループ化に10秒、ソートに10秒、フィルタに10秒かかってしまいます。
このオプションを使えば、複数の操作をひとつにまとめることができるので、大きなデータセットを扱う場合やMicrosoft Analysis Services (OLAP)のようなリモートサーバを使う場合に処理時間を短縮できます。
InfoQ: プロジェクトでRadPivotGridを使わなければならない場合、Visual Studio 2012にRadPivotFieldListを追加しなければなりませんか。
必要ありません。RadPivotFieldListを使うのは必須ではありません。
InfoQ: MySQLをバックエンドにしてRadPivotGridを使うことはできますか。
LocalDataSourceProviderのItemsSourceとして列挙可能なオブジェクトを提供すれば、利用できます。例えば、SQL Serverに接続したEntity Frameworkを利用できます。
var entities = new AdventureWorksLT2008R2Entities();
var localDataSourceProvider = new LocalDataSourceProvider();
localDataSourceProvider.ItemsSource = entities.Customers;
SQL Serverを直接利用できるプロバイダを開発中ですが、提供できるのは最速でも第2四半期になります。