如何从 SQL Server 加载日期时间,在 SSRS 中将其分隔为日期和时间,并在下载报告时使其在 Excel 中可过滤?

问题描述 投票:0回答:1

如何使用 SQL Server 中的日期时间列在创建 SSRS 报告时实现以下行为?

  • 在报告中我想要两栏。一种只有日期,一种只有时间。
  • 当我将报告导出为 Excel 文件时,日期列需要启用 Excel 来应用日期过滤
datetime reporting-services type-conversion format report
1个回答
0
投票

使用 Microsoft Report Builder,双击报告表格中应包含您的日期的单元格。使用以下表达式将日期与日期时间列分开。

=DateAdd("d",DateDiff("d",Today(),Fields!DatetimeColumn.Value),Today())

这会计算

Today()
(没有时间的日期)和您的日期时间之间的天数。然后它从今天减去这个差异。这给您留下了一个没有时间信息的日期。

然后,在 Microsoft Report Builder 的列属性中,选择以下设置:

Date Format

对于时间列,请使用以下表达式:

=Format(Fields!DatetimeColumn.Value,"HH:mm:ss")

并使用这些设置:

Time Format

现在,如果您从 SSRS 将报告导出为 Excel 文件,您的列将如下所示:

Excel Columns

当过滤器应用于列时,日期过滤器将如下所示:

Date Filter

时间过滤器将如下所示:

Time Filter

请记住以下几点:如果您在 Microsoft Report Builder 的选项卡中使用普通的

Fields!DatetimeColumn.Value
并将格式设置为包含时间的日期(例如屏幕截图中的 *2000/01/31 13:30),您将拥有一个可以像这样用日期和时间过滤的列。

Datetime Filter

© www.soinside.com 2019 - 2024. All rights reserved.