mcpField
S
syncfusion-wpf-pivot-grid

syncfusion-wpf-pivot-grid

github.com/syncfusionデータ・データベース5126 回インストール2 週間前に更新
リポジトリ

syncfusion-wpf-pivot-grid について

ピボットテーブル表示やデータ分析画面を構築する開発者向けに、Syncfusion WPF PivotGrid の実装を案内するスキルです。多次元集計、対話型のフィールド・グループ化 UI、フィルタリング、カスタム計算、編集、エクスポート、状態の保存を扱います。

主な機能

  1. 01ピボット行、列、集計の設定
  2. 02対話型グループ化バーとフィールドリスト
  3. 03フィルタリングと複数列の並べ替え
  4. 04カスタム計算と式フィールド
  5. 05編集、エクスポート、状態の保存

活用シーン

  1. 01多次元の財務レポート作成
  2. 02製品、地域、期間別の売上分析
  3. 03ドラッグ&ドロップ式 BI ダッシュボードの作成
  4. 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.md
context-menus.md
custom-calculations.md
data-binding.md
editing-and-updating.md
exporting-and-printing.md
field-list-and-designer.md
filtering.md
getting-started.md
grouping-bar.md
layout-and-display.md
pivot-items-and-calculations.md
selection.md
serialization.md
sorting.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.Wpf
  • Syncfusion.GridCommon.Wpf
  • Syncfusion.Linq.Base
  • Syncfusion.PivotAnalysis.Base
  • Syncfusion.PivotAnalysis.Wpf
  • Syncfusion.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;

特定の機能の詳しい実装方法については、上記の該当するリファレンスファイルを参照してください。

コメント