【发布时间】:2015-10-26 22:15:21
【问题描述】:
我是报表生成器的新手,我的任务是创建日期范围搜索参数。他们正在寻找当前、30 天和 60 天的值。整个报告正在运行,我只对其进行了一些更改。因此,在参数中,我创建了一个 dateRange 参数并将数据类型设置为日期/时间,并且下面没有选中任何框。在可用值属性中,我指定了 3 个值:
- 当前:
=DateAdd("d", -1, Today()) - 30 天范围:
=DateAdd("d", -30, Today()) - 60 天范围:
=DateAdd("d", -60, Today())
默认值和高级属性保持不变。
我为什么要使用这些表达方式?我正在查看 StartDate 和 EndDate 值,而 enddate 值有=DateAdd("d", -1, Today()),所以我的逻辑是回到 30 天和 60 天,我需要在前面添加一个否定。我认为这是错误的想法。客户正在寻找参数以返回从该月的第一天开始的值,因此我需要确保使用 month.minValue 以使报告始终在该月的第一天开始。我希望所有这些都是有道理的。再次,我对报表生成器很陌生,所以请原谅我的无知。
吉姆
【问题讨论】:
-
=DateSerial(Year(Today()), Month(Today()), 1)这个表达式将为您提供当前月份的第一个日期。详细说明您希望如何通过参数过滤数据以获得进一步支持。 -
谢谢 Alejandro,我的任务是对报告进行更改,它正在 SharePoint 中使用。目前我们将参数设置为开始日期和结束日期,我想添加一个提供日期范围的新参数,我将下拉框设置为:
-
好的,您希望报表默认从每月的第一个日期运行到当天的昨天,对吗?您的 30 天范围将产生 startdate 为:昨天当前日期 - 30 天,而 60 将产生 startdate 为:昨天当前日期 - 60 天在这两种情况下 enddate 将是昨天当天。如果是,请确认以帮助您解答。
-
当前、30 天和 60 天。假设我想从数据源获取数据,并且我想要最近 3 个月的信息,结果将从第一个月的第一天开始,并在报告运行的当前日期结束。
-
是的,你是对的:假设我想要一份 6 月至 9 月的报告,我需要让报告在每月的第一天开始,所以 6 月 1 日,它将在前一天结束报告正在运行。
标签: reporting-services parameters report range builder