SSRS - 在我的查询中忽略SQL变量

ajs*_*iff 6 sql parameters reporting-services

我有一个在SQL中运行良好的查询.当我尝试将其引入SSRS时,报告会询问4个参数.其中两个参数/变量实际上基于其他两个参数:

DECLARE @Q int       --SET @Q = 1 -- Quarter 
DECLARE @Year int    --SET @Year = 2013

DECLARE @STARTDATE varchar(10)
SELECT @STARTDATE = D FROM (
    select case @Q
        when 1 then '1/1/' + convert(varchar(10),@Year)
        when 2 then '4/1/' + convert(varchar(10),@Year)
        when 3 then '7/1/' + convert(varchar(10),@Year)
        when 4 then '10/1/' + convert(varchar(10),@Year)
    end as D
    ) sd

DECLARE @ENDDATE varchar(10)
SELECT @ENDDATE = D FROM (
    select case @Q
        when 1 then '3/31/' + convert(varchar(10),@Year)
        when 2 then '6/30/' + convert(varchar(10),@Year)
        when 3 then '9/30/' + convert(varchar(10),@Year)
        when 4 then '12/31/' + convert(varchar(10),@Year)
    end as D
    ) ed

--(ADDITIONAL SQL CONTINUES USING ALL 4 PARAMETERS) ...
Run Code Online (Sandbox Code Playgroud)

如何让SSRS只询问前两个参数(@Q,@Year)并忽略@StartDate@EndDate在查询中计算的那些参数?

pra*_*een -1

我认为这是不可能的,因为 SSRS 创建一个dynamic查询并将所有变量转换为参数。所以据我所知,唯一的选择是将查询包装在stored procedure