syncfusion-wpf-olap-client について
.NET FrameworkのWPFアプリでSyncfusion WPF OLAP Clientを実装するためのスキルです。開発者向けに、キューブへの接続、チャートとグリッドによるレポート作成、多次元データの分析、定義の管理を案内します。
主な機能
- 01オフラインキューブと記載されたOLAPデータソースへの接続
- 02キューブのディメンション、階層、メジャー、KPIの閲覧
- 03ドラッグ&ドロップによる軸とレポートの構成
- 04データのフィルタリング、並べ替え、ページング、ドリルスルー
- 05グリッドとチャートによるデータ表示
- 06レポート定義のエクスポートと保存
活用シーン
- 01多次元データを使ったBIダッシュボードの作成
- 02ユーザーによるアドホックレポートの作成と保存
- 03時間、地域、製品別の売上分析
- 04キューブファイルを使ったオフライン分析
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-olap-clientインストール後、Claude Code で/syncfusion-wpf-olap-clientを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/calculated-members.mddata-binding.mddrill-through.mdexporting.mdfiltering.mdgetting-started.mdnamed-sets.mdolap-client-elements.mdpaging.mdreport-management.mdsorting.md詳細
Syncfusion WPF OLAP Client の実装
WPF 用 OLAP Client コントロールは、キューブ形式で整理されたディメンション、メジャー、名前付きセット、KPI などの多次元データを参照および分析するための、包括的なビジネスインテリジェンス機能を提供します。結果をグラフィカル形式(チャート)と表形式(グリッド)の両方で視覚化し、レポートをその場で作成および編集して、後で利用できます。
このスキルを使用する場面
次のような場合にこのスキルを使用します。
- 多次元データを分析する:OLAP キューブデータベース(SSAS、Mondrian、ActivePivot)からデータを分析する
- キューブ構造を参照する:ディメンション、階層、メジャー、KPI を確認する
- ビジネスインテリジェンスダッシュボードを作成する:チャートとグリッドを組み合わせる
- OLAP レポートを作成する:ドラッグ&ドロップで軸を設定する
- キューブデータソースに接続する:オフラインキューブ、ローカル/オンラインの SQL Server、Mondrian、ActivePivot を利用する
- データをフィルターおよびスライスする:メンバー、値、サブセットで絞り込む
- 大規模な多次元データセットを並べ替え、ページ分割する
- BI レポートをエクスポートする:PDF、Excel、Word、CSV、または画像に出力する
- ドリルスルー操作を実装する:詳細なデータを調査する
- OLAP レポートで名前付きセットと計算メンバーを扱う
- レポート定義を保存および読み込む:分析で再利用する
コンポーネントの概要
OLAP Client は、次の機能を備えた包括的な BI コントロールです。
- キューブセレクター:データソース内の複数のキューブを切り替えます
- キューブディメンションブラウザー:メジャー、ディメンション、階層、レベル、名前付きセット、KPI をツリービューで表示します
- 軸要素ビルダー:ドラッグ&ドロップでカテゴリ(列)、系列(行)、スライサーの各軸を設定します
- メンバー/メジャーエディター:フィルタリング対象の特定のメンバーやメジャーを選択します
- ツールバー:レポート管理、フィルタリング、並べ替え、エクスポート操作にすばやくアクセスできます
- OLAP グリッド:多次元データを表形式で表示します
- OLAP チャート:キューブデータをグラフィカルに視覚化します
NuGet パッケージをインストールする
WPF アプリケーションで OLAP Client を使用するには、次の NuGet パッケージをインストールします。
Install-Package Syncfusion.OlapClient.WPF
重要な注意事項
Syncfusion OlapClient コントロールは、.NET Framework の WPF アプリケーションでのみサポートされています。.NET Core ではサポートされていません。 OlapClient を使用する場合は、Framework ベースの WPF サンプルを作成してください。
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
- インストールと必要なアセンブリ
- 3 つのセットアップ方法:Visual Studio デザイナー、Expression Blend、コードビハインド
- WPF アプリケーションへの OLAP Client の追加
- OlapDataManager の構成
- 接続文字列の基本
- 最初の DataBind とレンダリング
データバインディングと接続
📄 参照: references/data-binding.md
- オフラインキューブファイル(.cub)へのバインド
- ローカルの SQL Server Analysis Services への接続
- XML/A 経由でのオンライン SQL Server への接続
- Mondrian Server への接続
- ActivePivot Server への接続
- 接続文字列のパターンと認証
OLAP Client の要素と UI コンポーネント
📄 参照: references/olap-client-elements.md
- キューブを切り替えるキューブセレクター
- キューブディメンションブラウザーの構造とノードの種類
- 属性階層とユーザー定義階層
- 軸要素ビルダー(カテゴリ、系列、スライサー)
- レポートを作成するためのドラッグ&ドロップ操作
- メジャーエディターとメンバーエディターのダイアログ
- ツールバーの機能とレポートの操作
- OLAP グリッドと OLAP チャートの連携
データのフィルタリング
📄 参照: references/filtering.md
- メンバーによるフィルタリング(選択のチェック/チェック解除)
- 値によるフィルタリング(列フィルターと行フィルター)
- フィルター式と条件
- サブセットフィルタリングによるレコード数の制限
- ShowFilterSortButtons プロパティと ShowSubsetFilters プロパティ
データの並べ替え
📄 参照: references/sorting.md
- 行と列の並べ替え
- 並べ替えダイアログとオプション
- 並べ替え順の設定
- 並べ替えとフィルタリングの組み合わせ
大規模データセットのページング
📄 参照: references/paging.md
- ページングの有効化と設定
- ページサイズの設定
- ページャーのカスタマイズ
- 大規模キューブのパフォーマンス最適化
レポートのエクスポート
📄 参照: references/exporting.md
- PDF、Excel、Word、CSV、画像へのエクスポート
- OLAP Grid と OLAP Chart のエクスポート
- エクスポートのオプションと設定
- プログラムによるエクスポート方法
- ツールバーのエクスポートボタン
ドリルスルー操作
📄 参照: references/drill-through.md
- ディメンション階層のドリルダウン
- 展開オプションの有効化
- ShowExpander プロパティ
- 詳細データを表示するドリルスルーダイアログ
名前付きセット
📄 参照: references/named-sets.md
- キューブ内の名前付きセットについて
- レポートでの名前付きセットの使用
- 名前付きセットを軸にドラッグする方法
- 名前付きセットとディメンションの違い
計算メンバー
📄 参照: references/calculated-members.md
- カスタム計算の作成
- 計算メンバーの MDX 式
- レポートへの計算メンバーの追加
- 一般的な計算パターン
レポートの管理とシリアル化
📄 参照: references/report-management.md
- レポートの作成、追加、削除、名前変更
- レポートのローカルシステムへの保存(XML ファイル)
- ローカルシステムからのレポートの読み込み
- レポートコレクションとナビゲーション
- レポートの XML としてのシリアル化
- レポートのストリームとしての保存と取得
- MDX クエリの表示
クイックスタートの例
基本的な OLAP クライアントのセットアップ
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
Title="OLAP Client" Height="700" Width="900">
<Grid>
<syncfusion:OlapClient x:Name="olapClient1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
</Grid>
</Window>
コードビハインドでの接続
using Syncfusion.Olap.Manager;
using Syncfusion.Windows.Client.Olap;
namespace OlapClientApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Defer initialization that depends on visual tree until Loaded
this.Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
// Example connection string (replace with your server or offline cube path)
string connectionString = "YOUR_END_POINT"; // For e.g - "Data Source=http://<your-server-name>/olap/msmdpump.dll; " + "Initial Catalog=<YourCatalogName>;";
// Create OlapDataManager with connection and assign to control
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
this.olapClient1.OlapDataManager = olapDataManager;
this.olapClient1.DataBind();
}
}
}
よく使われるパターン
パターン 1:ローカルのオフラインキューブへの接続
// For offline .cub files on local machine
string connectionString = "YOUR_END_POINT"; // For e.g - @"Datasource=<path_to_cube_file>; Provider=msolap;";
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
this.olapClient1.OlapDataManager = olapDataManager;
this.olapClient1.DataBind();
パターン 2:ローカルの SQL Server への接続
// For SQL Server Analysis Services on localhost
string connectionString = "YOUR_END_POINT"; // For e.g - "Data source=localhost; Initial Catalog=Adventure Works DW";
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
this.olapClient1.OlapDataManager = olapDataManager;
this.olapClient1.DataBind();
パターン 3:Mondrian サーバーへの接続
// For Mondrian OLAP server
string connectionString = "YOUR_END_POINT"; // For e.g - @"Data Source = http://<your-server-name>:<port>/mondrian/xmla; Initial Catalog = <YourCatalogName>;";
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
// Set provider to Mondrian
olapDataManager.DataProvider.ProviderName = Syncfusion.Olap.DataProvider.Providers.Mondrian;
this.olapClient1.OlapDataManager = olapDataManager;
this.olapClient1.DataBind();
パターン 4:プログラムによる OLAP クライアントの作成
// Complete code-behind instantiation
OlapClient olapClient1 = new OlapClient();
string connectionString = "YOUR_END_POINT"; // For e.g - "Data Source=http://<your-server-name>/olap/msmdpump.dll; " + "Initial Catalog=<YourCatalogName>;";
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
olapClient1.OlapDataManager = olapDataManager;
olapClient1.DataBind();
// Add to window grid
grid.Children.Add(olapClient1);
パターン 5:フィルター/並べ替えボタンを非表示にする
// Control toolbar button visibility
this.olapClient1.ShowFilterSortButtons = false;
this.olapClient1.ShowSubsetFilters = false;
主なコンポーネントの概要
OlapDataManager
接続の詳細やキューブの認証を処理する中核となるデータマネージャーです。
- 接続の詳細とキューブの認証
- 現在のレポートの管理
- キューブ名とスキーマ情報
- 描画用のピボットエンジン
使用方法:
OlapDataManager olapDataManager = new OlapDataManager(connectionString);
軸要素ビルダー
3 つの軸を使ってレポートを作成するドラッグ&ドロップインターフェースです。
- カテゴリ(列): チャートの y 軸とグリッドの列に表示される要素
- 系列(行): チャートの x 軸とグリッドの行に表示される要素
- スライサー: チャート/グリッドには表示せず、データの対象範囲を絞り込むフィルター
キューブディメンションブラウザー
キューブの要素を整理するツリービューです。
- メジャー(定量分析)
- ディメンション(データの分類)
- 階層(属性およびユーザー定義)
- レベル(階層の深さ)
- 名前付きセット(事前定義されたタプルのコレクション)
よくある使用例
ビジネスインテリジェンスダッシュボード
OLAP Grid と OLAP Chart を組み合わせたインタラクティブな BI ダッシュボードを作成し、フィルタリング、並べ替え、ドリルダウン機能を備えた包括的なデータ分析を実現します。
アドホックレポート
ディメンションやメジャーを軸にドラッグし、フィルターを適用してレポートを保存できるようにすることで、エンドユーザーがその場でカスタムレポートを作成できるようにします。
売上分析
複数のディメンション(時間、地域、製品カテゴリ)にわたって売上データを分析し、データのスライス/ダイスや、詳細な取引へのドリルスルーを可能にします。
財務レポート
カスタム指標用の計算メンバー、グループ分析用の名前付きセット、共有用のエクスポート機能を備えた財務レポートを作成します。
マルチキューブ分析
複数のキューブを持つデータベースに接続し、キューブセレクターを使って切り替えることで、さまざまな分析の視点を得られます。
オフライン分析
サーバーへの継続的な接続を必要とせずにデータを分析するシナリオでは、オフラインキューブファイルを使って作業します。
必要なアセンブリ
OLAP クライアントをセットアップする際は、次の Syncfusion アセンブリが参照されていることを確認してください。
- Syncfusion.Grid.Wpf
- Syncfusion.Olap.Base
- Syncfusion.Chart.Wpf
- Syncfusion.OlapChart.Wpf
- Syncfusion.OlapGrid.Wpf
- Syncfusion.OlapGridCommon.Wpf
- Syncfusion.OlapClient.Wpf
- Syncfusion.OlapShared.Wpf
- Syncfusion.OlapTools.Wpf