SSRS - выражение с использованием разных полей набора данных

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

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

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

=Fields.Dataset1.Field / Fields.Dataset2.Field

Ответ 1

Вы можете достичь этого, указав область полей, как это:

=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")

Ответ 2

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

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

Ответ 3

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