Я разрабатываю отчет 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 ...................
Пожалуйста, посоветуйте любой подход. Спасибо.