Установка параметров из другого параметра в SSRS - PullRequest
0 голосов
/ 15 апреля 2010

Мне удалось получить эту работу в SSRS 2008, но я имею в виду тот факт, что у моей компании есть только 2005 серверов, и мне нужно понизить отчет до 2005.

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

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

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

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

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

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

Получить имя параметра
Запустить отчет
ТОГДА установить параметры = разделение имени

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

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

1 Ответ

0 голосов
/ 15 апреля 2010

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

Установить источник запроса как текст

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 
...