如何在 SSRS 报告字段中计算和显示日期范围?

How can I compute and display a date range in an SSRS report field?

在我正在处理的报告中,用户输入了开始日期和结束日期。通常,两者将跨越两周,例如,如果他们输入 5/15/2016 作为开始日期,5/28/2016 作为结束日期。

我需要在列标题中显示的是一列的第一周(在上述情况下,将是 5/15 - 5/21/16)和另一列的第二周(将是在这种情况下 5/22 - 5/28/16).

为了实现这一点,我需要在这两列的文本框表达式属性中做什么 headers,假设参数 BegDate 包含 5/15/2016 并且参数 EndDate 包含 5/28/2106 ?

向包含一周第一天的数据集添加一个新列。您可以在 SQL 中这样做:

DATEADD(DAY, 1-DATEPART(WEEKDAY, @d), @d)

您也可以将其作为数据集中的计算字段。

现在您只需在文本框中引用此字段即可。根据您的需要,它甚至可以是列分组。

尝试:

第一周:

=Parameters!BegDate.Value & " - " &
DATEADD(DateInterval.Day, 7 - DATEPART(DateInterval.Weekday,Parameters!BegDate.Value), Parameters!BegDate.Value)

第二周:

=DATEADD(DateInterval.Day, -DATEPART(DateInterval.Weekday,Parameters!EndDate.Value)+1, Parameters!EndDate.Value)
& " - " & Parameters!EndDate.Value

示例:

如果有帮助请告诉我。