SSRS网络/工作日,使用日期参数

时间:2017-01-27 10:59:29

标签: sql sql-server reporting-services ssrs-2008-r2

我使用以下功能获取提交日期和运行报告之日的网络天数; 同时我在我的SSRS中使用日期参数来获取这些日期之间的票证,我的问题是我需要网络日期的结束日期作为我的日期参数的结束日期,我不知道如何链接他们在一起,特别是这个函数在我的SQL上,日期参数在我的SSRS上

alter function [dbo].[days_diff](
                                 @date1 datetime
                                ,@date2 datetime
                                )
returns int
as
    begin
        declare @i int;
        declare @count int;
        declare @diff int;
        set @diff = datediff(d,@date1,@date2);
        set @i = 0;
        set @count = 0;
        while(@i < @diff)
        begin
            select @count = @count + 1
            where datename(dw,dateadd(d,@i,@date1)) not in('Saturday'
                                                          ,'Sunday'
                                                          );
            set @i = @i + 1;
        end;
        return @count;
    end;

1 个答案:

答案 0 :(得分:0)

您可以通过将参数引用为未明确声明的变量,将报表中的参数值传递到数据集的SQL查询中。

例如,要引用名为EndDate的报表参数,您可以使用以下SQL脚本:

declare @FilterValue nvarchar(50) = 'Group1'

select ProjectName
      ,SubmissionDate
      ,@ReportDate as ReportDate
      ,dbo.days_diff(SubmissionDate, @ReportDate) as NetworkDays
from ProjectSubmissions
where FilterValue = @FilterValue

当在SSRS数据集中使用时,将查找要在查询中使用的名为ReportDate的报表参数,您可以将其设置为报表设计中所需的任何内容。