如何在架构中添加子维度 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 架构中使用额外的联接。