0

我正在使用 SQL Server Reporting Services 2008 R2。我设计了一个报告,它以 StartDate、EndDate、PayType 作为参数值来运行报告(dataset1)。这些参数值是从另一个数据集查询传递过来的。所以我将其他查询写为(dataset2),

SELECT DISTINCT 
bb_propdt AS [Start Date],
bb_propdt AS [End Date],

CASE 
WHEN bbprop.bb_paytype = '1' THEN 'PDC' 
WHEN bbprop.bb_paytype = '2' THEN 'NoPDC' 
WHEN bbprop.bb_paytype = '3' THEN 'ECS' 
ELSE 'NA'
END AS [Pay Type] 

FROM         
bbprop

问题是,它向我展示了所有不同的日期,到目前为止还不错。但它也向我展示了不同的薪酬类型。所以在参数下拉列表中,我得到了 PDC、NoPDC、ECS 的数量。我想要的只有 3 个值,PDC、NoPDC、ECS。我可以使用另一个数据集来解决这个问题,但我不想要一个更多的数据集。我正在寻找

select PDC, NoPDC, ECS from dual;

在 SQL Server 中。但是没有这样的事情。

下面的图片将帮助您轻松解决问题。

在此处输入图像描述

这表明我没有。日期,没关系。

在此处输入图像描述

但在这里我只想要三个值,即 PDC、NoPDC、ECS。

4

1 回答 1

1

使用此查询填充数据集:

select PayType = 'PDC'
union all
select PayType = 'NoPDC'
union all
select PayType = 'ECS'

SQL Fiddle 与演示

当您设置参数可用值时,请将其指向此数据集的值和标签。

如果它是一组已知值,您也可以使用查询/数据集执行此操作,只需在定义参数时使用可用值->指定值选项:

在此处输入图像描述

于 2013-10-11T07:15:41.547 回答