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

SSRS报表代码生成的Rank:查看器Tablix间重置,导出后不重置

SSRS矩阵Tablix导出后Rank不重置的解决方法

问题根源

自定义代码里用于计算Rank的全局变量,在报表导出时会维持全局状态,不会随Tablix切换自动重置;但Visual Studio设计视图会按Tablix的渲染周期重置变量,这就导致了预览和导出后的结果不一致。

解决步骤

  1. 修改报表自定义代码
    在原有Rank计算代码基础上,新增变量重置方法:
Dim previousValue As Object
Dim currentRank As Integer
Dim tieCount As Integer

Public Sub ResetRank()
    previousValue = Nothing
    currentRank = 0
    tieCount = 0
End Sub

Public Function GetRank(ByVal currentValue As Object) As Integer
    If currentValue Is Nothing Then
        Return Nothing
    End If
    If previousValue Is Nothing Then
        currentRank = 1
        tieCount = 1
    ElseIf currentValue = previousValue Then
        tieCount = tieCount + 1
    Else
        currentRank = currentRank + tieCount
        tieCount = 1
    End If
    previousValue = currentValue
    Return currentRank
End Function
  1. 为每个Tablix绑定重置事件
  • 选中需要独立计算Rank的Tablix,按F4打开属性窗口
  • 点击属性窗口右上角的闪电图标(切换到事件视图)
  • 在BeforeRender事件中输入 Code.ResetRank()
  • 对所有需要重置Rank的Tablix重复此操作
  1. 验证效果
  • 先在Visual Studio预览确认Rank排序逻辑正常
  • 导出至Excel或PDF,检查每个Tablix的Rank是否从1开始重新计算

内容的提问来源于stack exchange,提问作者A.Steer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:22:06