OLAP for WPF /Silverlight
はじめに

OLAP とは、"オンライン分析処理(online analytical processing)" を意味します。OLAP は、データの動的な視覚化および分析を可能にする技術です。

一般的な OLAP ツールには、"OLAP キューブ" や、Microsoft Excel などに用意されているピボットテーブルがあります。これらのツールは、大規模なデータのセットを取得し、一連の基準に基づいてレコードをグループ化して、データを集計します。たとえば、OLAP キューブは、売上データを集計し、製品、地域、および期間別にグループ化します。この場合、各グリッドセルには、特定の製品、特定の地域、および特定の期間の売上の合計が表示されます。通常、このセルは、元のデータソースのいくつかのレコードからのデータを表します。

ユーザーは、OLAP ツールを使用して、このようなグループ化の基準を動的に(オンラインで)再定義することで、データに関してアドホックな分析を実行することや、隠れたパターンを発見することが容易になります。

たとえば、次の表を見てください。

日付

製品

地域

売上

Oct 2007

製品 A

North

12

Oct 2007

製品 B

North

15

Oct 2007

製品 C

South

4

Oct 2007

製品 A

South

3

Nov 2007

製品 A

South

6

Nov 2007

製品 C

North

8

Nov 2007

製品 A

North

10

Nov 2007

製品 B

North

3

ここで、このデータを分析して次のような質問の回答を得るように求められたと仮定します。

これらの単純な質問に答えるには、これらのデータを集計し、次のような表を取得する必要があります。

日付別および製品別の売上

日付

製品 A

製品 B

製品 C

合計

Oct 2007

15

15

4

34

Nov 2007

16

3

8

27

合計

31

18

12

61

製品別および地域別の売上

製品

North

South

合計

製品 A

22

9

31

製品 B

18

 

18

製品 C

8

4

12

合計

48

13

61

サマリーテーブルの各セルは、元のデータソースのいくつかのレコードを表します。1つまたは複数の値フィールドが集計され(ここでは、売上の合計)、他のフィールド(日付、製品、または地域)の値に基づいて分類されます。

これは、スプレッドシートでは簡単に行うことができますが、作業は単調で、繰り返しが多く、ミスが多くなります。データを集計するためのカスタムアプリケーションを記述しても、新しいビューを追加するようにアプリケーションを管理するためには多くの時間が必要であり、ユーザーの分析は実装されているビューに限定されます。

OLAP ツールでは、ユーザーは、アドホック形式で、対話的に必要なビューを定義できます。定義済みのビューを使用することも、新しいビューを作成して保存することもできます。基底のデータの変更はビューに自動的に反映されます。ユーザーはこれらのビューを表示するレポートを作成して共有できます。つまり OLAP とは、柔軟に、また効率的にデータを分析できるツールです。