2014-11-04 4 views
1

Я просмотрел все и не нашел свою точную ситуацию, поэтому я отправляю свой первый вопрос. У меня есть отчет, который я сгруппировал на нескольких уровнях. Поэтому в моем отчете есть группа клиентов/заголовков/деталей/выпусков. Я написал собственное выражение так, чтобы в деталях было показано только одно значение, которое является максимальным значением в группе, со всеми значениями, отображаемыми в выпуске. Затем я установил свою видимость для переключения на заголовок, затем детали, затем отпустите, и мне нужно суммировать эти максимальные значения в поле в отчете. Пользовательское выражение, которое я написал, работает правильно, когда вы показываете уровень детализации. Он дает правильное значение, которое является максимальным значением в каждой версии.Попытка получить Sum Max при использовании скрытых строк в SSRS

То, что мне тогда нужно, - это суммировать только это максимальное значение и свертывать его в группу заголовков, чтобы получить максимальные значения.

Я попытался использовать функцию MAX в своем выражении, чтобы получить правильное максимальное значение, но я не могу заставить SSRS 2008 R2 суммировать это, и я попытался написать собственное выражение, которое будет вычислять max (ненулевые значения делится на количество ненулевых записей), и оба пути работают правильно, пока я не попытаюсь свернуть и не суммировать их до следующего уровня группы.

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

В самом основном, это похоже на то, что я должен был бы установить Sum (Max (Fields! ValueColumn.Value) и позволить SSRS обрабатывать то, как это должно быть разбито, но после повторного повторения мне еще не повезло Я не могу настроить SQL, поскольку мне нужен уровень детализации, который показывает отчет, хотя я мог бы добавить больше полей, пока не добавляю никаких группировок или итогов, которые уменьшат детализацию возвращаемых данных.

Любое новое направление для изучения было бы очень полезно.

Спасибо заранее, Чаду

ответ

1

Наконец-то я нашел лишний кусок, который мне не хватало, и дал мне результаты, которые мне нужны. Новое выражение выглядит следующим образом:

=runningvalue(Sum(Max(IIF(LEFT(Fields!JobNum.Value,1)="S" AND Fields!Week1STol.Value<>0, CDBL(Fields!Week1STol.Value), 0),"JobItem"),"JobItem"),SUM, "JobItem") 

В этом я завернул оригинальное выражение Макса в обоих Sum и RunningValue как на уровне JobItem, чтобы получить это значение накопительного пакета. Теперь, когда я открываю группировку, я получаю правильное текущее значение на каждом уровне.

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

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