Для случаев, когда у вас действительно есть «многозначное» измерение, таблица мостов обычно является решением, которое рекомендует Кимбалл.
Ваше измерение "Продвижение" - это просто запись каждой акции с ее атрибутами (дата начала, дата окончания, код купона, POS-код акции, название объявления и т. Д.).Отношение промо-акции к продукту здесь не моделируется, так как оно будет отражено в таблице фактов.
Размер промо-акции / скидки будет выглядеть (1 строка на уникальное запланированное продвижение)
Promotion Dim ID
Promo Code
Coupon Code
Promo Start DTTM
Promo End DTTM
... etc ...
Ваш факт продаж будет выглядеть следующим образом:
Tran Date
Tran Line #
Customer Dim ID
Product Dim ID
Promotion Group Dim ID
Net Sale Price
Average Cost
Discount Amount
Ваша таблица моста "Группа продвижения" будет представлять собой набор комбинаций:
Promotion Group Dim ID
Promotion Dim ID
Если происходит продажа с 3 промоушенамина нем вы просто создаете идентификатор группы, который относится к каждой рекламной акции, а затем помещаете идентификатор группы в таблицу фактов.Это очень похоже на то, как системы медицинской отчетности работают с несколькими диагнозами.
Обратите внимание, что с помощью таблицы Bridge вы можете легко удвоить счет продаж, поэтому я советую, чтобы отчеты, использующие этот метод, разрабатывались людьми, которые понимаютмодель.