Как включить каскадные параметры в ssrs

У меня есть 5 параметров в моем отчете. Это @time_from, @time_to, @order_id, @material, @batch и @sscc.

Мне нужно сделать следующее:

  1. Выберите диапазон времени
  2. Fill filters
    1. All orders
    2. Все партии
    3. Все SSCC
  3. Тогда я должен показать все данные. (Я делал до 4-го условия)

  4. Если все данные загружены, у оператора есть возможность выбрать 1 заказ из раскрывающегося списка, это должно перезагрузить фильтры и показать только sscc, партию и материал, относящиеся к этому заказу.

Во-первых, после того, как пользователи выберут @time_from и @time_to, остальные параметры будут включены. Но четвертый случай нарушает первые три условия. В четвертом состоянии; @material, @batch и @sscc зависят от order_id. Вот почему я использую каскадный параметр. Но если я не выберу order_id, я не смогу выбрать @material, @batch и @sscc, потому что они будут отключены.

После выбора параметров @time_from и @time_to я хочу видеть все параметры и хочу, чтобы @material, @batch и @sscc зависели от order_id.

Например; когда я выбираю @time_from и @time_to, я должен выбрать @material, но когда я выбираю @time_from и @time_to, а затем выбираю @order_id, @material, @batch и @sscc должны зависеть от @order_id.

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

Я прикрепил несколько скриншотов. Как я могу это сделать?

1-все параметры зависят от параметров time_from и time_to

2-после выбора @time_from и @time_to я хочу показать все параметры


person Aylin    schedule 21.03.2017    source источник


Ответы (1)


Если вы разрешаете нулевые значения, вы можете настроить SQL-запрос для включения ваших параметров в соответствии со строками..

select
    'All' as [Label],
    null as [Value]

union all

select 
    o.Name as [Label],
    o.ID as [Value]
from dbo.Orders as [o]

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

where (b.ID in (@Orders) or (@Orders) is null)

Это проверит, находится ли OrderID в списке или список заказов равен нулю (таким образом, возвращаются все).

person BishNaboB    schedule 21.03.2017
comment
Спасибо за вашу помощь, я могу выбрать нулевое значение для параметра @order. - person Aylin; 22.03.2017
comment
но я нажимаю разрешить нулевое значение в свойствах параметра отчета. - person Aylin; 22.03.2017
comment
но я не могу показать нулевую кнопку рядом с параметром @order на странице предварительного просмотра. - person Aylin; 22.03.2017
comment
Ваше значение All в выборе является нулевым значением - вы фактически не используете флажок, чтобы сделать его нулевым в этом методе - person BishNaboB; 22.03.2017
comment
@Aylin Боюсь, я не уверен, о чем ты спрашиваешь. Параметр представляет собой список значений, где All вверху имеет нулевое значение. Вы выбираете это значение, чтобы показать все значения, как если бы не было выбрано ни одно конкретное значение. Это работает, если вы хотите, чтобы параметр с одним значением был обычным, с опцией All. - person BishNaboB; 27.03.2017