Сумма отчетных услуг Inner Group в Outer Group - PullRequest
1 голос
/ 16 июня 2010

У меня есть отчет в службах 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 внутренней группой, но я получаю сообщение об ошибке

Параметр области должен быть установлен в строковую константу, равную либо имени содержащей группы, либо имени содержащей области данных, либо имени набора данных.

У кого-нибудь есть предложения по решению этой проблемы?

Ответы [ 2 ]

0 голосов
/ 16 июня 2010

Вы уверены, что правильно указали имя внутренней группы в области действия функции sum? Он должен быть заключен в двойные кавычки (") и соответствовать имени отчета для группы, которое по умолчанию обычно выглядит как table1_Group2. Попробуйте проверить группу, чтобы проверить.

0 голосов
/ 16 июня 2010

Исходя из показанных данных, я ожидаю, что внутренняя группа покажет сумму AmountReceived в размере 800,00 долл. США, поскольку в каждой есть 4 строки с ReceiptID 1 и AmountReceived $ 200,00.

Это говорит о том, что вы либо отображаете значение AmountReceived, либо сумму AmountApplied во внутренней группе. Если AmountApplied всегда складывается из AmountReceived, самый простой способ показать это во внешней группе - использовать сумму AmountApplied.

...