1

У нас есть требование разработать стратегию, показывающую данные о доходах от продаж, взвешенные по датам по-разному в разных графиках.Модель размера для захвата взвешивания продаж в разные сроки.

В настоящее время у нас есть таблица FactSales с зерном одной строки в заказе с мерой объема продаж. У нас есть отдельные измерения DimDate и DimTime, а измерение DimBusinessUnit с одной строкой для каждого объекта внутри организации.

В DimDate у нас есть флаг для крупных американских праздников, поэтому мы знаем, что можно ожидать снижения выручки от продаж. Этот флаг будет применяться во всем мире.

Спросите, что разные бизнес-единицы могут иметь медленные доходы. Например, понедельник может быть медленным в одном бизнес-подразделении, а в пятницу медленнее в другом. Для анализа желательно зафиксировать эти разные графики с помощью флага или взвешивания.

В конечном счете это, вероятно, отразится как прогнозируемая сумма продаж в расчетной мере.

Как я могу лучше всего добавить это взвешивание? Означает ли это значение Date, измерение Business Unit или, может быть, вырожденное измерение в таблице фактов, или что-то еще?

ответ

0

DimDate, вероятно, не является хорошим местом для хранения этой информации, так как каждый бизнес-единица (BU) может иметь разное расписание, поэтому вполне возможно, что вам нужно будет иметь флаг на каждую из дат в комбинации BU и медленный день. Например, если у BU1 и BU2 есть медленный день в понедельник, каждый понедельник в вашем DimDate должен будет показать, что он медленный для BU1 и BU2.

Размер BU, может быть, лучше, поскольку расписание относится к каждому из устройств. Таким образом, вы можете отказаться от расширения, добавив 7 дней в качестве атрибутов и пометить их как медленные или не использовать, например, флаговые или истинные флаги. У вас также может быть один атрибут с битовой маской, то есть 0100000, где позиция значения соответствует дню, то есть M T W T F S S и 0 не медленны, а 1 медленнее, поэтому в этом примере T является медленным днем.

Это также позволит вам отслеживать историю, если вы хотите выбрать соответствующий процесс SCD.

Другим вариантом может быть отдельный размер, то есть таблица DimSchedule и Factless Fact Table.

http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/factless-fact-table/

Я надеюсь, что это помогает.

+1

7 дней флажков в порядке, но не бит-маска. Это не будет хорошо переводиться в инструменты конечных пользователей. –

+0

Правда, бит-маска - пример упакованного атрибута и его чего-то, чего я также избежал бы. Однако вопрос был вокруг возможных решений, и бит-маска, безусловно, одна из них. –

0

Ваша ситуация, кажется, такие же, как Multiple проблемы Национальных календарей, описываемого Кимбалл:

http://www.kimballgroup.com/1998/12/think-globally-act-locally/

Где Кимбалл описывает отдых в самой левой таблице, вы можете также добавить «медленный день ".

 Смежные вопросы

  • Нет связанных вопросов^_^