0

Я новичок в построителе отчетов, поэтому любая помощь приветствуется.Выражение Value для текстового поля указывает область действия, которая недопустима для вложенного агрегата

Я пытаюсь суммировать столбцы в отчете. В большинстве столбцов я могу просто обернуть выражение уровня строки «Sum()», и оно работает. Тем не менее, я столкнулся с несколькими, которые дают следующую ошибку.

Ошибка: Выражение Value для текстового поля «Textbox241» указывает область действия, которая недопустима для вложенного агрегата. Область должна быть тем же именем области, заданной внешним агрегатом, или именем группы или области данных, которая содержится в области, заданной внешним агрегатом.

Вот мое выражение на уровне строки, которое работает.

=Code.Divide(sum(Fields!WeeklyUnits.Value),sum(Fields!EstUnits.Value)) 
* 
(Code.Divide(sum(Fields!EstHours.Value),sum(Fields!EstHours.Value,"Job"))) 

Вот моя попытка суммировать уровень строк для нижнего колонтитула (не работает)

=Sum(Code.Divide(sum(Fields!WeeklyUnits.Value),sum(Fields!EstUnits.Value)) 
* 
(Code.Divide(sum(Fields!EstHours.Value),sum(Fields!EstHours.Value,"Job")))) 

ответ

0

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