syncfusion-wpf-pivot-grid について
ピボットテーブル表示やデータ分析画面を構築する開発者向けに、Syncfusion WPF PivotGrid の実装を案内するスキルです。多次元集計、対話型のフィールド・グループ化 UI、フィルタリング、カスタム計算、編集、エクスポート、状態の保存を扱います。
主な機能
- 01ピボット行、列、集計の設定
- 02対話型グループ化バーとフィールドリスト
- 03フィルタリングと複数列の並べ替え
- 04カスタム計算と式フィールド
- 05編集、エクスポート、状態の保存
活用シーン
- 01多次元の財務レポート作成
- 02製品、地域、期間別の売上分析
- 03ドラッグ&ドロップ式 BI ダッシュボードの作成
- 04部門ごとの予算と実績の比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-pivot-gridインストール後、Claude Code で/syncfusion-wpf-pivot-gridを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/advanced-features.mdcontext-menus.mdcustom-calculations.mddata-binding.mdediting-and-updating.mdexporting-and-printing.mdfield-list-and-designer.mdfiltering.mdgetting-started.mdgrouping-bar.mdlayout-and-display.mdpivot-items-and-calculations.mdselection.mdserialization.mdsorting.md詳細
Syncfusion WPF PivotGrid の実装
Syncfusion WPF PivotGrid は、Microsoft Excel のピボットテーブル機能を再現する、強力で拡張可能なセル指向のグリッドコントロールです。リレーショナルデータをピボット、集計、グループ化してクロス集計形式に整理できるため、財務分野やビジネスデータ分析に最適です。
このスキルを使用する場面
次のような場合に、このスキルを使用してください。
- WPF アプリケーションでデータ分析用のピボットテーブルを実装する
- 大規模なデータセットをクロス集計形式で整理および集計する
- 多次元データビュー用にピボット行、列、計算を構成する
- グループ化バーとフィールドリストを使った対話型データ探索を有効にする
- ピボット分析を使ったビジネスインテリジェンスダッシュボードを作成する
- ピボットデータにフィルターと並べ替えを追加する
- カスタム計算と式フィールドを実装する
- ピボットグリッドデータをエクスポートまたは印刷する
- 動的なデータ集計を使って財務レポートを作成する
- エンドユーザーが柔軟に操作できるよう、ドラッグアンドドロップによるピボット操作を有効にする
コンポーネントの概要
PivotGrid コントロールは、ピボットテーブルの包括的な機能を提供します。
- データのピボット: 行、列、値ごとにデータを整理します
- 対話型 UI: グループ化バー、フィールドリスト、スキーマデザイナー、値選択ツール
- データ操作: フィルター、並べ替え(複数列および値による並べ替えを含む)
- 計算: 組み込みの集計タイプ、カスタム計算、式フィールド
- 編集: セルレベルでの編集と更新
- カスタマイズ: コンテキストメニュー、レイアウトオプション、ヘッダーの固定
- パフォーマンス: 仮想化と非同期データ読み込み
- エクスポート/インポート: データのエクスポート、印刷のサポート、状態のシリアル化
ドキュメントとナビゲーションガイド
はじめに
📄 参照: references/getting-started.md
- インストールとアセンブリ参照
- デザイナー、XAML、またはコードビハインドを使った PivotGrid の追加
- ライセンスの構成
- PivotGrid の基本設定と初回の描画
- 最小限の動作例
データバインディング
📄 参照: references/data-binding.md
- List コレクションへのバインド
- DataTable および DataView へのバインド
- 大規模なデータセット向けの非同期データ読み込み
- ItemSource の構成パターン
- データソースのベストプラクティス
コアコンセプト:PivotItems と計算
📄 参照: references/pivot-items-and-calculations.md
- PivotItem(行と列)の理解
- 値フィールド用の PivotComputationInfo
- 集計タイプ(Count、Sum、Average、Min、Max など)
- FieldHeader、FieldMappingName、TotalHeader プロパティ
- 計算用の書式文字列
- 基本的な計算例
フィルター
📄 参照: references/filtering.md
- FilterExpression クラスの概要
- XAML およびコードビハインドでのフィルターの定義
- 列のフィルタリング
- Excel のようなフィルター UI
- 複数のフィルター条件
- フィルター式の構文
並べ替え
📄 参照: references/sorting.md
- 既定の並べ替え動作
- 並べ替えロジック用のカスタム比較子
- 列の並べ替え
- 複数列の並べ替え
- 値による並べ替え
- 並べ替えイベントとカスタマイズ
グループ化バー
📄 参照: references/grouping-bar.md
- グループ化バーの有効化と構成
- グループ化バーのプロパティの定義
- ドラッグアンドドロップによるピボット機能
- グループ化バーのコンテキストメニュー
- カスタマイズとスタイル設定
フィールドリストとデザイナー
📄 参照: references/field-list-and-designer.md
- PivotGrid のフィールドリスト
- 高度な構成用の PivotSchemaDesigner
- PivotSchemaDesigner と PivotGrid のバインド
- Pivot Value Chooser
- フィールドリストでのキャプションの設定
- フィールドの管理とカスタマイズ
カスタム計算
📄 参照: references/custom-calculations.md
- カスタム計算の概要
- 実行時に計算されるフィールド
- 実行時のカスタム集計
- 数式用の式フィールド
- 高度な計算パターン
- カスタム集計の実装
編集と更新
📄 参照: references/editing-and-updating.md
- セル編集の有効化
- セル値の更新
- 編集イベントと検証
- データ変更パターン
コンテキストメニュー
📄 参照: references/context-menus.md
- PivotGrid のメインコンテキストメニュー
- グルーピングバーのコンテキストメニュー
- ヘッダーセルのコンテキストメニュー
- メニュー項目のカスタマイズ
- メニュー操作とイベント
レイアウトと表示オプション
📄 参照: references/layout-and-display.md
- グリッドレイアウトの構成
- 行ヘッダーと列ヘッダーを固定するためのヘッダーの固定
- コンテンツに合わせた自動サイズ変更
- 行ヘッダー領域のサイズ変更の制限
- RowPivotsOnly モード
- 計算結果を列として表示
- 小計と総計の表示/非表示
- レイアウトのカスタマイズパターン
選択
📄 参照: references/selection.md
- 選択モード
- セルと範囲の選択
- 選択イベント
- プログラムによる選択
エクスポートと印刷
📄 参照: references/exporting-and-printing.md
- PivotGrid データのエクスポート
- サポートされているエクスポート形式
- 印刷機能と印刷プレビュー
- エクスポートの構成オプション
シリアル化と状態の永続化
📄 参照: references/serialization.md
- PivotGrid 構成のシリアル化
- デシリアル化
- セッションをまたいだ状態の永続化
- PivotGrid の状態の保存と読み込み
高度な機能
📄 参照: references/advanced-features.md
- ハイパーリンクセル
- 最内層の計算
- 生データにアクセスする GetRawItem メソッド
- 仮想化によるパフォーマンス向上
- 高度なシナリオとエッジケース
クイックスタートの例
売上データを使った基本的な PivotGrid
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"
xmlns:local="clr-namespace:YourNamespace"
Title="PivotGrid Example" Height="600" Width="800">
<Window.Resources>
<ObjectDataProvider x:Key="salesData"
ObjectType="{x:Type local:ProductSales}"
MethodName="GetSalesData" />
</Window.Resources>
<Grid>
<syncfusion:PivotGridControl Name="pivotGrid"
ItemSource="{Binding Source={StaticResource salesData}}">
<syncfusion:PivotGridControl.PivotRows>
<syncfusion:PivotItem FieldHeader="Product"
FieldMappingName="Product"
TotalHeader="Total" />
<syncfusion:PivotItem FieldHeader="Date"
FieldMappingName="Date"
TotalHeader="Total" />
</syncfusion:PivotGridControl.PivotRows>
<syncfusion:PivotGridControl.PivotColumns>
<syncfusion:PivotItem FieldHeader="Country"
FieldMappingName="Country"
TotalHeader="Total" />
<syncfusion:PivotItem FieldHeader="State"
FieldMappingName="State"
TotalHeader="Total" />
</syncfusion:PivotGridControl.PivotColumns>
<syncfusion:PivotGridControl.PivotCalculations>
<syncfusion:PivotComputationInfo CalculationName="Total Amount"
FieldName="Amount"
Format="C"
SummaryType="DoubleTotalSum" />
<syncfusion:PivotComputationInfo CalculationName="Quantity"
FieldName="Quantity"
SummaryType="Count" />
</syncfusion:PivotGridControl.PivotCalculations>
</syncfusion:PivotGridControl>
</Grid>
</Window>
コードビハインド(ProductSales.cs):
using System;
using System.Collections.Generic;
public class ProductSales
{
public string Product { get; set; }
public string Date { get; set; }
public string Country { get; set; }
public string State { get; set; }
public int Quantity { get; set; }
public double Amount { get; set; }
public static List<ProductSales> GetSalesData()
{
return new List<ProductSales>
{
new ProductSales { Product = "Bike", Date = "FY 2005", Country = "Canada",
State = "Alberta", Quantity = 5, Amount = 150000 },
new ProductSales { Product = "Car", Date = "FY 2006", Country = "Canada",
State = "Ontario", Quantity = 3, Amount = 90000 },
// Add more data...
};
}
}
一般的なパターン
パターン 1:グルーピングバーを使った PivotGrid
ドラッグ&ドロップによる対話的なピボット操作を有効にします。
<syncfusion:PivotGridControl ShowGroupingBar="True">
</syncfusion:PivotGridControl>
パターン 2:コードビハインドでの構成
PivotGrid をプログラムで定義します。
PivotGridControl pivotGrid = new PivotGridControl();
// Add Pivot Rows
pivotGrid.PivotRows.Add(new PivotItem
{
FieldHeader = "Product",
FieldMappingName = "Product",
TotalHeader = "Total"
});
// Add Pivot Columns
pivotGrid.PivotColumns.Add(new PivotItem
{
FieldHeader = "Country",
FieldMappingName = "Country",
TotalHeader = "Total"
});
// Add Calculations
pivotGrid.PivotCalculations.Add(new PivotComputationInfo
{
CalculationName = "Total",
FieldName = "Amount",
Format = "C",
SummaryType = SummaryType.DoubleTotalSum
});
// Set ItemSource
pivotGrid.ItemSource = ProductSales.GetSalesData();
パターン 3:データのフィルタリング
フィルターを適用して、表示するデータを絞り込みます。
FilterExpression filter = new FilterExpression
{
DimensionHeader = "Product",
DimensionName = "Product",
Name = "ProductFilter",
Expression = "Product = 'Bike'"
};
pivotGrid.Filters.Add(filter);
パターン 4:カスタム並べ替え
特定の並べ替えロジックにカスタム比較子を使用します。
public class ReverseOrderComparer : IComparer
{
public int Compare(object x, object y)
{
return -x.ToString().CompareTo(y.ToString());
}
}
// Apply to PivotItem
PivotItem item = new PivotItem
{
FieldHeader = "Product",
FieldMappingName = "Product",
Comparer = new ReverseOrderComparer()
};
主要なプロパティ
PivotGridControl のプロパティ
- ItemSource:ピボットグリッドのデータソース
- PivotRows:行のディメンションに使用する PivotItems のコレクション
- PivotColumns:列のディメンションに使用する PivotItems のコレクション
- PivotCalculations:値の計算に使用する PivotComputationInfo のコレクション
- Filters:データのフィルタリングに使用する FilterExpression のコレクション
- ShowGroupingBar:グルーピングバーの有効/無効
- ShowFieldList:フィールドリストの有効/無効
PivotItem のプロパティ
- FieldHeader:表示するヘッダーテキスト
- FieldMappingName:データソースからバインドするプロパティ名
- TotalHeader:合計行/列のヘッダーテキスト
- Comparer:並べ替えに使用するカスタム比較子
PivotComputationInfo のプロパティ
- CalculationName:計算の表示名
- FieldName:計算するプロパティ名
- SummaryType:集計タイプ(Count、Sum、Average など)
- Format:表示形式の文字列(例:通貨の場合は "C")
一般的な用途
財務レポート
製品、地域、期間ごとに収益、費用、収益性を多次元分析する包括的な財務レポートを作成します。
売上分析
動的なピボット操作とドリルダウン機能を使用して、製品、地域、期間ごとの売上実績を分析します。
ビジネスインテリジェンスダッシュボード
グループ化バーとフィールドリストを使ったドラッグ&ドロップのピボット操作で、ユーザーがデータを探索できるインタラクティブなBIダッシュボードを作成します。
在庫管理
倉庫、製品、期間ごとの在庫レベル、移動、コストを追跡します。
予算分析
部門、コストセンター、会計期間ごとに予算と実績を比較し、差異を計算します。
関連コンポーネント
- PivotSchemaDesigner:高度な設定インターフェイス
- PivotGrid Field List:インタラクティブなフィールド管理
- Grouping Bar:ドラッグ&ドロップのピボット操作インターフェイス
アセンブリ要件
WPF PivotGridに必要なアセンブリ:
Syncfusion.Grid.WpfSyncfusion.GridCommon.WpfSyncfusion.Linq.BaseSyncfusion.PivotAnalysis.BaseSyncfusion.PivotAnalysis.WpfSyncfusion.Shared.Wpf
NuGetパッケージのインストール
- 重要:バージョン *(入手可能な最新バージョン)を使用してください。
NuGetパッケージマネージャーからインストールします:
Install-Package Syncfusion.PivotTable.wpf
または、.NET CLIからインストールします:
dotnet add package Syncfusion.PivotTable.wpf
NuGetパッケージには、必要な依存関係がすべて自動的に含まれます。
名前空間のインポート
using Syncfusion.Windows.Controls.PivotGrid;
using Syncfusion.PivotAnalysis.Base;
特定の機能の詳しい実装方法については、上記の該当するリファレンスファイルを参照してください。