簡體   English   中英

在SSRS中查詢存儲過程

[英]Query to Stored Procedure in SSRS

我正在從表中獲取數據,並且正在通過存儲過程將其寫到報告中。 在報告部分中,必須按用戶定義的日期顯示結果。

例如:

Today - should show today's results only
Yesterday - should show Yesterday's results only 

如何在存儲過程中聲明值,如何在ssrs報告部件中實現?

我的CreateDate列不斷變化,以更新表( FailedJobsInfo )。

這是我的存儲過程:

ALTER PROCEDURE [dbo].[FailedJobsInfo] 
    @StartDate DATETIME
AS
    SELECT 
      [SQLServer]
      ,[JobName]
      ,[StepName]
      ,[FailureMessage]
      ,[RunDateTime]
      ,[RunDuration]
      ,[CreateDate]
    FROM 
      [dbo].[FailedJobsInfo]
    WHERE  
      CONVERT(varchar(20), CreateDate, 101) = CONVERT(varchar(20), GETDATE(), 101)

從您的SSRS報告開始。

1)創建帶有標簽和值的參數,如下所示

 Label        Value
 Today          0
Yesterday       1

2)使你的程序來接受INT參數,如果用戶選擇Today它會通過零0到存儲過程中,如果用戶選擇Yesterday它會通過步驟1至步驟和該Integer值將從你的GETDATE()值避免時間中減去部分。 您將需要執行以下操作:

ALTER PROCEDURE [dbo].[FailedJobsInfo] 
    @StartPeriod INT
AS
BEGIN
  SET NOCOUNT ON;

    SELECT 
      [SQLServer]
      ,[JobName]
      ,[StepName]
      ,[FailureMessage]
      ,[RunDateTime]
      ,[RunDuration]
      ,[CreateDate]
    FROM 
      [dbo].[FailedJobsInfo]
    WHERE  
      CAST(CreateDate AS DATE) = CAST(GETDATE() AS DATE) - @StartPeriod  --<-- 
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM