如何在架构工作台中添加子维度

时间:2016-02-21 12:12:35

标签: pentaho 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

请帮忙!

1 个答案:

答案 0 :(得分:4)

我猜你的数据仓库是建立在一些关系数据库(MySQL等)之上的。您可以通过在数据库中创建 SQL视图手动将雪花模式转换为星型模式来解决此问题。然后在您的OLAP架构中,您将使用这些表:

  • 事实表(多维数据集): ratings-fact_table
  • 维度表: books_dm_view
  • 维度表: 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架构中使用额外的联接。