Есть ли какой-нибудь подход для получения доступа к переменной Sub report или для получения элемента SubReport в основном отчете? - PullRequest
0 голосов
/ 28 марта 2019

Я пишу отчет SSRS, в котором у меня есть табликс, который фактически содержит вложенный отчет в одной из ячеек таблицы. Теперь я хочу понять, чтобы получить это значение в виде суммы в основном отчете. Например, ниже приведены данные об ученике:

Student Name | Total Subject | Obtained Marks (Sub Report)

XYZ          |  6            |  35

ABC          |  6            |  46

В приведенном выше примере я вижу только оценки по первому предмету. Но мне нужно получить итоговую форму по всем 6 предметам из подотчета. Мой табликс уже сгруппирован по имени студента.

Ниже приведены способы, которыми я пытался это сделать:

  1. Добавлен еще один столбец в tablix и попытайтесь получить подотчет как ReportItems! Subreport2, не работает.

  2. В той же колонке я пытался использовать Sum (Subreport2).

Но так как Subreport2 как элементы отчета недоступны, я не могу это сделать.

ОБНОВЛЕНИЕ 1 Я использую приведенное ниже выражение для получения значения подотчета:

=ReportItems("Subreport2").value

1 Ответ

0 голосов
/ 28 марта 2019

Короткий ответ: нет, вы не можете получить доступ к полям из подотчета так, как пытаетесь.Однако есть простой способ получить значения из этого подотчета, которые вы, возможно, не поняли.Основное решение - просто добавить другой набор данных в отчет, используя тот же запрос или хранимую процедуру, которая используется в подотчете, и получить необходимые данные из этого набора данных.Например, вы можете использовать функцию lookup для сопоставления данных по мере необходимости.Для функции поиска требуются четыре параметра, подробно описанных в следующем выражении.

= Lookup([SourceValue].Value, [DestinationValue].Value, [LookupValue].Value, "[DestinationDataset]")

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

= Lookup(Fields!studentID.Value, Fields!studentIDSub.Value, Fields!ObtainedMarks.Value, "SubreportDataset")

Если вам нужна дополнительная информация, посмотрите документацию .

...