Сумма различных значений в поле SSRS 2005 - PullRequest
3 голосов
/ 02 марта 2012

Я работаю над построителем отчетов SSRS, который использует набор данных, вызывающий базу данных SQL Server 2000.

Запрос получает суммы по нескольким различным полям, а также извлекает все записи, связанные с этим номером клиента. Я хочу получить сумму суммы, но это слишком из-за подробных строк. По сути, я хочу получить сумму значений столбцов различных сумм.

=Sum(Fields!tot.Value, "table1_Group3")

Я видел, что вы можете получать суммы по группам, и я попробовал приведенное выше выражение, но оно возвращается с ошибкой:

The Value expression for the textbox 'tot' has a scope parameter that is not 
    valid for an aggregate function...

table1_Group3 - это имя группы, в которой содержится сумма в отчете.

Любые предложения о том, как получить значения distinct для sum их в этом отчете.

Ответы [ 3 ]

0 голосов
/ 02 марта 2012
=Sum(Fields!tot.Value, "table1_Group3")

Приведенный выше код даст вам сумму «tot» для всех строк в текущей «table1_Group3».Это означает, что это выражение имеет смысл только где-то внутри table1_Group3.В противном случае службы SSRS не будут знать, какой экземпляр этой группы является текущим.

Звучит так, будто вы хотите суммировать это значение по нескольким группам, но берете только одну сумму для каждого экземпляра группы.(Вы уверены, что все строки в этой группе будут иметь одинаковое значение «Tot?»)

Если tot является суммой других полей в ваших возвращенных данных, просто добавьте их в свою формулу.Это может иметь дополнительное преимущество, заключающееся в упрощении вашего SQL-запроса.

Некоторые другие параметры, которые могут работать: - Измените ваш SQL-запрос так, чтобы только одна строка на группу получала набор полей Tot.- Используйте встроенный код в отчете, чтобы сохранить промежуточный итог, который добавляется только один раз для каждой группы, например, в заголовке группы.

(Если обновление до SSR 2008R2 является опцией, тогда функция поиска можетиспользуется здесь, может быть, даже оглянуться на тот же набор данных.)

0 голосов
/ 28 января 2013

изменить запрос / набор данных на сумму (отличную сумму), используя временную таблицу на сервере sql

0 голосов
/ 02 марта 2012

Полагаю, вам нужно написать sum(distinct columnName).

...