2013-12-17 4 views
1

Я очень смущен этой ситуацией, я написал немало заявлений IIF и всегда заставляю их работать. У меня есть два столбца в моем наборе данных CATEGORY и PCT, что я пытаюсь сделать, это вернуть значение PCT только для одного конкретного значения в CATEGORY.Заявление IIF, не возвращающее значение в SSRS

Например, у меня есть следующая таблица данных

Category PCT 
A   .50 
B   .75 

Я разместил текстовое поле на моем докладе, и написал следующее выражение для возвращения значения РСТ, если Категория = B, например, так:

=IIF(Fields!Category.Value = "B", Fields!PCT.Value, " ") 

По какой-то причине это выражение возвращается пустым каждый раз. Когда я просто помещаю Fields! Category.Value в текстовое поле в качестве теста, тогда значение A возвращается так, как ожидалось.

Я действительно отброшен этим, и я знаю, что я пропустил что-то очень простое - может кто-то помочь?

+1

У вас есть несколько строк данных, и вы говорите, что добавили текстовое поле в отчет. Является ли ваше текстовое поле содержащим это выражение внутри таблицы или списка? В вашем выражении нет ничего плохого. – mmarie

ответ

2

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

Если вы разместили одно текстовое поле в своем отчете и использовали свое выражение выше (со ссылками на наборы данных), ТОЛЬКО будет оцениваться первая строка вашего набора данных. В этом случае выражение всегда будет оцениваться с одним и тем же результатом.

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

= iif (First (Fields! Category.Value, "datasetName") = "B", First (Поля ! PCT.Value, "datasetName"), "")

Это будет оценивать только первую строку в вашем наборе данных.

Если вы должны были сделать это в табло, используя свое оригинальное выражение, оно должно работать.

+0

Я не ссылался на имя набора данных, очень новичковую ошибку. Слишком быстро, я думаю. Спасибо за ответы. –

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