У меня есть отчет с несколькими наборами данных. В разных местах отчета используются разные поля из разных наборов данных.

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

Например, я хотел бы сделать что-то вроде этого:

=Fields.Dataset1.Field / Fields.Dataset2.Field
10
Zolt 13 Мар 2012 в 03:15

3 ответа

Лучший ответ

Вы можете добиться этого, указав область ваших полей следующим образом:

=First(Fields!fieldName_A.Value, "Dataset1") / First(Fields!fieldName_B.Value, "Dataset2")

Предполагая, что A равно 10, а B равно 2, и они имеют числовой тип, вы получите результат 5 при рендеринге отчета.

Когда вы находитесь в построителе выражений, вы можете выбрать Категория: Наборы данных, желаемый набор данных выделен в разделе Элемент:, а затем дважды щелкнуть нужное поле в разделе Значение:, и оно появится в строке выражения с добавленной областью.

Используя ту же логику, вы можете объединить два поля следующим образом:

=First(Fields!fieldName_A.Value, "Dataset1") & “ “ & First(Fields!fieldName_B.Value, "Dataset2")
18
PerPlexSystem 26 Дек 2013 в 16:44

Как пишет PerPlexSystem, если вы хотите сравнить только первое значение из набора данных со значениями из другого набора данных, вы можете использовать функцию First.

Однако, если вы хотите сравнить значения каждой строки из одного набора данных со значениями из каждой строки другого набора данных, вам потребуется подотчет - см. здесь для получения дополнительных сведений.

3
user359040user359040 13 Мар 2012 в 09:05

Другой вариант - использовать параметр в качестве переменной. Это полезно, если вы хотите создать вычисляемое поле в одном из наборов данных. Это лучше всего применять, когда значение параметра поступает из набора данных с одной записью.

0
user2340013 1 Май 2013 в 15:55