Параметр каскадирования служб отчетов не работает

Я хочу, чтобы отчет выбирал значения даты и времени по умолчанию на основе параметра местоположения, который выбирает пользователь, но проблема в том, что параметры даты и времени не обновляются, когда пользователь выбирает другое местоположение. Я позаботился о том, чтобы поставить параметр местоположения выше параметров даты и времени, но он все еще не работает, как я ожидаю, что я здесь делаю неправильно?


person camelCaseWarrior    schedule 12.08.2011    source источник


Ответы (5)


К сожалению, это "по замыслу". Microsoft Connect — SSRS — по умолчанию не обновляется для каскадных параметров.

Сообщение Microsoft в 2007 году:
"Как описано, это не ошибка. Мы не пересчитываем значение по умолчанию для последующего параметра, если выбранное значение больше не находится в допустимом диапазоне. список значений. Мы не знаем, было ли текущее значение специально запрошено пользователем или оно существует из-за значения по умолчанию. Вы можете сделать так, чтобы контролировать это поведение через какое-то свойство, но в настоящее время оно работает так, как задумано. "

Я думаю, что это ошибка в SSRS. Но Microsoft закрыла вопрос. Пожалуйста, войдите в систему и проголосуйте за исправление, если это касается и вас.

Microsoft Connect — ваш отзыв улучшение продуктов Microsoft.

Обходной путь/хак находится здесь: Боян Пенев - Каскадные параметры SSRS Обновить: решено.

Однако хак работает только в том случае, если зависимый параметр имеет СПИСОК допустимых значений, а другие пользователи сообщают, что он работает только для первого зависимого параметра.

Если зависимым параметром является запись в произвольной форме или дата, хак вообще нельзя использовать.

person Edward    schedule 01.09.2012
comment
Извиняюсь - мой список не был отсортирован (и новые значения появлялись внизу большого списка). *** Моя проблема на самом деле выглядит как ошибка - у меня есть несколько значений в родительском и несколько значений в дочернем. Если я обновлю родителя, дочерний элемент не обновится, чтобы включить новые значения. (Это не просто случай, когда он продолжает выбирать старые значения, но на самом деле он не показывает мне дополнительные родительские параметры). - person PeterX; 18.01.2013

Подумайте о том, чтобы поместить значения даты и времени в набор данных с логикой, основанной на параметре местоположения.

SELECT CASE @Location WHEN 'Paris' THEN GETDATE()+10
                      WHEN 'Berlin' THEN GETDATE()+11
                      WHEN 'New York' THEN GETDATE()+8
       ELSE GETDATE() END as DefaultDate

Затем установите значение параметра даты по умолчанию для этого набора данных.

person mr.theTrain    schedule 22.08.2011

К сожалению, службы SSRS не обновляют каскадные параметры после их установки. Единственный известный мне способ, кроме перезагрузки отчета, — создать собственный пользовательский интерфейс с помощью ReportViewerDialog.

person unforgiven1987    schedule 16.12.2011

Я обнаружил, что если вы используете хранимую процедуру для отображения дочернего параметра, передав родительский выбор, набор данных будет обновлен.

person Karyn Thomas    schedule 03.01.2012
comment
Немного староват.. но нет.. в 2008 такого нет - person Harry; 22.12.2017

У меня была такая же проблема, и я понял, что это была простая ошибка, вызывающая эту проблему. Размещение здесь для OP и всех, кто ищет эту проблему.

Вам необходимо убедиться, что все параметры в SSRS установлены в поле правильного значения, а не в поле отображения. Вы можете воспроизвести проблему с каскадным параметром, которую многие выявили, просто выбрав поле «Имя» в значениях параметра по умолчанию вместо запрошенного поля «Значение». Это заполнит раскрывающийся список правильно, но ничего не будет выбрано, и каскад остановится. Затем может показаться, что каскадные параметры не обновляются из-за Закрыта из-за дизайна.

  1. В SSRS на вкладке «Данные отчета» щелкните параметр правой кнопкой мыши и выберите «Свойства параметра».
  2. Выберите значения по умолчанию.
  3. Убедитесь, что в поле «Значение» указано правильное значение для вашей sproc, а не значение, которое вы предоставляете пользователям отчета.
person Volvox    schedule 04.01.2013