У меня есть отчет в службах Reporting Services 2008 с использованием ASP.net 3.5 и SQL Server 2008. Отчет имеет 2 группировки и строку сведений.
Это текущий формат:
Outer Group
Inner Group
Detail Row
Строка детализации представляет элемент в квитанции, и квитанция может содержать несколько позиций. Каждая квитанция была оплачена определенным способом оплаты. Таким образом, внешняя группа сгруппирована по типу платежа, внутренняя группа сгруппирована по идентификатору квитанции, а строка сведений - это каждая позиция для данного квитанции.
Мой результирующий набор необработанных данных имеет два важных столбца: Полученная сумма и Примененная сумма. Полученная сумма - это сколько денег было собрано по всем пунктам в квитанции. Применяемая сумма - это сумма, полученная каждым предметом от общей полученной суммы.
Пример набора результатов:
ReceiptID Item ItemID AmountReceived AmountApplied Payment Method
------------------------------------------------------------------------------------------
1 Book 1 $200.00 $40.00 Cash
1 CD 2 $200.00 $20.00 Cash
1 Software 3 $200.00 $100.00 Cash
1 Backpack 4 $200.00 $40.00 Cash
Внутренняя группа правильно отображает сумму, полученную как 200 долларов. Однако внешняя группа отображает значение AmountReceived в размере 800 долл. США, поскольку я считаю, что оно выходит за пределы каждой строки сведений, которая в данном случае представляет собой число из 4 элементов.
Я хочу видеть во Внешней группе, что полученная сумма составляет 200 долларов. Я пытался ограничить область действия в моей функции SUM внутренней группой, но я получаю сообщение об ошибке
Параметр области должен быть установлен в строковую константу, равную либо имени содержащей группы, либо имени содержащей области данных, либо имени набора данных.
У кого-нибудь есть предложения по решению этой проблемы?