mcpField
S
syncfusion-wpf-olap-client

syncfusion-wpf-olap-client

github.com/syncfusion数据与数据库5125 次安装2 周前更新
代码仓库

关于 syncfusion-wpf-olap-client

这是一项在 .NET Framework WPF 应用中实现 Syncfusion WPF OLAP Client 的技能,指导开发者连接多维数据源、构建图表与网格报表、探索数据并管理报表定义。

主要功能

  1. 01连接离线立方体及所列 OLAP 数据源
  2. 02浏览立方体维度、层级、度量和 KPI
  3. 03通过拖放轴构建报表
  4. 04筛选、排序、分页和下钻数据
  5. 05以网格和图表呈现数据
  6. 06导出并保存报表定义

适用场景

  1. 01基于多维数据创建 BI 仪表板
  2. 02让用户构建并保存即席报表
  3. 03按时间、地域和产品分析销售数据
  4. 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.md
data-binding.md
drill-through.md
exporting.md
filtering.md
getting-started.md
named-sets.md
olap-client-elements.md
paging.md
report-management.md
sorting.md

详细介绍

实现 Syncfusion WPF OLAP 客户端

WPF 的 OLAP 客户端控件提供全面的商业智能功能,可浏览和分析以多维数据集格式组织的多维数据,包括维度、度量值、命名集和 KPI。它以图形(图表)和表格(网格)两种形式呈现结果,并支持随时创建和编辑报表,以供后续使用。

何时使用此技能

在以下情况下使用此技能:

  • 分析多维数据,数据来自 OLAP 多维数据集数据库(SSAS、Mondrian、ActivePivot)
  • 浏览多维数据集结构,包括维度、层次结构、度量值和 KPI
  • 创建商业智能仪表板,结合图表和网格
  • 构建 OLAP 报表,通过拖放配置轴
  • 连接多维数据集数据源(脱机多维数据集、本地/在线 SQL Server、Mondrian、ActivePivot)
  • 筛选和切片数据,依据成员、值或子集进行操作
  • 排序和分页大型多维数据集
  • 导出 BI 报表为 PDF、Excel、Word、CSV 或图像
  • 实现向下钻取操作,以便详细探索数据
  • 在 OLAP 报表中使用命名集和计算成员
  • 保存和加载报表定义,以便重复使用分析

组件概览

OLAP 客户端是一款全面的 BI 控件,包含:

  • 多维数据集选择器:在数据源中的多个多维数据集之间切换
  • 多维数据集维度浏览器:以树状视图显示度量值、维度、层次结构、级别、命名集和 KPI
  • 轴元素生成器:通过拖放配置分类(列)、系列(行)和切片器轴
  • 成员/度量值编辑器:选择特定成员或度量值进行筛选
  • 工具栏:快速访问报表管理、筛选、排序和导出操作
  • OLAP 网格:以表格形式呈现多维数据
  • OLAP 图表:以图形形式直观呈现多维数据集
安装 NuGet 包

若要在 WPF 应用程序中使用 OLAP 客户端,请安装以下 NuGet 包:

Install-Package Syncfusion.OlapClient.WPF
重要说明

Syncfusion OlapClient 控件仅支持 .NET Framework WPF 应用程序,不支持 .NET Core。 使用 OlapClient 时,请创建基于 Framework 的 WPF 示例。

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • 安装和所需程序集
  • 三种设置方法:Visual Studio 设计器、Expression Blend、代码隐藏
  • 将 OLAP 客户端添加到 WPF 应用程序
  • 配置 OlapDataManager
  • 连接字符串基础知识
  • 首次 DataBind 和呈现
数据绑定与连接

📄 阅读: references/data-binding.md

  • 绑定到脱机多维数据集文件(.cub)
  • 连接到本地 SQL Server Analysis Services
  • 通过 XML/A 连接到在线 SQL Server
  • 连接到 Mondrian Server
  • 连接到 ActivePivot Server
  • 连接字符串模式和身份验证
OLAP 客户端元素与 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 Server
// 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);
轴元素构建器

用于构建报表的拖放界面,包含三个轴:

  • 类别(列):显示在图表 y 轴和网格列上的元素
  • 系列(行):显示在图表 x 轴和网格行上的元素
  • 切片器:用于缩小数据范围的筛选器,不会显示在图表/网格上
多维数据集维度浏览器

用于组织多维数据集元素的树视图:

  • 度量值(定量分析)
  • 维度(数据分类)
  • 层次结构(属性和用户定义)
  • 级别(层次结构深度)
  • 命名集(预定义的元组集合)

常见用例

商业智能仪表板

创建交互式 BI 仪表板,将 OLAP Grid 和 OLAP Chart 结合起来,全面分析数据,并支持筛选、排序和向下钻取。

即席报表

允许最终用户通过将维度和度量值拖到轴上、应用筛选器并保存报表以供日后使用,随时构建自定义报表。

销售分析

跨多个维度(时间、地理位置、产品类别)分析销售数据,并能够对数据进行切片和切块,向下钻取以查看详细交易记录。

财务报表

使用计算成员创建自定义指标,使用命名集进行分组分析,并通过导出功能共享报表。

多维数据集分析

连接到包含多个多维数据集的数据库,并使用多维数据集选择器在它们之间切换,以查看不同的分析视角。

脱机分析

在需要断开连接进行数据分析的场景中,使用脱机多维数据集文件进行工作。

所需程序集

设置 OLAP Client 时,请确保引用以下 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

评论

支持 Markdown