syncfusion-wpf-olap-grid について
Syncfusion WPF OLAP Gridを.NET FrameworkのWPFアプリに実装するためのスキルです。キューブ接続、多次元分析、階層のドリル操作、書式設定、レポート出力を扱います。
主な機能
- 01OLAPキューブデータの表示
- 02ディメンション階層のドリル操作
- 03グリッドレイアウトの選択
- 04条件付き書式の適用
- 05Excel、Word、PDF、CSVへの出力
- 06KPIとメンバープロパティの表示
活用シーン
- 01OLAPデータを使ったBIダッシュボードの構築
- 02地域や期間別の売上分析
- 03財務上の差異の強調表示
- 04分析結果のオフライン配布
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-olap-gridインストール後、Claude Code で/syncfusion-wpf-olap-gridを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-features.mdcell-selection.mdconditional-formatting.mddata-source-configuration.mddrill-operations.mdexporting.mdgetting-started.mdgrid-layouts.mdkpi-and-member-properties.mdxaml-configuration.md詳細
OLAP グリッドの実装
Syncfusion WPF OLAP グリッドは、OLAP データソースを読み取り、ビジネスデータ分析用の多次元ビューを作成する、高品質なビジネス向けプレゼンテーションコントロールです。ドリルアップ/ドリルダウン機能、複数のレイアウトオプション、条件付き書式、ビジネスインテリジェンスアプリケーション向けの包括的なエクスポート機能を備えています。
このスキルを使用する場面
次のような場合に、このスキルを使用します。
- WPF アプリケーションで SSAS(SQL Server Analysis Services)またはオフラインキューブの OLAP データを表示する
- 行、列、メジャーの交差を使った 多次元分析ビューを作成する
- 階層ディメンションデータを ドリルダウン/ドリルアップで移動する
- KPI の可視化や分析機能を備えた ビジネスインテリジェンスダッシュボードを構築する
- さまざまなグリッドレイアウト(標準、Excel 風、上部サマリー、サマリーなし)を 設定する
- ビジネスルールに基づいてデータを強調表示する 条件付き書式を適用する
- OLAP 分析を Excel、Word、PDF、CSV 形式に エクスポートする
- キューブデータソースに接続し、カスタム OLAP レポートを 定義する
- ディメンションメンバーとともに メンバーのプロパティを表示する
- 大規模な OLAP データセット向けに ページングを実装する
このスキルでは、セットアップやデータバインディングから、条件付き書式、エクスポートオプション、インタラクティブなドリル操作などの高度な機能まで、実装のライフサイクル全体を扱います。
コンポーネントの概要
主な機能:
- OLAP キューブの多次元データ表示
- さまざまな表示ニーズに対応する5種類のグリッドレイアウト
- 行と列の複数レベルのドリルアップ/ドリルダウン
- カスタムセルスタイルによる条件付き書式
- Excel、Word、PDF、CSV へのエクスポート
- KPI(重要業績評価指標)のサポート
- メンバーのプロパティ表示
- 大規模なデータセット向けのページング
- クエリデザイナーによるデザイン時のバインディング
- セル選択とハイパーリンクのサポート
主要コンポーネント:
OlapGrid- メイングリッドコントロールOlapDataManager- OLAP データとレポートを管理しますOlapReport- キューブクエリ(ディメンション、メジャー、フィルター)を定義しますDimensionElement- ディメンション階層を表しますMeasureElements- 表示するメジャーを表します
NuGet パッケージのインストール
WPF アプリケーションで OLAP グリッドを使用するには、次の NuGet パッケージをインストールします。
Install-Package Syncfusion.OlapGrid.WPF
アセンブリ参照
OLAP グリッドには、次のアセンブリが必要です。
アセンブリ参照
Syncfusion.Grid.WPFSyncfusion.GridCommon.WPFSyncfusion.Linq.BaseSyncfusion.Olap.BaseSyncfusion.OlapGridCommon.WPFSyncfusion.OlapShared.WPFSyncfusion.Shared.WPFSyncfusion.Tools.WPF
NuGet パッケージ
Syncfusion.OlapGrid.WPF
重要な注意事項
Syncfusion OlapGrid コントロールは、.NET Framework の WPF アプリケーションでのみサポートされています。.NET Core ではサポートされていません。 OlapGrid を使用する場合は、Framework ベースの WPF サンプルを作成してください。
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
次のような場合に参照してください。
- OLAP グリッドコントロールをインストールして設定する
- WPF プロジェクトに必要なアセンブリを追加する
- ライセンス要件を理解する
- 基本的な OLAP グリッドの実装(XAML、コードビハインド、または Blend)を作成する
- OlapDataManager と接続文字列を設定する
- クエリデザイナーによるデザイン時のバインディングを使用する
- ディメンションとメジャーを使って最初の OLAP レポートを作成する
データソースの設定
📄 参照: references/data-source-configuration.md
次のような場合に参照してください。
- OLAP データソース接続(SSAS またはオフラインキューブ)を設定する
- ディメンションとメジャーを使って OlapReport を構築する
- キューブ名と接続文字列を指定する
- カテゴリ要素(列軸)と系列要素(行軸)を追加する
- ディメンション階層とレベルを設定する
- メジャー要素を設定する
- OlapDataManager のワークフローを理解する
グリッドレイアウト
📄 参照: references/grid-layouts.md
次のような場合に参照してください。
- 5 種類のレイアウト(標準、Excel 風、上部にサマリー、サマリーなし)から選択する
- 親メンバーの上部または下部にサマリーセルを配置する
- Excel 風レイアウトでメンバーのプロパティを表示する
- XAML またはコードでレイアウトプロパティを設定する
- サマリーと子メンバーの配置について理解する
- ビジネス要件に適したレイアウトを選択する
ドリル操作
📄 参照: references/drill-operations.md
次のような場合に参照してください。
- 階層をたどるドリルダウン/ドリルアップナビゲーションを実装する
- 行と列のドリル位置を設定する
- 複数レベルのドリルを有効にする
- すべてのレベルタイプのメンバーに対応する
- ドリルイベントをプログラムで処理する
- ドリル状態とナビゲーションパターンを管理する
- ドリルのパフォーマンスを最適化する
条件付き書式
📄 参照: references/conditional-formatting.md
次のような場合に参照してください。
- データ条件に基づいてセルの書式を適用する
OlapGridDataConditionalFormatクラスを使用する- 条件タイプ(GreaterThan、LessThan、Equals)でフィルター条件を定義する
- 述語(And、Or)で条件を組み合わせる
- セルスタイル(背景色、前景色、フォント、境界線)をカスタマイズする
- XAML またはコードビハインドで書式を設定する
- 複数の条件付き書式を適用する
エクスポート
📄 参照: references/exporting.md
次のような場合に参照してください。
- OLAP Grid を Excel にエクスポートする(
ExportToExcelメソッド) - Word 文書にエクスポートする(
ExportToWordメソッド) - PDF ファイルにエクスポートする(
ExportToPdfメソッド) - CSV 形式にエクスポートする(
GridCsvExportクラス) - エクスポートした文書で書式を保持する
- ファイルダイアログとエクスポート設定を処理する
- エクスポート時のエラー処理を実装する
セル選択
📄 参照: references/cell-selection.md
次のような場合に参照してください。
- セル選択モードを設定する
- 選択イベントを処理する
- プログラムでセル選択を実装する
- 選択動作をカスタマイズする
- 複数セルの選択に対応する
- 選択状態を管理する
KPI とメンバーのプロパティ
📄 参照: references/kpi-and-member-properties.md
次のような場合に参照してください。
- 主要業績評価指標(KPI)を表示する
- KPI の状態と傾向の可視化を設定する
- ディメンションと並べてメンバーのプロパティを表示する
- Excel 風レイアウトでメンバーのプロパティを使用する
- キューブ定義からメンバーのプロパティをバインドする
- KPI 表示用に
OlapReportを設定する
高度な機能
📄 参照: references/advanced-features.md
次のような場合に参照してください。
- 大規模な OLAP データセットにページングを実装する
- セルにハイパーリンク機能を追加する
- 行または列のヘッダーを固定する
- セルのツールチップをカスタマイズする
- 書式設定にグリッドスタイルダイアログを使用する
- RTL(右から左)表示を有効にする
- アクセシビリティ機能を設定する
XAML の設定
📄 参照: references/xaml-configuration.md
次のような場合に参照してください。
- XAML で宣言的に OLAP Grid を設定する
- XAML マークアップでプロパティを設定する
- XAML で条件付き書式を定義する
- XAML 名前空間を管理する
- スタイルとテンプレートを使用する
- リソース管理パターンを適用する
- XAML のベストプラクティスに従う
クイックスタートの例
OLAP キューブのデータを使って OLAP Grid を作成する、最小限の動作例を紹介します。
XAML の設定
<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"
x:Class="MyApp.MainWindow">
<Grid>
<syncfusion:OlapGrid Name="olapGrid1" />
</Grid>
</Window>
コードビハインド
using Syncfusion.Windows.Grid.Olap;
using Syncfusion.Olap.Manager;
using Syncfusion.Olap.Reports;
public partial class MainWindow : Window
{
private OlapDataManager olapDataManager;
private string connectionString = "YOUR_END_POINT"; // For e.g - "Data Source=http://<your-ssas-server>/olap/msmdpump.dll;Initial Catalog=Adventure Works DW 2008 SE;";
public MainWindow()
{
InitializeComponent();
// Initialize OlapDataManager with connection string
olapDataManager = new OlapDataManager(connectionString);
// Create and set the OLAP report
olapDataManager.SetCurrentReport(CreateOlapReport());
// Bind to OlapGrid
olapGrid1.OlapDataManager = olapDataManager;
olapGrid1.DataBind();
}
private OlapReport CreateOlapReport()
{
OlapReport report = new OlapReport();
// Set cube name
report.CurrentCubeName = "Adventure Works";
// Configure column dimension
DimensionElement columnDimension = new DimensionElement();
columnDimension.Name = "Customer";
columnDimension.AddLevel("Customer Geography", "Country");
// Configure measure
MeasureElements measures = new MeasureElements();
measures.Elements.Add(new MeasureElement { Name = "Internet Sales Amount" });
// Configure row dimension
DimensionElement rowDimension = new DimensionElement();
rowDimension.Name = "Date";
rowDimension.AddLevel("Fiscal", "Fiscal Year");
// Add to report
report.CategoricalElements.Add(columnDimension);
report.CategoricalElements.Add(measures);
report.SeriesElements.Add(rowDimension);
return report;
}
}
これにより、顧客の地域(国)と会計年度別のインターネット販売額を表示する基本的な OLAP Grid が作成されます。
一般的なパターン
パターン 1:グリッドレイアウトの設定
// Excel-like layout with indented child members
olapGrid1.Layout = GridLayout.ExcelLikeLayout;
// Normal layout with bottom summaries (default)
olapGrid1.Layout = GridLayout.Normal;
// Top summary layout
olapGrid1.Layout = GridLayout.NormalTopSummary;
// Layout without summaries
olapGrid1.Layout = GridLayout.NoSummaries;
パターン 2:条件付き書式の適用
// Create conditional format
OlapGridDataConditionalFormat format = new OlapGridDataConditionalFormat();
// Add conditions
format.Conditions.Add(new OlapGridDataCondition()
{
ConditionType = OlapGridDataConditionType.GreaterThan,
MeasureElement = "Internet Sales Amount",
Value = "2000000",
PredicateType = PredicateType.And
});
// Set cell style
format.CellStyle = new OlapGridCellStyle()
{
Background = Brushes.Yellow,
FontFamily = new FontFamily("Calibri"),
FontSize = 12
};
// Apply to grid
olapGrid1.ConditionalFormats.Add(format);
パターン 3:さまざまな形式へのエクスポート
// Export to Excel
olapGrid1.ExportToExcel("SalesReport.xlsx");
// Export to Word
olapGrid1.ExportToWord("SalesReport.docx");
// Export to PDF
olapGrid1.ExportToPdf("SalesReport.pdf");
// Export to CSV
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "CSV file (.csv)|*.csv";
if (dialog.ShowDialog() == true)
{
GridCsvExport csvExport = new GridCsvExport(olapGrid1.InternalGrid.Engine);
csvExport.Export(dialog.FileName);
}
パターン 4:複数のディメンションとメジャー
private OlapReport CreateComplexReport()
{
OlapReport report = new OlapReport();
report.CurrentCubeName = "Adventure Works";
// Multiple column dimensions
DimensionElement productDimension = new DimensionElement();
productDimension.Name = "Product";
productDimension.AddLevel("Product Categories", "Category");
DimensionElement geographyDimension = new DimensionElement();
geographyDimension.Name = "Customer";
geographyDimension.AddLevel("Customer Geography", "Country");
// Multiple measures
MeasureElements measures = new MeasureElements();
measures.Elements.Add(new MeasureElement { Name = "Internet Sales Amount" });
measures.Elements.Add(new MeasureElement { Name = "Reseller Sales Amount" });
// Row dimension
DimensionElement dateDimension = new DimensionElement();
dateDimension.Name = "Date";
dateDimension.AddLevel("Fiscal", "Fiscal Year");
// Build report
report.CategoricalElements.Add(productDimension);
report.CategoricalElements.Add(geographyDimension);
report.CategoricalElements.Add(measures);
report.SeriesElements.Add(dateDimension);
return report;
}
主なプロパティとメソッド
OlapGrid のプロパティ
OlapDataManager- OlapDataManager インスタンスを取得または設定しますLayout- グリッドのレイアウトタイプ(GridLayout 列挙型)を取得または設定しますConditionalFormats- 条件付き書式ルールのコレクションですInternalGrid- 高度な操作のために、基盤となるグリッドエンジンにアクセスします
OlapGrid のメソッド
DataBind()- グリッドをデータソースにバインドしますExportToExcel(string filename)- グリッドを Excel にエクスポートしますExportToWord(string filename)- グリッドを Word にエクスポートしますExportToPdf(string filename)- グリッドを PDF にエクスポートします
OlapDataManager
SetCurrentReport(OlapReport report)- アクティブな OLAP レポートを設定します- コンストラクターは接続文字列を受け取ります(OLAP データソース用)
OlapReport の構造
CurrentCubeName- クエリ対象のキューブ名ですCategoricalElements- 列軸(ディメンションとメジャー)のコレクションですSeriesElements- 行軸(ディメンション)のコレクションです
一般的なユースケース
ビジネスインテリジェンスダッシュボード
KPI、売上指標、業績指標を表示し、詳細な分析のためのドリルダウン機能を備えた経営層向けダッシュボードを作成します。
売上分析レポート
複数のディメンション(時間、地域、製品)にわたる売上データを分析し、特定の地域や期間を掘り下げられるようにします。
財務レポート
OLAP キューブの財務データを表示し、条件付き書式で差異、傾向、特異な値を強調表示します。
多次元データの探索
階層を掘り下げたり、ディメンションをインタラクティブにピボットしたりすることで、複雑なデータセットを探索できるようにします。
データのエクスポートと配布
OLAP 分析にオフラインでアクセスする必要がある関係者向けに、Excel、Word、PDF 形式の書式付きレポートを生成します。
比較分析
Excel のようなレイアウトとメンバーのプロパティを使って、異なるディメンションにわたる複数のメジャー(実績と予算、今年と前年)を比較します。