我有类似Open SSRS URL in New Window的问题,但我的一个参数有很多值,而且URL变得太长。此参数始终等于初始报告中的此类参数。
我该如何解决?我可以在“转到网址”字段中发布请求或从初始报告中定义参数默认值吗?
以下是我如何使用参数减少传递到报表URL的字符数。由于Microsoft Internet Explorer的最大统一资源定位符(URL)长度为2,083个字符,因此您必须具有创造性。
首先,为所有变量添加参数值。另一种选择是使用defaults
表。
然后将参数与您的其他参数的数据集结合起来。这样,您将在参数下拉列表中获得所有选项。
;WITH
teams_source
AS
(
SELECT tbl.* FROM (VALUES
( 2323304)
, ( 2323305)
, ( 2323306)
, ( 2323307)
, ( 2323308)
, ( 2323309)
, ( 2323310)
, ( 2323311)
, ( 2323312)
, ( 2323313)
, ( 2323314)
, ( 2323315)
, ( 2323316)
) tbl ([Teams])
)
SELECT [Teams], [TeamsFormat] = CAST([Teams] AS VARCHAR) FROM teams_source
UNION
SELECT [Teams] = @all_value_nbr, [TeamsFormat] = @all_value_text
ORDER BY 1
然后在报告的数据集中更改WHERE
子句以检查all变量。
WHERE
1=1
AND (@all_value_nbr IN(@Teams) OR [Teams] IN(@Teams))
使用参数构建URL时,可以计算值的数量。
IIF(Parameters!Teams.Count = Count(Fields!Teams.Value, "TeamsDataset"), "", "@Teams=" + Join(Parameters!Teams.Value, "@Teams="))