我有类似Open SSRS URL in New Window的问题,但是我的参数之一有很多值,URL太长。此参数始终等于初始报告中的该参数。
我该如何解决?我可以在“转到URL”字段中发出发布请求,还是可以从初始报告中定义参数默认值?
答案 0 :(得分:0)
这是我减少通过参数传递到报表URL的字符数的方法。由于Microsoft Internet Explorer的最大统一资源定位符(URL)长度为2,083个字符,因此您必须发挥创意。
首先,为 all 变量添加参数值。另一种选择是使用defaults
表。
然后将参数合并到其他参数的数据集中。这样,您将在参数下拉列表中获得 all 选项。
;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="))