列出所有或指定的值 - SSRS参数

时间:2014-05-20 13:34:56

标签: sql sql-server tsql reporting-services

我正在研究SSRS中的报告,我可以输入参数值并获得结果。我想要的是,例如,如果我输入所有服务器,则列出所有服务器。或列出我输入的特定服务器。

这是TSQL的变化吗?或者更改SSRS参数设置?有人建议如何实现这个目标吗?

以下是我的尝试:

DECLARE @p_ServerName varchar(10) = 'all'
DECLARE @p_Env nvarchar(10)
DECLARE @p_EnvCat nvarchar(10)

SELECT     BlockSize, BootVolume, Compressed, SystemName = @p_ServerName, Label, Caption, PageFilePresent,
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', Capacity) AS Capacity,
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', FreeSpace) AS [Free Space], 
           [dbo].[CCS_DIGITAL_STORAGE_CONVERTER]('B', 'GB', Capacity - FreeSpace) AS [Used Space],
           100 * FreeSpace / Capacity AS [Free Space %],

           [CLE_ENV_SHORT], [CLE_ENV_CAT_SHORT]



FROM       CCS_Win32_Volume, [dbo].[CCS_V_SERVER_INSTANCE_DETAILS]


WHERE      (@p_ServerName = SystemName) OR (@p_ServerName = 'all')
AND        [CLE_ENV_SHORT] = @p_Env 
AND        [CLE_ENV_CAT_SHORT] = @p_EnvCat

随着所有参数的硬编码,我应该看到所有结果都正确吗?然而,我没有得到任何结果。

1 个答案:

答案 0 :(得分:1)

您可以相应地编写WHERE子句:

select ...
from mytable
where @param = col or @param = 'all';