2013-04-05 3 views
0

Я работаю над SSRS с данными из SSAS для создания отчетов.Как установить значение параметра Reporting Services автоматически, когда выбрано другое.

В параметре с несколькими значениями я хочу автоматически выбирать значения параметра, когда выбрано другое.

Например: параметр «Месяц»; выбрав 6-й месяц в списке значений, выберете все значения с 1-го по 6-й. Или проверка значения параметра также проверит предыдущее значение.

Процедура будет аналогична проверке опции «Выбрать все», которая проверяет все доступные значения.

Любое предложение было бы очень желанным.

Благодарим за помощь.

+0

Просто для уточнения: при выборе определенного значения для данного параметра, вы хотите автоматически выбрать другие значения для ** того же параметра ** или для другого параметра? –

+0

@MarkBannister. Для того же параметра. –

ответ

0

Я бы связал второй параметр с первым одним из двух способов. Для обоих я бы установил «наборы данных», которые будут использоваться для привязки к параметрам.

  1. Вы можете установить 'Фильтр' в наборе данных, чтобы вернуть только критерии.

  2. У вас может быть предикат во второй дате, который ссылается на параметр, заданный первым параметром.

EG: Так что, если бы я был 'человек' набор данных: (оба они должны работать в SSRS 2008 или 2012)

declare @Person Table (personID int identity, person varchar(8)); 

insert into @Person values ('Brett'),('Sean'),('Chad'),('Michael'),('Ray'),('Erik'),('Queyn'); 

Select top 100 * 
from @Person p 

И затем данные Ань заказов установлено:

declare @Orders table (OrderID int identity, PersonID int, Desciption varchar(32), Amount int); 

insert into @Orders values (1, 'Shirt', 20),(1, 'Shoes', 50),(2, 'Shirt', 22),(2, 'Shoes', 52),(3, 'Shirt', 20),(3, 'Shoes', 50),(3, 'Hat', 20),(4, 'Shirt', 20),(5, 'Shirt', 20),(5, 'Pants', 30), 
(6, 'Shirt', 20),(6, 'RunningShoes', 70),(7, 'Shirt', 22),(7, 'Shoes', 40),(7, 'Coat', 80) 

select * 
from @Orders 

Если я создал переменную Person, которая использовала «получение данных из запроса», и я установил «PersonID», чтобы быть значением, а «человек» - меткой. то я могу установить второй параметр, который получает это значение из первого путем добавления или фильтра или где положение как:

select * 
from @Orders 
where PersonID in (@Person) 
+0

Спасибо за ваши усилия. Данные извлекаются из SSAS. Поэтому моя задача - автоматическая проверка флажков в параметре с несколькими значениями. –

+0

Это должно сделать это. Он просто ограничит сферу применения от 20 пунктов до 4 или 5, к которым это применимо. Если вы хотите, чтобы он автоматически заполнялся, а затем «запускался», так что вы можете выбрать: «Значения по умолчанию» для второго параметра. Вы даже можете сделать его «скрытым», если вы не хотите, чтобы пользователь его видел. Или же заполнить его без предиката для «доступных значений», а затем с предикатом для «значений по умолчанию». Этот метод позволит пользователю получить запуск по умолчанию, но после этого они могут переопределить его, если они хотят изменить выбор. – djangojazz

+1

Вы не можете заполнить один и тот же параметр для себя. Лучшее, что вы могли бы сделать, это заполнить набор данных, относящийся к параметру отдельно. Вы не можете выполнять рекурсивные операции с моими знаниями в SSRS. Параметр представляет собой перспективную операцию. Он хочет, чтобы ввод делал что-то на что-то еще, он не может получить вход и обновить себя, только что-то дальше по цепочке. Однако вы можете использовать подобный набор данных много раз и просто использовать на нем разные предикаты и различать его. Я мог бы использовать порядки n раз и получать n разных результатов, если я продолжу выполнение операций. – djangojazz

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