Итоги и промежуточные итоги в разработке базы данных OLAP - PullRequest
0 голосов
/ 27 февраля 2019

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

По сути, аналитическая команда хочетбыть в состоянии отследить общую сумму дохода на каждой стадии конвейера в любую данную неделю, а также сумму по «Типу воронки», которая отслеживает, обратился ли клиент к нам (входящий) против нас, обращающихся к клиенту (исходящий),(Это поле также часто пустое - плохие данные.)

Это все хорошо, но они также хотят иметь возможность отслеживать процентное соотношение изменений неделя за неделей.Хотя они хотят видеть это для каждой уникальной комбинации типа ступени / воронки, им также нужно будет показать это для каждой ступени независимо от типа воронки.Обычно я предоставляю им таблицу с данными, агрегированными на уровне типа «этап / воронка», и позволяю им рассчитать общую сумму на этап в таблице, но, поскольку они не могут просто усреднить / суммировать процент «неделя за неделю», этот подход победилт работа.(Команда не обладает техническими знаниями для выполнения этого расчета в Таблице, и мы не хотим, чтобы они выполняли такого рода комплексные вычисления ресурсов на нашем сервере Tableau)

Я надеюсь получить лучшее представление о лучшихпрактические приемы работы с итогами и промежуточными итогами в дизайне OLAP.Лучше ли рассчитывать «Итого» для каждой ступени в виде отдельной строки (вариант 1) или в виде отдельного столбца (вариант 2)?(Или я должен построить две отдельные таблицы, агрегированные на разных уровнях)?

Я также думаю о масштабируемости.Что если они хотят, чтобы это было разбито по регионам?Или по типу продукта?Простое добавление общей строки / столбца не сработает, так как они захотят увидеть разные комбинации.Исходя из мира OLTP, меня это немного пугает, так как я вижу частые обновления баз в ближайшем будущем (хотя, думаю, что-то нужно сказать о безопасности работы).

Вариант 1: Option 1:

Вариант 2: Option 2:

С технической точки зрения мне комфортно строитьв любом случае, просто хочу убедиться, что я проектирую это правильно.Спасибо!

...