Расчет запроса при более низкой гранулярности
Итак, у меня есть отчет, который показывает. Продукт, тип счета, уровень счета, баланс, количество депозитов.
Моя проблема заключается в том, что мне нужно, чтобы уровень применялся к отдельным учетным записям на основе их баланса. Таким образом, если ваша учетная запись меньше 99, то "УРОВЕНЬ 1", 100–199, затем "УРОВЕНЬ 2" и> 200, затем "УРОВЕНЬ 3". Проблема в том, что уровень должен быть обобщен. Таким образом, логика должна быть на уровне детализации аккаунта, а затем просто показывать различные комбинации продукта, типа аккаунта и уровня аккаунта. Баланс также должен быть суммой всех в этой группе.
пример:
PRODUCT | TYPE | TIER | BALANCE | # OF DEPOSITS
A | 1 | T1 | $95,000 | 4
A | 1 | T2 | $80,000 | 10
A | 1 | T3 |$100,000 | 2
A | 2 | T1 | $50,000 | 45
A | 2 | T2 | $70,000 | 13
A | 2 | T3 |$250,000 | 100
B | 1 | T1 | $65,000 | 45
B | 1 | T2 | $15,000 | 25
etc...
Я надеюсь, что это, по крайней мере, показывает, чего я пытаюсь достичь с помощью этого отчета. Пожалуйста, не стесняйтесь задавать вопросы для уточнения.
Заранее спасибо-
РЕДАКТИРОВАТЬ: Это вывод, который я в настоящее время получаю.
PRODUCT | TYPE | TIER | BALANCE | # OF DEPOSITS
A | 1 | T1 | $1MIL | 100
A | 2 | T1 | $1.5MIL | 520
A | 3 | T6 | $2MIL | 650
2 ответа
Я предполагаю, что столбец "Уровень" генерируется вами, а не из источника данных.
[Этап]
CAST
WHEN [Balance] < 99 THEN 'Tier1'
WHEN [Balance] between 100 and 199 THEN 'Tier2'
WHEN [Balance] > 200 THEN 'Tier3'
END
[Итоговый баланс]
total([Balance] for [Product],[Type],[Tier])
Установите для свойства агрегатной функции [Общий баланс] значение "Вычислено".
Если я правильно понимаю ваш вопрос, лучшим решением может стать кросс-таблица для объединения трех критериев.
или же
Неуклюжим, но эффективным способом может быть создание двух запросов (я предполагаю, что вы используете Report Studio). Первым для каждой учетной записи назначается уровень, а в следующем запросе вы можете добавить общий агрегат.