Таблица фактов не связана с dim из-за разных источников данных - PullRequest
0 голосов
/ 16 мая 2019

У меня есть таблица фактов, для которой я получаю данные из источника A.

Затем у меня есть источник B, который имеет одно общее поле с источником A.Итак, мне интересно, как мне заполнить таблицу фактов ключами из таблиц dim?

Это не просто сбор данных, поскольку он требует серьезной очистки.Я предполагаю, что в промежуточных таблицах я не должен делать никаких преобразований.Означает ли это, что это будет выглядеть следующим образом?

  1. Перетащите данные из источника B в промежуточные таблицы.
  2. Выполните очистку и сохраните результаты в таблице pre_dim.(s)
  3. Соединить ли общее поле таблицы фактов с таблицами из (2)?
  4. Создать дим таблицы
  5. Связать дим таблицы с таблицей фактов с помощью суррогатного ключа?

Каждый день обрезать таблицу в (2) и заново создавать новую таблицу - см. (2)?

1 Ответ

2 голосов
/ 19 мая 2019

У вас было правильное направление, но я обычно разделяю все уровни (staging, etl, dwh), потому что легче контролировать данные, очищать и проверять.

Итак, вот что я бы сделал:

  1. Потяните данные из источника B и A в промежуточные таблицы (st_A и st_B).
  2. Создание таблицы etl_A и etl_B с PK dim_B и FK dim_B.
  3. Обрезать таблицу и вставить данные из источника B в etl_B с созданием уникальных данных PK в dim_B.
  4. Обрезать таблицу и вставить данные из источника A, который присоединился к etl_B (вы можете заполнить FK dim_B сейчас)
  5. А следующим шагом может быть обмен разделами?Или вставить, или навалом.Я не знаю, какую СУБД вы используете и какие у вас цели.
...