Skip to main content

syncfusion-wpf-olap-grid

Implement Syncfusion WPF OLAP Grid for multi-dimensional OLAP data analysis. Use this when working with OLAP grids, multi-dimensional analysis, business intelligence grids, or SSAS data display. Covers OLAP data source connections, drill down/up operations, KPI display, dimensional analysis, and cube data visualization for WPF applications.

Informações da origem

Repositório
syncfusion/wpf-ui-components-skills
Última atividade na origem
6 de julho de 2026 às 07:21
Idioma detectado do SKILL.md
inglês
Estrelas
5
Forks
2

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
11 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
syncfusion-wpf-olap-grid
description
Implement Syncfusion WPF OLAP Grid for multi-dimensional OLAP data analysis. Use this when working with OLAP grids, multi-dimensional analysis, business intelligence grids, or SSAS data display. Covers OLAP data source connections, drill down/up operations, KPI display, dimensional analysis, and cube data visualization for WPF applications.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing OLAP Grids The Syncfusion WPF OLAP Grid is a presentation-quality business control that reads OLAP data sources to create multi-dimensional views for analyzing business data. It provides drill up/down capabilities, multiple layout options, conditional formatting, and comprehensive export features for business intelligence applications. ## When to Use This Skill Use this skill when you need to: - **Display OLAP data** from SSAS (SQL Server Analysis Services) or offline cubes in WPF applications - **Create multi-dimensional analysis views** with rows, columns, and measure intersections - **Implement drill down/up navigation** through hierarchical dimension data - **Build business intelligence dashboards** with KPI visualization and analytical capabilities - **Configure different grid layouts** (Normal, Excel-like, Top Summary, No Summaries) - **Apply conditional formatting** to highlight data based on business rules - **Export OLAP analysis** to Excel, Word, PDF, or CSV formats - **Connect to cube data sources** and define custom OLAP reports - **Display member properties** alongside dimension members - **Implement paging** for large OLAP datasets This skill covers the complete implementation lifecycle from setup and data binding to advanced features like conditional formatting, export options, and interactive drill operations. ## Component Overview **Key Capabilities:** - Multi-dimensional data display from OLAP cubes - Five grid layout options for different presentation needs - Multi-level drill up/down for rows and columns - Conditional formatting with custom cell styles - Export to Excel, Word, PDF, and CSV - KPI (Key Performance Indicator) support - Member properties display - Paging for large datasets - Design-time binding with query designer - Cell selection and hyperlink support **Core Components:** - `OlapGrid` - Main grid control - `OlapDataManager` - Manages OLAP data and reports - `OlapReport` - Defines cube query (dimensions, measures, filters) - `DimensionElement` - Represents dimension hierarchies - `MeasureElements` - Represents measures to display ### Install the NuGet Package To use the OLAP Grid in your WPF application, install the following NuGet package: ```powershell Install-Package Syncfusion.OlapGrid.WPF ``` ### Assembly References The OLAP Grid requires the following assemblies: Assembly Reference * `Syncfusion.Grid.WPF` * `Syncfusion.GridCommon.WPF` * `Syncfusion.Linq.Base` * `Syncfusion.Olap.Base` * `Syncfusion.OlapGridCommon.WPF` * `Syncfusion.OlapShared.WPF` * `Syncfusion.Shared.WPF` * `Syncfusion.Tools.WPF` NuGet Package * `Syncfusion.OlapGrid.WPF` ### Important Note **The Syncfusion OlapGrid control is supported only in .NET Framework WPF applications. It is not supported in .NET Core.** Please create a Framework-based WPF sample when working with OlapGrid. ## Documentation and Navigation Guide ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) When you need to: - Install and configure the OLAP Grid control - Add required assemblies to WPF projects - Understand licensing requirements - Create basic OLAP Grid implementation (XAML, Code-behind, or Blend) - Set up OlapDataManager and connection strings - Use design-time binding with Query Designer - Create your first OLAP report with dimensions and measures ### Data Source Configuration 📄 **Read:** [references/data-source-configuration.md](references/data-source-configuration.md) When you need to: - Configure OLAP data source connections (SSAS or offline cubes) - Build OlapReport with dimensions and measures - Specify cube names and connection strings - Add categorical elements (column axis) and series elements (row axis) - Configure dimension hierarchies and levels - Set up measure elements - Understand OlapDataManager workflow ### Grid Layouts 📄 **Read:** [references/grid-layouts.md](references/grid-layouts.md) When you need to: - Choose between five layout types (Normal, Excel-like, Top Summary, No Summaries) - Position summary cells at top or bottom of parent members - Display member properties with Excel-like layout - Configure layout property in XAML or code - Understand summary and child member positioning - Select appropriate layout for business requirements ### Drill Operations 📄 **Read:** [references/drill-operations.md](references/drill-operations.md) When you need to: - Implement drill down/up navigation through hierarchies - Configure drill position for rows and columns - Enable multi-level drilling - Support all level type members - Handle drill events programmatically - Manage drill state and navigation patterns - Optimize drill performance ### Conditional Formatting 📄 **Read:** [references/conditional-formatting.md](references/conditional-formatting.md) When you need to: - Apply cell formatting based on data conditions - Use OlapGridDataConditionalFormat class - Define filter criteria with condition types (GreaterThan, LessThan, Equals) - Combine conditions with predicates (And, Or) - Customize cell styles (background, foreground, fonts, borders) - Configure formatting in XAML or code-behind - Apply multiple conditional formats ### Exporting 📄 **Read:** [references/exporting.md](references/exporting.md) When you need to: - Export OLAP Grid to Excel (ExportToExcel method) - Export to Word documents (ExportToWord method) - Export to PDF files (ExportToPdf method) - Export to CSV format (GridCsvExport class) - Preserve formatting in exported documents - Handle file dialogs and export configuration - Implement export error handling ### Cell Selection 📄 **Read:** [references/cell-selection.md](references/cell-selection.md) When you need to: - Configure cell selection modes - Handle selection events - Implement programmatic cell selection - Customize selection behavior - Support multi-cell selection - Manage selection state ### KPI and Member Properties 📄 **Read:** [references/kpi-and-member-properties.md](references/kpi-and-member-properties.md) When you need to: - Display Key Performance Indicators (KPI) - Configure KPI status and trend visualization - Show member properties alongside dimensions - Use Excel-like layout with member properties - Bind member properties from cube definitions - Configure OlapReport for KPI display ### Advanced Features 📄 **Read:** [references/advanced-features.md](references/advanced-features.md) When you need to: - Implement paging for large OLAP datasets - Add hyperlink functionality to cells - Freeze row or column headers - Customize tooltips for cells - Use grid style dialog for formatting - Enable RTL (Right-to-Left) support - Configure accessibility features ### XAML Configuration 📄 **Read:** [references/xaml-configuration.md](references/xaml-configuration.md) When you need to: - Configure OLAP Grid declaratively in XAML - Set properties through XAML markup - Define conditional formats in XAML - Manage XAML namespaces - Use styles and templates - Apply resource management patterns - Follow XAML best practices ## Quick Start Example Here's a minimal working example to create an OLAP Grid with data from an OLAP cube: ### XAML Setup ```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> ``` ### Code-Behind ```csharp 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; } } ``` This creates a basic OLAP Grid showing Internet Sales Amount by Customer Geography (Country) and Fiscal Year. ## Common Patterns ### Pattern 1: Setting Grid Layout ```csharp // 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; ``` ### Pattern 2: Applying Conditional Formatting ```csharp // 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); ``` ### Pattern 3: Exporting to Different Formats ```csharp // 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); } ``` ### Pattern 4: Multiple Dimensions and Measures ```csharp 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; } ``` ## Key Properties and Methods ### OlapGrid Properties - **`OlapDataManager`** - Gets or sets the OlapDataManager instance - **`Layout`** - Gets or sets the grid layout type (GridLayout enum) - **`ConditionalFormats`** - Collection of conditional formatting rules - **`InternalGrid`** - Access to underlying grid engine for advanced operations ### OlapGrid Methods - **`DataBind()`** - Binds the grid to the data source - **`ExportToExcel(string filename)`** - Exports grid to Excel - **`ExportToWord(string filename)`** - Exports grid to Word - **`ExportToPdf(string filename)`** - Exports grid to PDF ### OlapDataManager - **`SetCurrentReport(OlapReport report)`** - Sets the active OLAP report - **Constructor accepts connection string** for OLAP data source ### OlapReport Structure - **`CurrentCubeName`** - Name of the cube to query - **`CategoricalElements`** - Collection for column axis (dimensions and measures) - **`SeriesElements`** - Collection for row axis (dimensions) ## Common Use Cases ### Business Intelligence Dashboards Create executive dashboards displaying KPIs, sales metrics, and performance indicators with drill-down capabilities for detailed analysis. ### Sales Analysis Reports Analyze sales data across multiple dimensions (time, geography, product) with the ability to drill into specific regions or time periods. ### Financial Reporting Display financial data from OLAP cubes with conditional formatting to highlight variances, trends, and exceptional values. ### Multi-Dimensional Data Exploration Enable users to explore complex datasets by drilling through hierarchies and pivoting dimensions interactively. ### Data Export and Distribution Generate formatted reports in Excel, Word, or PDF for distribution to stakeholders who need offline access to OLAP analysis. ### Comparative Analysis Compare multiple measures (actual vs. budget, current vs. prior year) across different dimensions with Excel-like layout and member properties. ---
Ver no GitHub