Sql SSRS报告中的列排序

Sql SSRS报告中的列排序,sql,ssrs-tablix,ssrs-2014,Sql,Ssrs Tablix,Ssrs 2014,我想在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)是字符串排序,您需要将该列上的数据类型转换为数字(在本例中为整数)类型,以便排序正确 有两种解决

我想在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)是字符串排序,您需要将该列上的数据类型转换为数字(在本例中为整数)类型,以便排序正确

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

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

编辑Tablix或组的排序定义,并选择要排序的字段。要按您希望的方式对值进行排序,我们可以使用CInt函数将值转换为整数

注意:使用表达式转换数据类型时,如果您的数据可能无法转换,则可能需要在转换之前验证该值,否则 报告执行将失败。不过,错误消息非常有用,“表达式”对话框显示了可用的函数以及每个函数的用法示例

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

表达式示例:

=“销售”+字段!ItemValue.Value

=“销售”&字段!ItemValue.Value

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


我希望这能帮助你,欢迎来到SSRS

很可能您的列被排序为字符串。在排序表达式中使用Cint函数将其转换为整数感谢您宝贵的建议和屏幕截图,它们帮助我按数字对列进行排序,但当我添加“sales_uu”并预览报表时,它会抛出一个错误,说明列转换的格式不正确(显然是“sales_uu”)。我想根据数字对我的列进行排序,同时将“sales”附加到列上。我说得通吗?谢谢。对不起,我真的明白你第一句话的意思了。非常感谢。