2013-07-25 30 views
2

我有一个调用存储过程的报告。该proc有3个参数声明,但我在运行时收到错误“过程没有参数和参数提供”。我不确定还有什么要做。SSRS过程没有参数并提供参数

ALTER PROCEDURE [dbo].[uspFirstCurveProcess] AS 

    DECLARE @Period int 
    DECLARE @Year varchar(4) 
    DECLARE @FacilityID int; 

    /* SET @period = 4 
    SET @FacilityID = 3101 
    SET @Year = 2013; */ 

    WITH Process_cte AS (

    SELECT [FacilityID] 
      ,[FiscalYear] 
     -- ,[MonthNumber] 
      ,[Measure] 
      ,[SubAccount] 
      ,SUM([MthAmt]) AS MthAmt 
      ,SUM([BudgAmt]) AS BudgAmt 
      ,0 AS [YTDAmt] 

      FROM EVAL.dbo.FirstCurveProcess 
      WHERE FacilityID = @FacilityID 
       AND MonthNumber = @Period 
       AND FiscalYear = @Year 
     GROUP BY FacilityID,FiscalYear,Measure,Subaccount 


     UNION 

    SELECT [FacilityID] 
      ,[FiscalYear] 
     -- ,[MonthNumber] 
      ,[Measure] 
      ,[SubAccount] 
      ,0 AS [MthAmt] 
      ,0 AS [BudgAmt] 
      ,SUM(MthAmt) AS [YTDAmt] 

      FROM EVAL.dbo.FirstCurveProcess 
      WHERE FacilityID = @FacilityID 
       AND MonthNumber <= @Period 
       AND FiscalYear = @Year 
     GROUP BY FacilityID,FiscalYear,Measure,SubAccount --MonthNumber, 


    ) 

    SELECT [FacilityID] 
     ,[FiscalYear] 
    -- ,[MonthNumber] 
     ,[Measure] 
     ,[SubAccount] 
     ,SUM([MthAmt]) AS MthAmt 
     ,SUM([BudgAmt]) AS BudgAmt 
     ,SUM(YTDAmt) AS [YTDAmt] FROM Process_cte 

     GROUP BY FacilityID,FiscalYear,Measure,Subaccount 

回答

3

请用这种格式

GO 
IF OBJECT_ID(N'[dbo].[uspFirstCurveProcess]',N'P') IS NOT NULL 
    DROP PROCEDURE [dbo].[uspFirstCurveProcess] 
GO 
CREATE PROCEDURE [dbo].[uspFirstCurveProcess] 
( 
    @Period int 
    ,@Year varchar(4) 
    ,@FacilityID int 
) 
as 
begin 
//your code 
end 

检查,我认为你声明的过程

0

内部参数尝试删除“/ *”和“ - ”从这些线你的意见中提出。这些可能是它抱怨的路线。这些行不会被执行,并且包含使用这些参数的参数。

+0

这是一个参数特定的问题...没有评论相关的我认为。 – Riad

相关问题