2016-10-19 140 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 ...