我正在寻找一种将值添加到从简单查询中检索到可用值的参数的方法。我今天才开始搞乱SSRS,我希望我没有做错。
从报告项目中执行以下过程(我知道很乱):
CREATE PROCEDURE RAW_TIME_VAR
@EMPLID as varchar(6) = NULL
, @EMPLNAME as varchar(80) = NULL
, @CHARGENO as int = NULL
, @TYPE as varchar(8) = NULL
, @STARTDATE as date = NULL
, @ENDDATE as date = NULL
AS
Select * from DBO.RAW_TIME
Where ([EMPL ID] = @EMPLID OR @EMPLID IS NULL)
AND ([EMPL NAME] = @EMPLNAME OR @EMPLNAME IS NULL)
AND ([CHARGE NO] = @CHARGENO OR @CHARGENO IS NULL)
AND ([CHARGE TYPE] = @TYPE OR @TYPE IS NULL)
AND [CHARGE DATE] Between @STARTDATE AND @ENDDATE
报表项目中有两个数据集(我使用的是 VS2008 Business Intelligence Development Studio)。一个从上述过程生成 (RAW_TIME_DATASET),另一个从同一视图查询以填充员工 ID 和姓名 (NAMES):
SELECT DISTINCT [EMPL ID], [EMPL NAME]
FROM RAW_TIME
ORDER BY [EMPL ID]
我希望能够@EMPLNAME
使用 NAMES 数据集中的所有员工姓名填充参数,同时还能够通过NULL
在参数组合框中选择值“All”来传递。“全部”可以通过使用 查询由查询传递UNION
,它将它放在组合框中,而不是在视图中,但是我不能将它作为NULL
. Errr ...我希望这是有道理的。