关于 syncfusion-wpf-olap-client
这是一项在 .NET Framework WPF 应用中实现 Syncfusion WPF OLAP Client 的技能,指导开发者连接多维数据源、构建图表与网格报表、探索数据并管理报表定义。
主要功能
- 01连接离线立方体及所列 OLAP 数据源
- 02浏览立方体维度、层级、度量和 KPI
- 03通过拖放轴构建报表
- 04筛选、排序、分页和下钻数据
- 05以网格和图表呈现数据
- 06导出并保存报表定义
适用场景
- 01基于多维数据创建 BI 仪表板
- 02让用户构建并保存即席报表
- 03按时间、地域和产品分析销售数据
- 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.mddata-binding.mddrill-through.mdexporting.mdfiltering.mdgetting-started.mdnamed-sets.mdolap-client-elements.mdpaging.mdreport-management.mdsorting.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