В основном я построил отчет с использованием SSRS 2008, у отчета есть каскадные параметры, независимый - это многозначный параметр (рабочие единицы), заполненный значениями из запроса базы данных, зависимый параметр (позиции рабочих мест, содержащиеся в соответствующих рабочих единицах) также получает значения из запроса с где предложением следующим образом:Проблема с каскадным многозначным параметром в SSRS 2008
WHERE position.unitId IN (@units)
@units является параметром мульти-значения. Значение по умолчанию для единиц - это сам запрос, к которому все пользователи имеют доступ. Таким образом, при открытии отчета все доступные единицы выбираются, и все соответствующие рабочие места извлекаются - отлично работают. Но ассер также не может иметь никакого доступа к каким-либо единицам, что приводит к сбою зависимого запроса, в результате чего не извлекаются единицы, поэтому @units не содержит значений. Я бы подумал, что запрос не будет срабатывать до тех пор, пока @units не будет иметь значение. В любом случае я пытался проверить содержимое @units перед запросом на рабочие места различными способами:
* заменяя параметр @units следующим выражение: = IIF (Parameters! units.Count = 0, "00000000-0000-0000-0000-000000000000", Parameters! units.Value)
* имеющий еще один параметр, содержащий разделенную запятыми строку значений @units и проверяя, превышает ли длина этого числа больше 0 до выполнения зависимого набора данных и т. д.
Но теперь, когда я открываю отчет, выпадающий список вакансий пуст, отключен и остается таким, пока t он изменяет значения единиц или запускается отчет. После этого они, похоже, обновляются. Итак, мой вопрос в том, что может быть причиной отключения элемента управления (единицы извлекаются, поэтому почему выражение в качестве значения параметра для позиций работы бесполезно?) И как справиться с этим правильным способом, Кажется, что-то действительно похоже на одну и ту же природу в Интернете.
Любая помощь будет принята с благодарностью.
Большое спасибо, это в значительной степени разрешило эту проблему, хороший подход! :) – DoubleZ
Спасибо! Я также использовал его для создания более сложных списков параметров. Например, вы можете использовать этот подход для добавления разделителей между списками или пустых строк для обозначения разрывов. Я стараюсь использовать его для повышения удобства работы с конечным пользователем. –