SSRS:在新窗口中打开带有长URL参数的报告

时间:2018-08-30 10:18:44

标签: sql-server url reporting-services parameters ssrs-2012

我有类似Open SSRS URL in New Window的问题,但是我的参数之一有很多值,URL太长。此参数始终等于初始报告中的该参数。

我该如何解决?我可以在“转到URL”字段中发出发布请求,还是可以从初始报告中定义参数默认值?

1 个答案:

答案 0 :(得分:0)

这是我减少通过参数传递到报表URL的字符数的方法。由于Microsoft Internet Explorer的最大统一资源定位符(URL)长度为2,083个字符,因此您必须发挥创意。

首先,为 all 变量添加参数值。另一种选择是使用defaults表。

screenshot

然后将参数合并到其他参数的数据集中。这样,您将在参数下拉列表中获得 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

screenshot

screenshot

然后在报表的数据集中更改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="))