Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting SSRS矩阵中字符串数字的排序_Sorting_Matrix_Reporting Services_Ssrs 2012 - Fatal编程技术网

Sorting SSRS矩阵中字符串数字的排序

Sorting SSRS矩阵中字符串数字的排序,sorting,matrix,reporting-services,ssrs-2012,Sorting,Matrix,Reporting Services,Ssrs 2012,我的矩阵表中有一列,它是一个包含数值stepName的varchar。在报告中,它打印为1,10,11。。。2,20,21,22... etc而不是1,2。。10, 20. 我发现了另一个问题,建议要么将varchar值转换为int,然后进行排序,要么添加一个datatype numeric列并使用它进行排序 我无法将varchar值转换为int,因为我有大约50/50个varchar/数值。我实际上有一个数字序列列,但当我试图在查询、列tablix属性和列表tablix属性中使用它作为排序时

我的矩阵表中有一列,它是一个包含数值stepName的varchar。在报告中,它打印为1,10,11。。。2,20,21,22... etc而不是1,2。。10, 20.

我发现了另一个问题,建议要么将varchar值转换为int,然后进行排序,要么添加一个datatype numeric列并使用它进行排序

我无法将varchar值转换为int,因为我有大约50/50个varchar/数值。我实际上有一个数字序列列,但当我试图在查询、列tablix属性和列表tablix属性中使用它作为排序时,它仍然没有排序。我错过了什么?谢谢大家!

select hrss.salaryScheduleCode, hrss.salaryScheduleName, st.stepName, st.seq, sl.laneName
from dbo.HRSalarySchedule hrss
left join dbo.HRSalaryScheduleStep st on st.hrSalaryScheduleID = hrss.hrSalaryScheduleID
left join dbo.HRSalaryScheduleLane sl on sl.hrSalaryScheduleID = hrss.hrSalaryScheduleID
order by hrss.salaryScheduleCode, st.seq, sl.seq

更改tablix的排序以使用表达式:

=CInt(Fields!stepName.Value)
编辑:

好吧,我误解了varchar/数值的50/50,所以这里有一个更好的解决方案

Val函数计算前导数值,因此我建议创建两个排序列:

表达式=ValFields!stepName.Value 字段步骤名 例如,这将创建如下排序顺序:

下面是一个屏幕截图,用于说明要配置什么:


你能编辑你的文章来展示你的数据样本和你的整个报告设计吗。还应说明设置排序的位置,如果可能,还应说明当前获得的输出的屏幕截图。这可能真的很容易修复,但如果没有更多的信息,猜测工作就太多了。我认为你的列表应该按salaryScheduleName排序,因为这似乎是分组的依据。您的排序应该在stepName行组中,因为它来自Step表。