SSRS: открыть отчет с длинными параметрами URL в новом окне - PullRequest
0 голосов
/ 30 августа 2018

У меня есть вопрос, похожий на Открыть URL-адрес SSRS в новом окне , но один из моих параметров имеет много значений, и URL-адрес становится слишком длинным. Этот параметр всегда равен такому параметру в исходном отчете.

Как я могу решить это? Могу ли я сделать почтовый запрос в поле «Перейти к URL» или определить значение параметра по умолчанию из исходного отчета?

1 Ответ

0 голосов
/ 04 сентября 2018

Вот как я могу уменьшить количество символов, передаваемых в URL моего отчета с параметрами. Поскольку максимальная длина унифицированного указателя ресурса (URL) в Microsoft Internet Explorer составляет 2083 символа, вам нужно проявить творческий подход.

Сначала добавьте значения параметров для всех переменных. Другой вариант - использовать таблицу 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="))
...