Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Service мультизначение параметра / 8 сообщений из 8, страница 1 из 1
20.04.2015, 13:53
    #38940581
Вячеслав Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
Добрый день.
Не пойму как организовать выбор нескольких значений в параметре.
а теперь по порядку, имеется процедура куда надо параметром передать битовую маску, далее в процедуре это все анализируется.
Создал параметр в отчете, установил ему признак мультивыбор и заполнил значениями типа такого:

Параметр Flag
Label Value
Значение1 1
Значение2 2
Значение3 4
Значение4 8

Так вот после того как выбрал несколько значение, необходимо просуммировать Value и результат передать в процедуру
В данном варианте Parameter!Flag возвращает коллекцию выбранных значений
Пока то что я нашел, но оно не совсем подходит это использовать функцию Join(Parameter!Flag,",") вернет через запятую все выбранные значения. например (1,4,8), а нужно получить сумму этих значений то есть 13

Может быть кто то сталкивался с данным вопросом.
...
Рейтинг: 0 / 0
20.04.2015, 15:43
    #38940739
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
Вячеслав Д, ну так напишите функцию на басике... делающую эту операцию.
...
Рейтинг: 0 / 0
20.04.2015, 15:51
    #38940751
Вячеслав Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
buser,

Если не трудно подскажи куда влепить эту функцию, я с удовольствием добавлю, а то я что то не пойму.
...
Рейтинг: 0 / 0
20.04.2015, 15:58
    #38940763
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
Report->Report Properties->Code.... и там понеслась...
в параметрах = Code.MyFunc(Parameter!Flag)
...
Рейтинг: 0 / 0
20.04.2015, 16:19
    #38940796
Вячеслав Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
buser,

Большое спасибо, сейчас попробую.
Если это так, то радости нет предела, а код здесь как я понял на басике?
...
Рейтинг: 0 / 0
20.04.2015, 16:46
    #38940826
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
VB.Net... на всяк случай напоминаю, что это асп со всеми вытекающими...
Если есть такая возможность, лучше создайте библиотеку и цепляйте её референсом... а то потом заманаетесь сопипастой по репортам однотипный код разносить...
...
Рейтинг: 0 / 0
20.04.2015, 16:50
    #38940832
Вячеслав Д
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
buser,

Да. заработало, то что надо.
Спасибо огромное
...
Рейтинг: 0 / 0
15.07.2015, 09:56
    #39007559
tashkafox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Reporting Service мультизначение параметра
Мы используем следующий порядок передачи параметра с множеством значений:
1) При передачи значения параметра в соответствующий DataSet, объединяем значения через какой-нибудь символ: =join(Parameters!dir.Value, "@")
2) В хранимой процедуре (или просто sql-коде), которая формирует DataSet:
а) Записываем распарсенные значения в виртуальную таблицу
Код: sql
1.
2.
3.
4.
CREATE TABLE #list_dir(n_dir varchar(max) collate database_default);
INSERT #list_dir(n_dir) 
	SELECT *
	FROM SplitString(@dir, '@');



при помощи функции:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE FUNCTION [dbo].[SplitString](@pstr VARCHAR(max), @spl CHAR(1))
RETURNS @table TABLE (value VARCHAR(max))
AS 
BEGIN
	DECLARE @str VARCHAR(max)=@pstr
	
	while (CHARINDEX(@spl,@str)>0)
	begin
		INSERT INTO @table
		VALUES(SUBSTRING(@str,1,CHARINDEX(@spl,@str)-1))
		SET @str= SUBSTRING(@str,CHARINDEX(@spl,@str)+1, LEN(@str)-CHARINDEX(@spl,@str))
	end
	INSERT INTO @table
	VALUES(@str)
	
	RETURN	
END


б) В запросе проверяем входимость нужного в #list_dir
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Reporting Service мультизначение параметра / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]