Это выполнимо, если я правильно понимаю и вот шаги для достижения цели вашего отчета. Я использую простой запрос в качестве примера набора данных для вашей справки.
источник 1.Create и datasets
, в этом примере я пропустить data sources
и здесь короткий запрос для моего exmaple
SELECT * FROM Table
WHERE
(ID = @ID or @ID = '')
and
(Name = @Name or @Name = '')
2.Add другой dataset
имени Control
, запрос для Control
является:
SELECT 'ID' as option
UNION
SELECT 'Name' as option
Целью создания этого dataset
является предоставление доступных значений позже, когда вам нужно выбрать имя или идентификатор.
3.Посль step1, вы уже должны иметь два параметра, сгенерированную системой, которые ID
и Name
, если нет, то создайте их сами и перейти к каждой странице параметров, НЕ УБЕДИТЕСЬ ПРОВЕРКУ Allow blank value''
4.Create 3-й параметр, называемый Control
, перейдите на страницу настройки параметров, перейдите к Available Values
, выберите Control
набор данных, выберите option
(это имя столбца подгоняет установить в Control
наборе данных) для обоих Value field
и Label field
5.Go до ID
параметров страницы настройки, перейдите в Default Values
, выберите Specify values
, нажмите fx
, введите следующее:
=Switch(Parameters!Control.Value="Name","")
Нажмите ОК
6.Go на Name
страницу настройки параметров, перейдите Default Values
выберите Specify values
, нажмите fx
, введите следующее:
=Switch(Parameters!Control.Value="ID","")
Cl Ик нормально
Выражение ID
и Name
правильны, не установлены неправильно
7.Change порядок параметров, чтобы сделать Control
на самом верху, независимо от того, ID
или Name
приходит на 2-й, но Control
должен быть на первом месте.
8.Перетащите таблицу, поместите Name
и ID
. Предварительный просмотр отчета, в настоящее время, только Control
будет доступен для вас, чтобы выбрать значение, выберите ID или Имя, чтобы увидеть разницу. Когда вы выберете ID
, Name
будет серым, только ID
загораются и набирают любой ID, который вы хотите, фактически, то, что система делает внутри, передает ""
(пустое значение) на Name
, поэтому вам необходимо убедиться, что Name
параметр может принимать пустое значение. То же самое для выбора Name
Обновить меня, если у вас есть задание во время выполнения