2016-10-19 181 views
0

我有一個帶有存儲過程數據源的報告。這需要'A','B'或'F'見下面SSRS 2008R2報告參數不起作用

SELECT CAST(HT_Mail_Date AS DATE) as HT_Mail_Date, 
     HT_RecType,  
     CASE STC_SCAN 
      WHEN 'Yes' THEN 'STC Scan' 
      WHEN 'No' THEN 'Non-STC Scan' 
      ELSE 'No Scan' 
     END AS Scan_Type, 
      COUNT(HT_serNum) AS Mail_Pieces 
     FROM CT2_Mail_data LEFT JOIN CT2_Trace_Data ON HT_SerNUm = TR_SerNum 
     WHERE HT_RecType = @SvcType 
      OR @SvcType = 'A' 
     GROUP BY HT_Mail_Date, STC_SCAN, HT_RecType 

當我去SSMS並運行存儲過程給它一個有效的參數它工作正常。我可以單擊BIDS中的數據源,然後打開查詢設計器併爲其提供正確的參數。當我打開預覽並選擇或默認它爲有效PARAM時,它會返回「無數據可用」。 Screen shots

+0

數據集查詢類型是否設置爲「存儲過程」或「文本」?另外在數據集屬性「參數」選項卡中,在值列中選擇了什麼? – StevenWhite

+0

您應該發佈完整的存儲過程定義。開始時你有「SET NOCOUNT ON」嗎?當你直接插入SQL時,它是否按預期工作? –

+0

感謝大家的回覆。我能夠通過刪除報告並閱讀報告來解決問題。我猜想有些事情是不同步的。下次我將發佈完整的存儲過程。再次感謝 –

回答

0

好的,我能夠自己找出這一個。我所做的是爲三個不同的報告創建具有相同名稱的共享數據集。當我意識到一個數據集中的值反映了不同報告中指定的值時,問題就變得清晰起來。解決方法是重命名數據集CT1_Dataset1,CT2_Dataset1,CT1_Dataset2,CT2_Dataset2 ...