Sql server SSRS:在新窗口中使用长URL参数打开报告

Sql server SSRS:在新窗口中使用长URL参数打开报告,sql-server,url,reporting-services,parameters,ssrs-2012,Sql Server,Url,Reporting Services,Parameters,Ssrs 2012,我的问题类似于,但我的一个参数有很多值,URL变得太长。此参数始终等于初始报告中的此参数 我怎样才能解决它?我是否可以在“转到url”字段中发出post请求,或者从初始报告中定义参数默认值 以下是我如何减少通过参数传递到报表URL的字符数。由于Microsoft Internet Explorer的统一资源定位器(URL)最大长度为2083个字符,因此您必须发挥创意 首先,为所有变量添加参数值。另一个选项是使用默认值表 然后将参数与其他参数的数据集合并。这样,您将在参数下拉列表中获得all选项

我的问题类似于,但我的一个参数有很多值,URL变得太长。此参数始终等于初始报告中的此参数


我怎样才能解决它?我是否可以在“转到url”字段中发出post请求,或者从初始报告中定义参数默认值

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

首先,为所有变量添加参数值。另一个选项是使用
默认值

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

您可以在报表服务器上应用该参数的默认值,然后无需传入该参数。此参数依赖于父报表中的equal参数,并且是动态的。它没有静态默认值。你能发布一个带有参数值的URL示例吗?类似这样:你传递给URL的任何参数都是下拉列表中的所有值吗?谢谢你的回答,我考虑过了,但这不是令人满意的解决方法。所有值中大约有400个值,但用户可能需要399个值。399个值也太长了。是否有其他解决方案,或者这是SSRS的限制?您可以检查参数的计数以构建URL,但如果超出URL
IIF(parameters!Teams.count=count(Fields!Teams.Value,“TeamsDataset”)、“”、“@Teams=“+Join(parameters!Teams.Value、,“@Teams=”)
不用担心,伙计,你能点击答案旁边的复选标记将答案从灰色变为已填写吗?