2016-09-13 6 views
2

Я знаю, что на этом уже есть несколько вопросов, но я чувствую, что мой немного отличается.SSRS Установить значение параметра на основе другого параметра

Я построил отчет, основанный на диапазоне дат, который пользователь может указать с использованием двух параметров даты (DateFrom, DateTo). Тем не менее, я хочу, чтобы раскрывающийся список имел доступные предопределенные диапазоны дат, например «Последние 30 дней», «Последние 60 дней», «Последние 90 дней», «Последний месяц».

Я уже создал набор данных, который генерирует эти строки, например, строка будет выглядеть так: Этикетка = "Last30Days", DateFrom = 2016-08-15, DateTo = 2016-09-13

В принципе, я хотите использовать поток использования следующим образом: Пользователь загружает отчет, параметр предопределенного диапазона дат по умолчанию соответствует метке «Ручной» значение NULL. И два поля даты пустые. Пользователь имеет возможность указывать свой собственный диапазон дат независимо от того, что они хотят, или они могут использовать раскрывающийся список и выбирать заранее определенный диапазон дат, который при выборе он заполняет параметры даты.

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

EDIT: Так что я смог как-то заставить его работать. Я добавил доступные значения (соответствие меток/значений) в раскрывающийся список предустановок для «Last [30 | 60 | 90] дней», «Последний месяц» и «Руководство». Я установил значение по умолчанию «Manual». Я добавил параметр к набору дат заданных дат и указал его на параметр «PresetDates». Затем я установил два параметра даты для использования набора данных для их значений по умолчанию. Теперь, когда вы используете раскрывающийся список, он заполняет два параметра даты точно так же, как я хочу ... но если вы попытаетесь выбрать другой, как только они были заселены, они не меняются ...

+0

Вы можете использовать значения по умолчанию свойства параметров по диапазону дат, чтобы заполнить свои параметры, по умолчанию, используя раскрывающийся список. Но если ваш пользователь укажет даты, параметры будут заполнены ими. Дайте мне знать Если вам нужна дополнительная помощь. –

+0

@alejandrozuleta Я только что закончил попытку, когда вы прокомментировали это право. Это «вид работ», см. Мое редактирование в OP. Он заполняет параметры со значениями, которые я хочу, но если вы попытаетесь изменить раскрывающийся список, значения в параметрах даты не изменяются. – chadwin

+0

Что произойдет, если пользователь заполнит параметры, и выпадающий список не установлен на ** Manual **? Каким будет диапазон, указанный в раскрывающемся списке или указанный в параметрах даты?} –

ответ

3

К сожалению , это не будет работать так, как должно быть из-за BUG «функция» в SSRS.

Microsoft имеет ЗАКРЫТО этот BUG особенность, как Мы ненавидим Наши клиенты это как задумано (хотя это глупо).

https://connect.microsoft.com/SQLServer/feedback/details/268032/default-does-not-get-refreshed-for-cascading-parameters

Вот возможный ответ, но я не думаю, что она будет работать в вашем случае:

http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/

+0

Yup, я обнаружил, что, изучая другие форумы/сайты. Я нашел решение, но для этого потребовалось еще два параметра VISIBLE, где их доступные значения равны данным, возвращаемым набором данных, отфильтрованным параметром PresetDates. И тогда реальный DateFrom DateTo установлен на эти два новых параметра .... это работает, потому что, когда вы меняете выпадающий, теперь значения DateFrom DateTo недействительны (не в списке доступных значений) и заставляют обновлять параметр. .. но я не хочу путать пользователей с дополнительными параметрами, которые они не используют. лол. – chadwin

Смежные вопросы