如何在架构中添加子维度 workbench
How to add sub dimensions in schema workbench
我的数据仓库有雪花模式,我正在尝试为这个模式创建一个多维数据集。但我不知道如何添加子维度。我对此很陌生,我真的对层次结构和级别感到困惑。这是我的数据仓库:
ratings-fact_table ----> books_dm ----> authors
rating_id book_id author_id
book_id author_id
user_id publisher_id ----> publishers
publisher_id
|
users_dm ----> cities ---------> countries
user_id city_id country_id
city_id country_id
请帮忙!
我猜你的数据仓库是建立在一些关系数据库(MySQL 等)之上的。您可以通过手动将 snowflake schema 转换为 star schema 来解决这个问题 ~ 通过创建 SQL views 在你的数据库中。然后在您的 OLAP 架构中,您将使用那些 tables:
- 事实table(立方体):
ratings-fact_table
- 维度table:
books_dm_view
- 维度table:
users_dm_view
其中:
books_dm_view
是 SQL 视图:
CREATE VIEW books_dm_view AS
SELECT * FROM books_dm b
LEFT JOIN authors a ON b.author_id = a.author_id
LEFT JOIN publishers p ON p.publisher_id = b.publisher_id
users_dm_view
是 SQL 视图:
CREATE VIEW users_dm_view AS
SELECT * FROM users_dm u
LEFT JOIN cities c ON c.city_id = u.city_id
LEFT JOIN countries n on n.country_id = c.country_id`
这样您的维度就没有子维度,您也不需要在 OLAP 架构中使用额外的联接。
我的数据仓库有雪花模式,我正在尝试为这个模式创建一个多维数据集。但我不知道如何添加子维度。我对此很陌生,我真的对层次结构和级别感到困惑。这是我的数据仓库:
ratings-fact_table ----> books_dm ----> authors
rating_id book_id author_id
book_id author_id
user_id publisher_id ----> publishers
publisher_id
|
users_dm ----> cities ---------> countries
user_id city_id country_id
city_id country_id
请帮忙!
我猜你的数据仓库是建立在一些关系数据库(MySQL 等)之上的。您可以通过手动将 snowflake schema 转换为 star schema 来解决这个问题 ~ 通过创建 SQL views 在你的数据库中。然后在您的 OLAP 架构中,您将使用那些 tables:
- 事实table(立方体):
ratings-fact_table
- 维度table:
books_dm_view
- 维度table:
users_dm_view
其中:
books_dm_view
是 SQL 视图:CREATE VIEW books_dm_view AS SELECT * FROM books_dm b LEFT JOIN authors a ON b.author_id = a.author_id LEFT JOIN publishers p ON p.publisher_id = b.publisher_id
users_dm_view
是 SQL 视图:CREATE VIEW users_dm_view AS SELECT * FROM users_dm u LEFT JOIN cities c ON c.city_id = u.city_id LEFT JOIN countries n on n.country_id = c.country_id`
这样您的维度就没有子维度,您也不需要在 OLAP 架构中使用额外的联接。