mcpField
S
syncfusion-wpf-olap-gauge

syncfusion-wpf-olap-gauge

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

关于 syncfusion-wpf-olap-gauge

这份指南介绍如何使用 Syncfusion WPF OlapGauge 控件,将 OLAP 数据源中的 KPI 呈现为仪表,适用于构建仪表盘和报表的开发者。内容涵盖数据绑定、指标状态、布局、外观、工具提示与本地化。

主要功能

  1. 01绑定 OLAP 多维数据集和服务器
  2. 02呈现 KPI 值、目标、状态与趋势
  3. 03按行列排列多个仪表
  4. 04自定义边框、主题与标签
  5. 05配置工具提示和本地化

适用场景

  1. 01构建管理层 KPI 仪表盘
  2. 02显示离线多维数据集中的 KPI
  3. 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.md
customization.md
data-binding.md
getting-started.md
kpi-visualization.md
tooltips-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"/>

关键属性

核心属性
PropertyTypeDescription
OlapDataManagerOlapDataManager管理 OLAP 连接和数据绑定
RowsCountint多个量表布局的行数
ColumnsCountint多个量表布局的列数
CurrentCubeNamestring要使用的 OLAP Cube 名称
ReportNamestringOLAP 报表名称
可见性属性
PropertyTypeDefaultDescription
ShowGaugeHeadersbooltrue显示/隐藏量表标题
ShowGaugeLabelsbooltrue显示/隐藏量表标签
ShowGaugeFactorsbooltrue显示/隐藏量表因子
ShowPointersTooltipboolfalse为指针(值)启用工具提示
ShowMarkersTooltipboolfalse为标记(目标)启用工具提示
外观属性
属性类型说明
Radiusdouble仪表半径大小
FrameTypeGaugeFrameType边框样式(Circular、HalfCircle 等)
FlowDirectionFlowDirection布局方向(LeftToRight/RightToLeft)
XAML 配置属性
属性说明
DataSource.ConnectionStringOLAP 连接字符串
DataSource.ConnectionNameApp.Config 中的连接名称
SharedDataManagerName共享数据管理器引用
CategoricalAxis类别轴维度和 KPI
SeriesAxis系列轴维度
SlicerAxis切片器轴维度

相关组件

数据可视化类别中的组件
  • 圆形仪表 - 用于带指针和范围的非 OLAP 径向仪表可视化
  • 图表 - 用于通过多种图表类型详细可视化 OLAP 数据
其他 Syncfusion WPF 组件

如需了解其他 WPF 组件,请参阅主库:

程序集引用

OLAP Gauge 所需的程序集:

  • Syncfusion.OlapGauge.WPF
  • Syncfusion.Gauge.WPF
  • Syncfusion.Olap.Base
  • Syncfusion.OlapShared.WPF
  • Syncfusion.Core
  • Syncfusion.Shared.WPF

位置:{Drive}:\Program Files (x86)\Syncfusion\Essential Studio\{version}\precompiledassemblies\{version}\{framework}\

许可

从 v16.2.0.x 开始,必须注册 Syncfusion 许可证密钥。请在应用程序中包含许可证密钥。详情请参阅 Syncfusion 许可文档。

评论

支持 Markdown