Как определить, какое значение группировки показано в службах Reporting Services - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть отчет, в котором наивысший уровень детализации дает 2 строки набора данных, которые мне нужно показать сгруппированными.Группировка работает нормально, но некоторые столбцы по-прежнему содержат разные значения;как мне сообщить отчету, какое значение он должен отображать?

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

Соглашение 1: элемент-A, элемент-B, соглашение о значении-A2: элемент-B, элемент-C, значение B

При группировке по марке должно отображаться: Соглашение: элемент-B, элемент-C, сумма (значение-A + B).Но я не знаю, как сообщить отчету, какие элементы отображать.

SQL для набора данных не должен изменяться, чтобы сохранить в отчете возможность отображать обе строки отдельно.

Любая помощь будет высоко ценится:)

Спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Если это строка, вы, вероятно, можете просто использовать агрегации First() и Last().

Но есть обходной путь.Вы должны определить вычисляемое поле в вашем наборе данных и записать в него желаемое выражение.Думайте об этом как о системе рейтинга.Наибольшее значение - это значение, которое вы выберете в группировке, потому что в группировке вам просто нужно использовать Max() затем.

Например, как вычисляемое поле (Это пример для строк, вы также можете преобразоватьв double и используйте> или <, что зависит от ваших отклонений от значения ItemA): </p>

'Calculated field name: CustomField
=Switch(Fields!ItemA.Value = Nothing, 1,
        Fields!ItemA.Value = "500", 2, 
        Fields!ItemA.Value = "1000", 3)

Теперь добавьте свою группу и выберите вычисляемое поле в группах следующим образом:

Max(Fields!CustomField.Value)

Затем скройте Fields!CustomField.Value и покажите Fields!ItemA.Value.Таким образом, он будет отображать значение строки Fields!ItemA.Value, и вы будете группироваться после Fields!CustomField.Value.

...