Я хочу, чтобы отчет выбирал значения даты и времени по умолчанию на основе параметра местоположения, который выбирает пользователь, но проблема в том, что параметры даты и времени не обновляются, когда пользователь выбирает другое местоположение. Я позаботился о том, чтобы поставить параметр местоположения выше параметров даты и времени, но он все еще не работает, как я ожидаю, что я здесь делаю неправильно?
Параметр каскадирования служб отчетов не работает
Ответы (5)
К сожалению, это "по замыслу". Microsoft Connect — SSRS — по умолчанию не обновляется для каскадных параметров.
Сообщение Microsoft в 2007 году:
"Как описано, это не ошибка. Мы не пересчитываем значение по умолчанию для последующего параметра, если выбранное значение больше не находится в допустимом диапазоне. список значений. Мы не знаем, было ли текущее значение специально запрошено пользователем или оно существует из-за значения по умолчанию. Вы можете сделать так, чтобы контролировать это поведение через какое-то свойство, но в настоящее время оно работает так, как задумано. "
Я думаю, что это ошибка в SSRS. Но Microsoft закрыла вопрос. Пожалуйста, войдите в систему и проголосуйте за исправление, если это касается и вас.
Microsoft Connect — ваш отзыв улучшение продуктов Microsoft.
Обходной путь/хак находится здесь: Боян Пенев - Каскадные параметры SSRS Обновить: решено.
Однако хак работает только в том случае, если зависимый параметр имеет СПИСОК допустимых значений, а другие пользователи сообщают, что он работает только для первого зависимого параметра.
Если зависимым параметром является запись в произвольной форме или дата, хак вообще нельзя использовать.
Подумайте о том, чтобы поместить значения даты и времени в набор данных с логикой, основанной на параметре местоположения.
SELECT CASE @Location WHEN 'Paris' THEN GETDATE()+10
WHEN 'Berlin' THEN GETDATE()+11
WHEN 'New York' THEN GETDATE()+8
ELSE GETDATE() END as DefaultDate
Затем установите значение параметра даты по умолчанию для этого набора данных.
К сожалению, службы SSRS не обновляют каскадные параметры после их установки. Единственный известный мне способ, кроме перезагрузки отчета, — создать собственный пользовательский интерфейс с помощью ReportViewerDialog.
Я обнаружил, что если вы используете хранимую процедуру для отображения дочернего параметра, передав родительский выбор, набор данных будет обновлен.
У меня была такая же проблема, и я понял, что это была простая ошибка, вызывающая эту проблему. Размещение здесь для OP и всех, кто ищет эту проблему.
Вам необходимо убедиться, что все параметры в SSRS установлены в поле правильного значения, а не в поле отображения. Вы можете воспроизвести проблему с каскадным параметром, которую многие выявили, просто выбрав поле «Имя» в значениях параметра по умолчанию вместо запрошенного поля «Значение». Это заполнит раскрывающийся список правильно, но ничего не будет выбрано, и каскад остановится. Затем может показаться, что каскадные параметры не обновляются из-за Закрыта из-за дизайна.
- В SSRS на вкладке «Данные отчета» щелкните параметр правой кнопкой мыши и выберите «Свойства параметра».
- Выберите значения по умолчанию.
- Убедитесь, что в поле «Значение» указано правильное значение для вашей sproc, а не значение, которое вы предоставляете пользователям отчета.