2016-02-21 7 views
2

В моем хранилище данных есть схема снежинок, и я пытаюсь создать куб для этой схемы. Но я не знаю, как добавить субразмер. Я новичок в этом, и я действительно смущен иерархиями и уровнями. Это мой склад данных:Как добавить вспомогательные размеры в 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 

Помогите!

ответ

3

Я полагаю, что ваш хранилище данных строится на вершине некоторой реляционной базы данных (MySQL и т. Д.). Вы можете решить эту проблему, конвертируя схему снежинок в star stara вручную ~ путем создания 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` 
    

Таким образом, ваши размеры не имеют суб-размеры, и вы не» t нужно использовать дополнительные объединения в вашей OLAP-схеме.

+0

спасибо! –

+0

Большое спасибо, @mzy! Очень приятное решение. –