Reporting services 报表生成器3创建当前、30、60、日期范围参数以生成报表
我是报表生成器的新手,我的任务是创建日期范围搜索参数。他们正在寻找当前值、30天值和60天值。整个报告正在运行,我只对它做了一些修改。所以在parameters中,我创建了一个dateRange参数,并将数据类型设置为Date/Time,下面没有复选框。在可用值属性中,我指定了3个值:Reporting services 报表生成器3创建当前、30、60、日期范围参数以生成报表,reporting-services,parameters,report,range,builder,Reporting Services,Parameters,Report,Range,Builder,我是报表生成器的新手,我的任务是创建日期范围搜索参数。他们正在寻找当前值、30天值和60天值。整个报告正在运行,我只对它做了一些修改。所以在parameters中,我创建了一个dateRange参数,并将数据类型设置为Date/Time,下面没有复选框。在可用值属性中,我指定了3个值: 当前:=DateAdd(“d”,-1,Today()) 30天范围:=DateAdd(“d”、-30,Today()) 60天范围:=DateAdd(“d”、-60,Today()) 默认值和高级属性保持不变 我
=DateAdd(“d”,-1,Today())
=DateAdd(“d”、-30,Today())
=DateAdd(“d”、-60,Today())
=DateAdd(“d”,-1,Today())
,所以我的逻辑是,回到30天和60天之前,我需要在前面添加一个neg。我认为这是错误的想法。客户正在寻找参数,以返回从每月第一天开始的值,因此我需要确保使用month.minValue使报告始终从每月第一天开始。我希望所有这些都有意义。再一次,我是个新手,所以请原谅我的无知
Jim根据您的问题和反馈意见,这就是我得到的 定义
DateRange
参数如下:
可用值:
=DateAdd("d", -1, Today())
=DateAdd("d", -30, Today())
=DateAdd("d", -60, Today())
要使用当前=DateAdd(“d”,-1,Today())
作为默认值,必须将其置于DateRange
参数的默认值选项卡中
现在,对于handle结束日期,我已经创建了另一个名为EndDate
的参数,将其默认值设置为current:
=DateAdd("d", -1, Today())
现在,在数据集查询中,您必须使用参数DateRange
获取月份的第一个日期。检查这个例子
select *
from mytable a
where a.DocDate between DATEADD(month, DATEDIFF(month, 0, @DateRange), 0)
and @EndDate
DATEADD(month,DATEDIFF(month,0,@DateRange),0)
将根据日期范围选择示例使用
今日日期:
当前日期:01/10/2015
(dd/MM/yyy格式)
30天范围:2015年9月1日
60天范围:2015年8月1日
EndDate
参数将产生26/10/2015
让我知道这是否有用。
=DateSerial(Year(Today())、Month(Today())、1)
此表达式将为您提供当前月份的第一个日期。详细解释您希望如何通过参数筛选数据以获得进一步支持。谢谢Alejandro,我的任务是对报表进行更改,它正在SharePoint中使用。目前,我们将参数设置为“开始日期”和“结束日期”,我想添加一个新参数,给出一个日期范围,并将下拉框设置为:好的,您希望默认情况下从每月的第一个日期到当天的昨天运行报告,对吗?您的30天范围将生成startdate为:昨天当前日期-30天,60天范围将生成startdate为:昨天当前日期-60天在这两种情况下enddate都将是昨天当前日期。如果是这样,请确认它以帮助您回答问题。当前、30天和60天。假设我想从数据源获取数据,我想获得过去3个月的信息结果将从第一个月的第一天开始,并在报告运行的当前日期结束。是的,你是对的:假设我想要一份6月至9月的报告,我需要在该月的第一天开始报告,因此,6月1日,它将在报告运行的前一天结束。谢谢@Alejandro,我相信这是我需要的,我会检查一下,以确保在一段时间内。对于我的日期范围,是我列出的值:=DateAdd(“d”)、-1,Today()=DateAdd(“d”)、-30,Today())=DateAdd(“d”、-60,Today())努力获得正确的日期范围,或者是否有更好的方法写入此参数?它将生成1天前、30天前或60天前的日期。然后,使用这些值来获取示例中各个月份的第一个日期:如果您选择30天
今天,它将生成2015年9月26日,因此该月的第一个日期将是2015年9月1日,作为起始日期,结束日期将是2015年10月26日。很好,这就是我所寻找的@Alejandro。我只是想确定日期范围的初始值是否有效。这有帮助。