reporting-services - 有没有办法在 ssrs 中获取行的字母编号而不是数字编号?
问题描述
我需要什么(以粗体突出显示的行的字母编号(序列列)):
我尝试将 rownumber 函数的输出转换为字符串,但似乎没有任何效果,因为我不知道。
请帮忙!
解决方案
您可以使用一些自定义代码来完成此操作。
转到报告属性,单击“代码”选项卡并将以下代码粘贴到自定义代码窗口中。
Public Function GetRowLetter(RowNum As Integer) As String
' stick the RowNum in a variable that we can reduce until it's zero
Dim r As Integer
Dim i As Integer
Dim s As String ' holds result
s = ""
r = RowNum
' we start at the right side so if the rownum is 28 we want to be back AB
' need to get 'B' first
Do While RowNum > 0
r = Int((RowNum - 1) / 26)
i = (RowNum - 1) Mod 26
s = Chr(i + 65) & s
RowNum = r
Loop
GetRowLetter = s
End Function
这将为 1 提供“A”,为 2 提供“B”等,然后将为 27 提供“AA”,“AB”或 28 等...
如果您想返回小写字母,请交换65
for98
在您的报告中,将文本框值表达式设置为
=Code.GetRowLetter(RowNumber("myDataSetName"))
换成myDataSetName
您想要应用它的数据集或范围的名称。请记住,数据集和范围名称区分大小写,并且必须用引号 ( " ) 括起来
推荐阅读
- java - 如何为 Java HTTPS *server* 配置 SSL 密码套件?
- r - 更新函数内的模型因子水平无法正常工作
- angular - 角度错误 TS2304:找不到名称“配置”
- ffmpeg - 使用 FFmpeg 报告重复的帧
- python - 自我模型上的多对多:如何向此关系添加新实例
- rascal - 优先级声明是否可以消除替代词汇之间的歧义?
- sublimetext3 - 在 ST3 Win10 中显示/隐藏选项卡的键盘快捷键
- angularjs - 何时使用 AngularJS `$onInit` Life-Cycle Hook
- jquery - 如何从 Jquery 克隆的 div 中编写删除脚本
- spring-mvc - @RequestBody 不绑定复杂对象