【问题标题】:SSRS tablix Sorting not working on Date columnSSRS tablix 排序不适用于日期列
【发布时间】:2015-02-09 17:42:39
【问题描述】:

我有一份 SSRS 报告

库存#_______描述_____列1_____列2_____列3 ABC__________XYZ_____________4334________4354_______454

detail part 

Transaction#_______Date
1__________________yyyy/MM/dd } Need to be sorted
2__________________yyyy/MM/dd } this date column
3__________________yyyy/MM/dd } but always comes unsorted
4__________________yyyy/MM/dd } Note: (This is tablix)

因此,主和详细部分的一行显示了最近的 4 条记录。这不是子报告。我得到 4 行,然后按 stock# 分组并使用 tablix 显示按最近日期(desc)排序的 4 个交易。尽了一切努力,但没有按任何顺序显示日期。检查了数据集的值,它完全按日期按 desc 顺序排列,但报告没有以某种方式排列它。将日期作为日期发送,使用 Format("yyyy/MM/dd") SSRS 函数显示。使用数据集中的简单日期值进行排序。我还应该在这里做什么?

【问题讨论】:

  • 您的 Tablix 的 SortExpressions 中有哪些未按您想要的方式排序?
  • 从对话框到添加排序很简单。右键单击 tablix 行-> Tablix 属性...-> 排序-> 添加(然后选择列)。在我显示的列中 =IIf(Year(Fields!LastTransactionDate.Value) = "1900", "",Format(Fields!LastTransactionDate.Value,"yyyy/MM/dd"))
  • 好的,但是选择您的 Tablix,在属性窗口中查看 SortExpressions 属性,单击省略号,然后告诉我们现在有什么。
  • 感谢@TabAlleman 的支持,我找到了解决方案。

标签: sorting date reporting-services ssrs-2008 ssrs-tablix


【解决方案1】:

在尝试了很多事情之后,我找到了一种解决这个问题的方法。

  1. 点击 Tablix,然后排列多个日食
  2. 它将显示该 tablix 上是否有组,查看屏幕底部将显示行组和列组。
  3. 在行组中,您会看到很多列,右键单击行组部分的第一列。
  4. 选择组属性...,然后在对话框中选择排序,默认显示第一列名称,通过[A-Z]或[Z-A]按钮更改为所需的列和排序顺序。

这正是我想要的。这个链接帮助了我https://msdn.microsoft.com/en-us/library/dd255193.aspx

【讨论】:

    【解决方案2】:

    自从我从 Google 来到这里后,我想我会添加一些对我有用的东西......

    在我的例子中,日期字段是来自数据库的VARCHAR2,而不是DATE。一种解决方案是在查询中转换为DATE,但您也可以在交互式排序表达式中将该字段转换为日期:

    上下文点击 -> 文本框属性 -> 交互式排序 -> 排序方式:

    然后输入这样的表达式:

    =CDate(Fields!DateField.Value)

    此方法不会改变字段的视觉格式,它只是将字段排序为日期而不是字符串。

    【讨论】:

    • 尽管我的日期字段是一个日期字段,但它没有正确排序,直到我对用这个 CDate 包裹的字段进行排序。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-10-13
    • 2018-11-22
    • 2015-02-06
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多