2013-02-15 5 views
3

Я пытаюсь получить значение поля, но это имя поля должно быть динамическим.Динамическое имя поля в SSRS

т.е.

=iif(Fields!Year1.Value = 1, 0, 1) 

Но мне нужно Year1 часть должны быть возвращены из другого набора данных, поэтому Year1 динамична (может быть Year2, Year3 и т.д ....)

У меня есть поле который возвращает данные

=First(Fields!YearCount.Value, "YearColumn"). 

Это выражение само по себе вернет Year1, Year2 и т. Д. Часть, однако я изо всех сил пытаюсь объединить это с утверждением if.

Я попытался:

=iif(Fields!(First(Fields!YearCount.Value, "YearColumn")).Value = 1, 0, 1) 

, например.

ответ

5

нотация для ссылки на поле в SSRS либо:

=Fields!FieldName 

или затем

=Fields(FieldName) 

Так что в вашем случае, попробуйте следующее:

=Fields(First(Fields!YearCount.Value, "YearColumn")).Value 

потому что внутренний функция должна возвращать Year1 (или другой va lue), вы должны получить следующее выражение:

=Fields("Year1").Value 

, и это должно дать вам необходимую вам ценность.

+3

Большое спасибо, это сработало и помогло огромную сумму. – jjm

+1

@jjm: Рад, что я смог помочь! В настоящее время я тоже попадаю в SSRS и мальчик - это довольно зверь и довольно неинтуитивный порой ... –

+1

В интернет-пространстве есть единственный ответ, и нет голосов. Очень плохо, люди! @marc_s, спасибо вам большое! –