关于 syncfusion-wpf-olap-gauge
这份指南介绍如何使用 Syncfusion WPF OlapGauge 控件,将 OLAP 数据源中的 KPI 呈现为仪表,适用于构建仪表盘和报表的开发者。内容涵盖数据绑定、指标状态、布局、外观、工具提示与本地化。
主要功能
- 01绑定 OLAP 多维数据集和服务器
- 02呈现 KPI 值、目标、状态与趋势
- 03按行列排列多个仪表
- 04自定义边框、主题与标签
- 05配置工具提示和本地化
适用场景
- 01构建管理层 KPI 仪表盘
- 02显示离线多维数据集中的 KPI
- 03为本地化应用设置仪表样式
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-olap-gauge安装后在 Claude Code 中输入/syncfusion-wpf-olap-gauge确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/appearance.mdcustomization.mddata-binding.mdgetting-started.mdkpi-visualization.mdtooltips-localization.md详细介绍
实现 OLAP 仪表
Syncfusion® WPF OLAP Gauge 控件实现指南,用于显示来自 OLAP 数据源的关键绩效指标(KPI)。OLAP Gauge 非常适合在高管仪表板和报告卡中突出显示对业务至关重要的 KPI 信息,以直观的方式呈现数值与目标的对比。
何时使用此技能
在以下情况下使用此技能:
- 以仪表格式显示 KPI 数据,数据来自 OLAP 多维数据集
- 连接到 OLAP 数据源(XML/A、SQL Server Analysis Services、Mondrian、ActivePivot)
- 可视化业务指标,并显示目标、状态和趋势指示器
- 创建包含 KPI 可视化效果的高管仪表板
- 将 OLAP 仪表绑定到脱机多维数据集或本地/在线服务
- 使用边框、主题和布局自定义仪表外观
- 在结构化布局中配置多个仪表
- 使用维度和 KPI 元素实现 OLAP 报告
- 为国际化应用程序本地化 OLAP 仪表
- 添加工具提示以显示数值和目标信息
组件概览
WPF 的 OlapGauge 控件提供了强大的 KPI 可视化功能:
主要功能
- OLAP 数据绑定: 内置支持 XML/A 数据源、脱机多维数据集、SQL Server Analysis Services、Mondrian 和 ActivePivot 服务
- KPI 可视化: 显示 KPI 数值(指针)、目标(标记)、状态和趋势指示器
- 视觉指示器: 使用交通灯、路标和标准箭头图像表示状态和趋势
- 多种仪表布局: 可自定义行和列布局,以显示多个仪表
- 边框类型: 提供多种内置边框类型(圆形、半圆形、整圆),呈现丰富的外观
- 主题: 支持 Office 2010/2013、Metro、Blend 和 VisualStudio 主题
- 工具提示: 为指针和标记提供交互式工具提示
- 自定义: 控制标题、标签和因子的可见性,并调整仪表半径
- 本地化: 支持多语言和 RTL(从右到左)布局
- XAML 配置: 无需代码隐藏即可在设计时完整配置控件
架构
OlapGauge Control
├── OlapDataManager (manages OLAP connections)
├── OlapReport (defines cube, dimensions, KPI elements)
├── Gauge Visualization (renders KPI data)
│ ├── Pointers (KPI values)
│ ├── Markers (KPI goals)
│ ├── Status Indicators (visual feedback)
│ └── Trend Indicators (directional arrows)
└── Layout (rows/columns for multiple gauges)
文档与导航指南
入门
📄 阅读: references/getting-started.md
首次设置 OLAP Gauge 控件时,请阅读此参考文档:
- 通过 Visual Studio 安装并添加控件
- 通过 Expression Blend 安装并添加控件
- 通过代码隐藏以编程方式添加控件
- 所需程序集引用(Syncfusion.OlapGauge.WPF、Syncfusion.Olap.Base 等)
- 使用连接字符串设置 OlapDataManager
- 使用 KpiElements 和 DimensionElements 创建基本 OlapReport
- 定义多维数据集名称并配置维度
- 所需命名空间(Syncfusion.Olap.Reports、Syncfusion.Olap.Manager、Syncfusion.Windows.Gauge.Olap)
- 初始呈现和示例输出
数据绑定
📄 阅读: references/data-binding.md
连接 OLAP Gauge 与数据源时,请阅读此参考文档:
- 使用物理路径绑定到脱机多维数据集文件(.cub)
- 绑定到本地 SQL Server Analysis Services 中的多维数据集
- 通过 XML/A 绑定到在线 SQL Server 中的多维数据集
- 绑定到 Mondrian 服务 OLAP 多维数据集
- 绑定到 ActivePivot 服务 OLAP 多维数据集
- 不同提供程序的连接字符串格式
- 身份验证和凭据配置
- 为不同服务设置 DataProvider.ProviderName
- 连接问题故障排除
KPI 可视化
📄 阅读: references/kpi-visualization.md
使用 KPI 显示功能时,请阅读此参考:
- 了解 KPI 元素和结构
- 使用指针表示 KPI 值
- 使用标记表示 KPI 目标
- KPI 状态指示器(交通灯、道路标志)
- KPI 趋势指示器(方向箭头)
- 配置 KpiElement 属性(ShowKPIGoal、ShowKPIStatus、ShowKPIValue、ShowKPITrend)
- 各 KPI 组件的显示选项
- 成员与 KPI 组合的显示模式
- 性能指标的视觉反馈
自定义
📄 阅读: references/customization.md
自定义量表布局和行为时,请阅读此参考:
- 使用 ColumnsCount 和 RowsCount 属性自定义布局
- 控制多个量表的排列
- 量表标题的可见性(ShowGaugeHeaders)
- 量表标签的可见性(ShowGaugeLabels)
- 量表因子的可见性(ShowGaugeFactors)
- 无需代码隐藏的完整 XAML 配置
- DataSource.ConnectionString 和 DataSource.ConnectionName 属性
- 在 XAML 中配置 ReportName 和 CurrentCubeName
- 定义 CategoricalAxis、SeriesAxis 和 SlicerAxis
- 在 XAML 标记中定义维度和 KPI 元素
- 配置计算成员
外观
📄 阅读: references/appearance.md
设置量表外观样式时,请阅读此参考:
- 调整量表半径以控制大小
- 内置框架类型(CircularCenterGradient、CircularWithDarkOuterFrames、FullCircle、HalfCircle)
- 使用 SkinStorage.VisualStyle 应用主题
- 可用主题:Metro、Blend、Office2010Black、Office2010Blue、Office2010Silver
- Office 2013 主题:LightGray、DarkGray、White
- VisualStudio2013 主题
- 在 XAML 和代码隐藏中设置主题
- 使用 SfSkinManager.SetVisualStyle
工具提示和本地化
📄 阅读: references/tooltips-localization.md
实现工具提示或多语言支持时,请阅读此参考:
- 启用指针工具提示(ShowPointersTooltip)
- 启用标记工具提示(ShowMarkersTooltip)
- 工具提示内容和格式
- 本地化概述和翻译流程
- 按正确的命名约定创建资源文件(.resx)
- 文件命名格式:Syncfusion.OlapGauge.wpf..resx
- 设置 CurrentUICulture 指定区域性
- 使用 FlowDirection 属性支持 RTL(从右到左)
- 将本地化与 RTL 结合用于阿拉伯语、希伯来语等
快速入门示例
带 KPI 的基本 OLAP Gauge
<Window x:Class="OlapGaugeApp.MainWindow"
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">
<Grid>
<syncfusion:OlapGauge x:Name="OlapGauge1"/>
</Grid>
</Window>
using Syncfusion.Olap.Manager;
using Syncfusion.Olap.Reports;
using System.Windows;
namespace OlapGaugeApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Create data manager with connection string
var olapDataManager = new OlapDataManager(
"Data Source=http://bi.syncfusion.com/olap/msmdpump.dll; " +
"Initial Catalog=Adventure Works DW 2008 SE;");
// Set OLAP report
olapDataManager.SetCurrentReport(CreateOlapReport());
// Bind to gauge
this.OlapGauge1.OlapDataManager = olapDataManager;
}
private OlapReport CreateOlapReport()
{
OlapReport report = new OlapReport();
report.CurrentCubeName = "Adventure Works";
// Configure KPI element
KpiElements kpiElement = new KpiElements();
kpiElement.Elements.Add(new KpiElement
{
Name = "Revenue",
ShowKPIGoal = true,
ShowKPIStatus = true,
ShowKPIValue = true,
ShowKPITrend = true
});
// Configure dimensions
DimensionElement dimensionElement = new DimensionElement();
dimensionElement.Name = "Date";
dimensionElement.AddLevel("Fiscal Year", "Fiscal Year");
// Add elements to report
report.CategoricalElements.Add(new Item { ElementValue = kpiElement });
report.CategoricalElements.Add(new Item { ElementValue = dimensionElement });
return report;
}
}
}
常见用例
包含多个 KPI 的高管仪表板
在结构化布局中显示多个 KPI 量表:
// Configure 2x2 layout for 4 KPIs
this.OlapGauge1.RowsCount = 2;
this.OlapGauge1.ColumnsCount = 2;
离线 Cube 绑定
连接到本地 Cube 文件:
string connectionString = @"DataSource = C:\Cubes\Adventure_Works_Ext.cub; Provider = MSOLAP;";
OlapDataManager dataManager = new OlapDataManager(connectionString);
完整 XAML 配置
无需代码隐藏,在 XAML 中定义整个 OLAP Gauge:
<syncfusion:OlapGauge x:Name="olapGauge"
CurrentCubeName="Adventure Works"
ReportName="SalesReport"
olapshared:DataSource.ConnectionString="datasource=localhost; initial catalog=adventure works dw">
<syncfusion:OlapGauge.CategoricalAxis>
<syncfusion:Dimension Name="Date" HierarchyName="Fiscal" LevelName="Fiscal Year"/>
<syncfusion:Kpi Name="Revenue" ShowGoal="True" ShowStatus="True" ShowValue="True"/>
</syncfusion:OlapGauge.CategoricalAxis>
</syncfusion:OlapGauge>
带工具提示的主题量表
应用主题并启用交互式工具提示:
<syncfusion:OlapGauge x:Name="OlapGauge1"
ShowPointersTooltip="True"
ShowMarkersTooltip="True"
sfshared:SkinStorage.VisualStyle="Metro"/>
关键属性
核心属性
| Property | Type | Description |
|---|---|---|
OlapDataManager | OlapDataManager | 管理 OLAP 连接和数据绑定 |
RowsCount | int | 多个量表布局的行数 |
ColumnsCount | int | 多个量表布局的列数 |
CurrentCubeName | string | 要使用的 OLAP Cube 名称 |
ReportName | string | OLAP 报表名称 |
可见性属性
| Property | Type | Default | Description |
|---|---|---|---|
ShowGaugeHeaders | bool | true | 显示/隐藏量表标题 |
ShowGaugeLabels | bool | true | 显示/隐藏量表标签 |
ShowGaugeFactors | bool | true | 显示/隐藏量表因子 |
ShowPointersTooltip | bool | false | 为指针(值)启用工具提示 |
ShowMarkersTooltip | bool | false | 为标记(目标)启用工具提示 |
外观属性
| 属性 | 类型 | 说明 |
|---|---|---|
Radius | double | 仪表半径大小 |
FrameType | GaugeFrameType | 边框样式(Circular、HalfCircle 等) |
FlowDirection | FlowDirection | 布局方向(LeftToRight/RightToLeft) |
XAML 配置属性
| 属性 | 说明 |
|---|---|
DataSource.ConnectionString | OLAP 连接字符串 |
DataSource.ConnectionName | App.Config 中的连接名称 |
SharedDataManagerName | 共享数据管理器引用 |
CategoricalAxis | 类别轴维度和 KPI |
SeriesAxis | 系列轴维度 |
SlicerAxis | 切片器轴维度 |
相关组件
数据可视化类别中的组件
其他 Syncfusion WPF 组件
如需了解其他 WPF 组件,请参阅主库:
- 主 WPF 库 - 完整的 Syncfusion WPF 组件文档
程序集引用
OLAP Gauge 所需的程序集:
Syncfusion.OlapGauge.WPFSyncfusion.Gauge.WPFSyncfusion.Olap.BaseSyncfusion.OlapShared.WPFSyncfusion.CoreSyncfusion.Shared.WPF
位置:{Drive}:\Program Files (x86)\Syncfusion\Essential Studio\{version}\precompiledassemblies\{version}\{framework}\
许可
从 v16.2.0.x 开始,必须注册 Syncfusion 许可证密钥。请在应用程序中包含许可证密钥。详情请参阅 Syncfusion 许可文档。