Обновление страницы после выбора параметра в отчете SSRS
У меня есть пара параметров в моем отчете SSRS. некоторые из них являются многозначными, а некоторые являются регулярными с выпадающим списком. каждый раз при выборе другого значения параметра страница обновляется. Есть ли способ избежать обновления этой страницы при каждом выборе параметра.
Спасибо заранее.
Мария
Ответы
Ответ 1
Я только что столкнулся с этой проблемой сегодня, и следующая почта определенно помогла мне.
http://blog.summitcloud.com/2009/12/fix-refresh-of-parameters-in-ssrs/
цитата из сообщения:
Согласно Microsoft, если список значений по умолчанию или допустимых значений "слишком сложно" (может быть так же просто, как выражение =Year()
) для RS движок, чтобы понять во время выполнения, он определит, что он зависит и, следовательно, кандидат на обновление.
Сообщение в ссылке показывает простой пример обхода:
Если вы можете, возьмите эти выражения VB и превратите их в наборы данных, которые возвращайте значения на основе инструкции SQL. Итак, =Year()
в выражение станет чем-то вроде Select Year(getdate()) as CurYear
Надеюсь, что это поможет.
Ответ 2
Не легко, если вы не захотите запустить собственный контроль над просмотром отчетов. Это делается потому, что SSRS имеет параметры, которые могут использоваться для определения значения других параметров. Например, представьте, что вы смотрите на пользователей веб-сайта, и ваш первый вариант - это ОС, возможно, у него есть Vista, XP и Mac.
Когда вы выбираете Vista, страница обновляется, чтобы получить список всех версий Vista.
Если вы используете такую вещь, то вы не сможете предотвратить обновление.
Ответ 3
В этом примере я попытался для обратной передачи параметра DateTime
Надеюсь, что это работает и для вас
Для DateTime
поля в параметрах сделать первый параметр в качестве фиктивного значения Date & затем присвоить этот DateTime
значение фактического DateTime
параметров отчета.
Предположим, у нас есть хранимая процедура, в которую мы должны предоставить данные с даты и до даты
- В параметрах отчета добавьте фиктивный параметр
DateTime
Datetime_Dummy
в качестве Name
и DateTime
в качестве DataType
- Сделать это скрытым
- В разделе Значение по умолчанию выберите Указать значения
- Установите выражение
=Today()
- Убедитесь, что это первый параметр
DateTime
параметре datetimes - Установите
FromDate
параметр DataType
в DateTime
- В выборе значения по умолчанию выберите Non-Queried
- Установите выражение
=Parameters!Datetime_Dummy.Value
Это предотвращает страницу разместить назад, когда новый From
даты выбран.
Ответ 4
Ниже приведен подход, который работал у меня на основе сообщения, которое я читал где-то еще.
В моем сценарии у меня был логический параметр, для которого я предоставил "Да" и "Нет" подписи и соответствующие истинные и ложные значения напрямую (не через запрос). У меня также было 2 параметра времени. Ни одна из них не была связана друг с другом.
Каждый раз, когда я вводил значения для любого дня и вкладок, SSRS обновлялся. Кажется, SSRS пытается разрешить выражения, которые в моем случае были значениями параметров Yes и NO.
Решение состояло в том, чтобы использовать набор данных для возврата значений Yes и No, которые решили проблему для меня.
Ответ 5
Это довольно долго для решения, но я смог понять это.
Страница продолжает обновляться, потому что у вас есть зависимости между пареметрами (последний параметр, который вы создаете, зависит от всех тех, которые вы создали до него)
Чтобы устранить это, вам необходимо выполнить следующие действия, чтобы удалить зависимости:
1) Щелкните правой кнопкой мыши на папке "Наборы данных" на панели "Данные отчета" → "Показать скрытые наборы данных" (SSRS 2008 автоматически создает набор данных для каждого добавляемого параметра)
2) Дважды щелкните по каждому скрытому набору данных, который появился (а именно, наборы данных параметров) → Query → Query Designer, справа вверху, как синий треугольник поверх линейки (режим проектирования), и на конец запроса, в котором говорится, что из [Имя базы данных] вам нужно будет удалить все до этого, пока (не включая) ON ROWS (первые ON ROWS снизу) ТАКЖЕ УДАЛИТЕ ВСЕ ЗАКРЫТЫЕ СКОБЫ ")" В КОНЕЦ QUERY
3) нажмите "ОК", чтобы применить изменения, затем нажмите "Параметры" и удалите все в этом списке и нажмите "ОК", чтобы применить.
4) Разверните папку "Параметры" в "Данные отчета", дважды щелкните по каждому параметру → "Дополнительно" - "Никогда не обновлять"
Это должно заботиться о освежении:)
Спасибо,
Крис
Ответ 6
Для меня это было разрешено, отключив параметр X-Content-Type-Options: пользовательский заголовок nosniff в файле web.config.
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
<!--
<add name="X-Content-Type-Options" value="nosniff" />
THIS BREAKS SSRS REPORTS, causes clickable controls to immediately reload page
-->
<add name="X-XSS-Protection" value="1; mode=block" />
</customHeaders>
Ответ 7
Я делал это много раз назад, это просто устранение зависимости параметров с различными перестановками и комбинациями в зависимости от потребностей в проектах.
Просто выполните следующие действия.
- Удалите всю зависимость параметров от выпадающей совокупности данных.
- Передать значения по умолчанию для каждого параметра отчета.
Надеюсь, это поможет.
Спасибо.