【问题标题】:How to add sub dimensions in schema workbench如何在模式工作台中添加子维度
【发布时间】:2016-06-02 20:01:11
【问题描述】:

我的数据仓库有雪花模式,我正在尝试为这个模式创建一个多维数据集。但我不知道如何添加子维度。我对此很陌生,我真的对层次结构和级别感到困惑。这是我的数据仓库:

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

请帮忙!

【问题讨论】:

    标签: pentaho workbench


    【解决方案1】:

    我猜你的数据仓库是建立在一些关系数据库(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 架构中使用额外的连接。

    【讨论】:

    • 非常感谢@mzy!非常好的解决方案。
    猜你喜欢
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    相关资源
    最近更新 更多