SSRS 报告中的列排序

Column sorting in SSRS report

我想在 SSRS 中对我的列编号而不是我的查询进行排序,因为我有一些其他列在查询级别排序并且在查询级别进行这两种排序效果不佳。目前,我得到的列顺序为 1、10、2、3、4、5、6 而不是 1、2、3、4、5、6...10。 排序完成后,我还想将 'sales_' 添加到列名中,以便看到 sales_1、sales_2、sales_3 等。我知道这可能非常简单,但我是 SSRS 的新手。提前致谢。

您描述的排序 (1, 10,2,3,4) 是字符串排序,您需要将该列的数据类型转换为数字(在本例中为整数)类型,以便排序是正确的。

有两种解决方法,你可以在记录集中添加一个计算字段,如果你需要多次使用这个列,这会很有帮助,或者你可以简单地使用一个表达式来排序。

右键单击您的数据集并 select 添加计算字段,将打开一个对话框,其中包含查询的所有列定义,您可以在此处添加自己的自定义字段。 对于自定义字段,您将需要一个表达式,它最初是其他选项,所以让我们看一下该组件。

编辑 Tablix 或组的排序定义和 select 您要排序的字段,以您希望值需要为数字的方式排序,我们可以使用 CInt 函数进行转换整数值

NOTE: when using expressions to convert data types, if your data might not be convertible you may need to validate the value before conversion otherwise your report execution will fail. The error messages are pretty helpful though and the expression dialog shows available functions an examples of usage for each of them.

对于第二个问题,在显示数据的字段中使用表达式连接值,您可以使用 String.Format 函数或使用简单的字符串加法:

Expression Examples:

="sales_" + Fields!ItemValue.Value

="sales_" & Fields!ItemValue.Value

=String.Format("sales_{0}", Fields!ItemValue.Value)

希望对您有所帮助,欢迎来到 SSRS!