Reporting services 有没有办法在ssrs中按字母顺序编号而不是数字编号?
我需要的(以粗体突出显示的行的字母编号(序列列)): 我曾尝试将rownumber函数的输出转换为字符串,但似乎没有任何效果,因为我没有任何想法Reporting services 有没有办法在ssrs中按字母顺序编号而不是数字编号?,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我需要的(以粗体突出显示的行的字母编号(序列列)): 我曾尝试将rownumber函数的输出转换为字符串,但似乎没有任何效果,因为我没有任何想法 请帮忙 您可以使用一点自定义代码来实现这一点 转到报告属性,单击“代码”选项卡并将以下代码粘贴到自定义代码窗口中 Public Function GetRowLetter(RowNum As Integer) As String ' stick the RowNum in a variable that we can reduce until it
请帮忙 您可以使用一点自定义代码来实现这一点 转到报告属性,单击“代码”选项卡并将以下代码粘贴到自定义代码窗口中
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
这将给出“A”表示1,“B”表示2等,然后给出“AA”表示27,“AB”或28等
如果要返回小写字母,请将65
替换为98
在报告中,将文本框值表达式设置为
=Code.GetRowLetter(RowNumber("myDataSetName"))
用数据集的名称或要应用它的作用域交换出
myDataSetName
。请记住,数据集和作用域名称区分大小写,并且必须用引号(“)括起来。您可以使用一些自定义代码来实现这一点
转到报告属性,单击“代码”选项卡并将以下代码粘贴到自定义代码窗口中
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
这将给出“A”表示1,“B”表示2等,然后给出“AA”表示27,“AB”或28等
如果要返回小写字母,请将65
替换为98
在报告中,将文本框值表达式设置为
=Code.GetRowLetter(RowNumber("myDataSetName"))
用您要应用它的数据集或作用域的名称调出
myDataSetName
。请记住,数据集和作用域名称区分大小写,必须用引号括起来(“)谢谢@Alan。我试试这个。谢谢@Alan。我试试这个。