SSRS tablix 排序不适用于日期列

SSRS tablix Sorting not working on Date column

我有一份 SSRS 报告

Stock#_______Description_____Colum1_____Colum2_____Colum3 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 笔交易。已尽一切努力,但未按任何顺序显示日期。检查了数据集值,它完全按日期降序排列,但报告没有以某种方式安排它。以日期形式发送日期,使用 Format("yyyy/MM/dd") SSRS 函数显示它。使用数据集中的简单日期值进行排序。我还应该在这里做什么?

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

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

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

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

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

上下文单击 -> 文本框属性 -> 交互式排序 -> 排序依据:

然后输入这样的表达式:

=CDate(Fields!DateField.Value)

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