Sql server Tablix列订单位置错位

Sql server Tablix列订单位置错位,sql-server,ssrs-2008,Sql Server,Ssrs 2008,我的一个报告是使用基于存储过程的Tablix。 其中一列实际上是时间段的一组列,其顺序应该是从左到右。 昨天,过去7天,过去2周,过去3周。 问题是,当我查看报告时,我得到了错误的顺序: 昨天,过去7天,过去3周,过去2周。 我有办法控制秩序吗? 附截图: 请告知, 非常感谢。 Raffi Begas似乎正在按列名排序,请尝试将sp中的列重命名为01昨天、02 7天、03 2周 然后,如果不想使用前缀,则可以在显示时将字段分为子字符串。假定列的数量相当小,可以使用一个简单的SWITCH语句对列组

我的一个报告是使用基于存储过程的Tablix。 其中一列实际上是时间段的一组列,其顺序应该是从左到右。 昨天,过去7天,过去2周,过去3周。 问题是,当我查看报告时,我得到了错误的顺序: 昨天,过去7天,过去3周,过去2周。 我有办法控制秩序吗? 附截图:

请告知, 非常感谢。
Raffi Begas

似乎正在按列名排序,请尝试将sp中的列重命名为01昨天、02 7天、03 2周


然后,如果不想使用前缀,则可以在显示时将字段分为子字符串。假定列的数量相当小,可以使用一个简单的SWITCH语句对列组进行排序,因此,与其按照名称进行排序(默认情况下可能会这样做),不如将其替换为类似的内容

=SWITCH(
    Fields!MyTimePeriodField.Value = "Yesterday", 1,
    Fields!MyTimePeriodField.Value = "Last 7 Days", 2,
    Fields!MyTimePeriodField.Value = "Last 2 Weeks", 3,
    Fields!MyTimePeriodField.Value = "Last 3 Weeks", 4,
    True, 99
    )
根据需要添加更多行,最后的True 99只捕获与前面的对不匹配的任何内容


将此字段用作列组排序,您应该可以。

添加另一个字段进行排序