2012-03-01 3 views
3

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

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

=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 в этом отчете.

ответ

0

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

+0

Я пробовал делать это в выражении для текстового поля, но отдельные не поддерживаются, и он выдал ошибку. – agrk12

+0

вы можете группировать по столбцуName –

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

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

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

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

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

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

+0

Я понял, что текстовое поле, содержащее это значение, должно быть частью этой группы. Я переработал запрос, чтобы таблица temp получала отдельные значения и суммировала их. Затем я связал его с помощью ID. Проблема в том, что я должен был бы сделать это для 45 текстовых полей, получающих различные суммы. – agrk12

0

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

+1

Просьба уточнить и проверить советы по форматированию, чтобы написать эффективный ответ. – mtk

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