Как объединить факты из двух разных баз данных в таблицу фактов в Datawarehouse? - PullRequest
1 голос
/ 02 июня 2019

У меня есть две разные базы данных A и B. Я хотел бы создать таблицу фактов в моем хранилище данных, которая состоит из фактов из двух баз данных. Т.е. я хотел бы создать один факт из обеих баз данных. Я хотел бы создать столбец «Доход» в моей таблице фактов, который будет состоять из выручки от DB-A, то есть Количество * Product_retailprice, а для DB-B это будет Сумма счета.

Я новичок в Datawarehouse, пожалуйста, предоставьте предложение / объяснение, если что-то подобное может быть достигнуто.

Мои атрибуты в базах данных выглядят следующим образом:

Database A
A_Product -> ProductID, Product_retail_price
A_Orderdetails -> OrderID,ProductID,Quantity

Database B
B_amount ->B_id, Billedamount

1 Ответ

2 голосов
/ 02 июня 2019

Я бы скопировал B_amount в 'База данных A' и создал бы представление:

CREATE VIEW Revenu AS (
   SELECT 
      A1.ProductID, 
      A1.Product_retail_price, 
      A2.OrderID, 
      A2.Quantity,
      A1.Product_retail_price * A2.Quantity AS Revenue, 
   FROM A_Product AS A1
   INNER JOIN A_Orderdetails AS A2 ON A2.ProductID = A1.ProductID
   UNION ALL
   SELECT 
      B_id,
      0,
      0,
      0,
      Billedamount
   FROM B_Amount
)

После этого вы можете сделать: SELECT * FROM Revenu WHERE …

...