2013-07-01 3 views
0

У меня есть набор данных, возвращающий два свойства, имя и общие единицы. Я пытаюсь установить выражение iif на панели данных, где iif(field!Name.Value = "Name", field!Total.Value, 0)Проблема с выражением SSRS с использованием функции iif

это не работает. Я получаю сообщение об ошибке rsFieldReferanceAmbiguous, поля указываются без указания агрегата набора данных. И единственный вариант, который он дает мне в качестве агрегации, - First, но я не хочу получать имя, я хочу, чтобы панель отображала общую базу единиц в поле имени, которое находится в выражении iif.

ответ

0

rsFieldReferenceAmbiguous относится к попытке сопоставить то, что не находится в локальном масштабе. Поэтому вы должны его заполнить. Вы, вероятно, желая что-то вроде этого:

=Sum(IIF(Fields!Name.Value = "Name", Fields!Total.Value, 0)) 
0

Функция вы пытаетесь использовать будет лучше подходит для вычисляемого поля в наборе данных. Тогда вы можете просто ссылаться на это поле в своем отчете. Это позволяет фильтровать данные по строкам, а не по группам.

  1. Щелкните правой кнопкой мыши на наборе данных и перейдите в Свойства набора данных.
  2. Идти в Поля.
  3. Нажмите «Добавить», затем «Вычисленные поля».
  4. Введите имя поля, а затем выражение здесь.
0

Убедитесь, что ваш таблик имеет набор данных, указанный в разделе Общие -> DataSetName на панели свойств. Если в отчете имеется несколько наборов данных, вам необходимо указать, какие данные задают ваше выражение таким образом: (Fields!Name.Value, "NameDataSet") Если вы используете таблицы, вам может потребоваться ckeck, если у вас есть группировка, и если да, то как группировать ваши данные.

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