2010-04-15 6 views
0

Я был в состоянии получить эту работу в SSRS 2008, но сделать с тем, что моя компания имеет только серверы 2005 мне нужно понизить отчет 2005Установка параметров из другого параметра в SSRS

Идея для данное имя лица есть два ключевых поля EntityType и EntityId

Так у меня есть параметр из набора данных, где этикетка имя и значение EntityType_EntityId

Я использую функцию разделения взять левый и правый стороны от _

В 2008 году я установил параметры запроса на набора данных к функции разделения, а она работает

В 2005 году я установил значение по умолчанию каждого Параметры отчета

Теперь, когда я запускаю отчет и поместите текстовые поля, показывающие значение параметров, значения отображаются правильно, но запрос не запускается. Я предполагаю, что это проблема жизненного цикла является

получить имя параметра
Run Report
затем установить параметры = Split Имени

Но проблема, что во второй раз я запускаю отчет я должен получить и я этого не делаю. Кто-нибудь знает, что я делаю неправильно.

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

ответ

0

Я уже нашел подходящий ответ

указан источник запроса в виде текста

DECLARE @EntityType INT 
DECLARE @EntityId INT 

IF @Name = '0_0' 
BEGIN 
     SET @EntityType = NULL 
     SET @EntityId = NULL 
END 
ELSE 
BEGIN 
    SET @EntityType = LEFT(@Name,CHARINDEX('_',@Name)-1) 
    SET @EntityId = RIGHT(@Name,LEN(@Name) - CHARINDEX('_',@Name)) 
END 


EXEC proc @EntityType, @EntityId 
+2

я должен оставить вопрос для справки для кого-то другого. – Mike

+0

просто отметьте его как ответ - он будет там для вас в следующий раз, когда вам это понадобится, даже если никто другой не сделает :) –

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