2013-04-10 2 views
0

То, что я пытаюсь сделать, состоит в том, чтобы суммировать несколько полей из запроса на переменном уровне из-за нескольких вычислений в моем отчете (некоторые дополнения, некоторые вычитания).SSRS 2008 Sum IIf и переменные

Например, я пытаюсь суммировать финансовое значение, которое имеет 3 условия, которые мне нужно проверить. Я попытался создать переменную и присвоить ей выражение:

= Sum (IIf ((Fields! Year.Value, "Query_Name") = Parameters! Year AND (Fields! Period.Value, "Query_Name") = Параметры ! Period AND (Fields! Type.Value, «Query_Name») = Parameters! Type, (Fields! Amount.Value, «Query_Name»), 0))

Я проверяю, соответствуют ли год, период и тип (бюджет или фактический) являются правильными, а затем я хочу суммировать значения. Это не работает, поэтому мне интересно, что я делаю неправильно.

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

+0

Возможно, это просто опечатка, но где вы упоминаете 'Parameters! Year' above - это должен быть' Parameters! Year.Value'. Похоже, что вы правильно ссылаетесь на значения поля, а не на параметры. –

+0

Это была только опечатка – Ian

+0

Вот фактический оператор: = Sum (IIF ((Fields! FSCSP.Value, "GLIncomeStatement") = Параметры! IntFiscalPeriod AND (Поля FSCSDSG.Value, "GLIncomeStatement") = "A" AND (Fields! ISGRPCODE1.Value, «GLIncomeStatement») = 1 AND (Fields! ISGRPCODE2.Value, «GLIncomeStatement») = 1, (Fields! NETPERD.Value, «GLIncomeStatement»), 0)) Ошибка: Выражение Variable (ContractRevenue) для тела отчета использует выражение aggreggate без области видимости. Область требуется для всех агрегатов, используемых за пределами области данных, если только отчет содержит ровно один набор данных. – Ian

ответ

0

Возможно, это связано с тем, что вы используете 2 набора данных в своем отчете. И вам нужно указать набор данных перед каждым значением Dataset1 (Fields! FSCSP.Value), а не только с полями FSCSP.Value это сделало бы трюк. Скажите мне, когда произошла эта ошибка

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