У меня есть структурированная серверная база данных OLAP sql. Моя таблица фактов - продажи.
У меня есть 2 измерения и 1 таблица фактов. Размеры следующие:
Product (ProductID, ProductName, ProductDescription, ListPrice)
Promotion (ProductID, Discount, StartDate, EndDate)
И таблица фактов:
Sales (SalesID, CustomerID, ProductID, Date, ProductReturned)
Обратите внимание, что для параметра «Продвижение» не существует собственного уникального идентификатора. Я считаю, что кортеж из четырех элементов - это составной первичный ключ.
Во-первых, я хотел бы создать первичный ключ с именем PromotionID
и сохранить его в этом измерении. Затем я хотел бы пройтись по каждому из наблюдений в таблице фактов продаж, если дата наблюдения попадает в диапазон StartDate
-> EndDate
в измерении Продвижение, я хочу назначить атрибут внешнего ключа как PromotionID
. Наконец, я хочу выбрать все наблюдения из таблицы фактов продаж, где FK PromotionID
не равен NULL
.
Два вопроса:
- Как мне выполнить sh этот эффект?
- Являются ли вышеуказанные шаги самым простым способом достижения этой цели - или есть более простой способ?