You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SSRS饼图中拆分切片为两个子切片并显示对应数值?

当然可以实现这个需求!下面是一步步的实操方法,帮你把每个编号对应的两个数值拆成饼图的独立子切片,还能自定义指定切片的颜色和显示内容:

实现SSRS饼图拆分主切片为子切片的步骤

1. 先把数据转成适合的格式

你的原始数据是扁平的一行对应一个编号+两个数值,我们需要把它转换成长格式——每个子切片对应一行数据。比如原数据里的1773004. 5 1,要拆成两行:

编号子项类型数值
1773004子项15
1773004子项21

如果是用SQL数据集,你可以用UNION ALL来拆分每一行,示例代码如下(假设你的原始数据存在表YourData里,ID是编号,Val1和Val2是对应的两个数值):

SELECT ID AS 编号, '子项1' AS 子项类型, Val1 AS 数值 FROM YourData
UNION ALL
SELECT ID AS 编号, '子项2' AS 子项类型, Val2 AS 数值 FROM YourData

要是你的原始数据是文本导入的,先在数据集里用字符串拆分工具(比如SQL Server的STRING_SPLIT)把每个编号后的两个数字拆成独立字段,再用上面的方法转换格式。

2. 配置饼图的分组

  • 在SSRS报表里添加一个饼图控件。
  • 把「数值」字段拖到饼图的值区域,把「编号」拖到类别组,再把「子项类型」拖到系列组。这样每个编号就会自动拆分成两个子切片,对应它的两个数值。

3. 给指定子切片设置红色(比如1773004的子切片)

  • 右键点击饼图,选择「系列属性」。
  • 切换到「填充」选项卡,点击「表达式」按钮,输入条件格式表达式:
=IIF(Fields!编号.Value = "1773004" AND Fields!子项类型.Value = "子项1", "Red", "Default")

要是你想让1773004的第二个子切片变红,把表达式里的子项1改成子项2就行,也可以换成其他颜色值。

4. 在子切片上显示数值

  • 右键点击饼图的切片,选择「显示数据标签」。
  • 再右键点击数据标签,选择「标签属性」。
  • 在「标签数据」里输入表达式,显示对应的数值:
=Fields!数值.Value

如果想同时显示编号和数值,可以写成:

=Fields!编号.Value & ": " & Fields!数值.Value

小提示

  • 如果有些编号不需要拆分,你可以在「系列组属性」的「可见性」里设置条件,隐藏对应的子切片。
  • 要是需要调整子切片的大小比例,直接用数值字段的大小来控制就行,SSRS饼图会自动按数值占比显示切片大小。

这样就能完全实现你想要的效果啦!

内容的提问来源于stack exchange,提问作者John Connolly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:37:26