Tablix列的订单位置错位

时间:2017-10-02 09:29:04

标签: sql-server ssrs-2008

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

Screenshot

请指教, 谢谢 Raffi Begas

2 个答案:

答案 0 :(得分:1)

假设列数相当小,您可以对列组排序使用简单的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只捕获与之前对不匹配的任何内容。

使用此作为您的列组排序,您应该没问题。

答案 1 :(得分:0)

它似乎是对列名进行排序,尝试将sp中的列重命名为" 01昨天" ," 02 7天"," 03 2周"

如果你没有前缀

,你可以在显示时对字段进行子串