Удаление избыточных значений в группе отчетов SSRS

Я разрабатываю отчет SSRS со следующим набором данных. Есть фильтр «Период». Это фильтр с множественным выбором. Данные сгруппированы по полю «Учетная запись». Мне нужно отобразить общие расходы для каждой группы (что было легко). Мне также нужно отобразить «Бюджет» на том же уровне группы. Проблема в том, что данные о бюджете избыточны - см. Ниже.

Скажем, для первой группы (Account = 100 AND Period = 201301) Sum([Budget]) сгенерирует 200, что неверно. Я могу использовать функцию Average, которая помогает, если пользователь выбирает только один период из фильтра. Если они выберут несколько значений (например, 201301,201302), то среднее будет (100 + 100 + 150 + 150) / 4 = 125, что было бы неверно, потому что оно должно быть 100 + 150 = 250. Я не хочу усреднять все строки в возвращаемом наборе данных.

ID Account Period  Expense Budget
1  100     201301  20      100
2  100     201301  30      100
3  100     201302  10      150
4  100     201302  40      150
5  200     ...................

Итак, как мне написать выражение, чтобы это произошло? Грязным обходным решением было бы исключить избыточные значения в столбце «Бюджет», чтобы я мог безопасно использовать Sum([Budget]), не беспокоясь о дублировании. Обновленный набор данных будет выглядеть так:

ID Account Period  Expense Budget
1  100     201301  20      100
2  100     201301  30      NULL
3  100     201302  10      150
4  100     201302  40      NULL
5  200     ...................

Пожалуйста, посоветуйте любой подход. Спасибо.


person Thracian    schedule 07.02.2013    source источник


Ответы (2)



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

person Mike Honey    schedule 08.02.2013