Один-ко-многим поиск, преобразованный в одно-одно измерение - PullRequest
0 голосов
/ 20 ноября 2018

Я изо всех сил пытаюсь выяснить, как преобразовать структуру таблицы «один ко многим» из транзакционной базы данных в измерение «один к одному» для хранилища данных.

В базе данных транзакций структура данных имеет вид:

Корневая запись (Parent_ID)

Таблица поиска «Множество идентификаторов родителей» (Patent_ID, Child_ID)

Справочная таблица (Child_ID, Name)

Присоединение к моей справочной таблице возвращает набор данных, который выглядит следующим образом:

╔═════════════╦═══════════╦══════════╦════════════╗
║ Root_ID     ║ Root_Code ║ Child_ID ║ Child_Name ║
╠═════════════╬═══════════╬══════════╬════════════╣
║           1 ║ 1000      ║       22 ║  Name 1    ║
║           1 ║ 1000      ║       23 ║  Name 2    ║
║           1 ║ 1000      ║       24 ║  Name 3    ║
║           1 ║ 1000      ║       25 ║  Name 4    ║
║           2 ║ 1150      ║       67 ║  Name 5    ║
║           2 ║ 1150      ║       68 ║  Name 6    ║
║           2 ║ 1150      ║       69 ║  Name 7    ║
║           3 ║ 2019      ║       11 ║  Name 8    ║
║           3 ║ 2019      ║       12 ║  Name 9    ║
║           5 ║ 2010      ║       91 ║  Name 10   ║
║           5 ║ 2010      ║       92 ║  Name 11   ║
║           5 ║ 2010      ║       93 ║  Name 12   ║
║           5 ║ 2010      ║       94 ║  Name 13   ║
║           5 ║ 2010      ║       95 ║  Name 14   ║
║           5 ║ 2010      ║       96 ║  Name 15   ║
║           6 ║ 5010      ║       33 ║  Name 16   ║
╚═════════════╩═══════════╩══════════╩════════════╝

В моем измерении я хочу знать, что Root_ID (1) имеет значения Child_ID (22,23,24,25) и может ссылаться на это, используя сгенерированный ключ в измерении.

Имейте в виду, я никогда не смогу предсказать, сколько будет записей о детях, поэтому создание X колонок в моем измерении не вариант.

Я уверен, что разумное хранилище данных, чем я, знает, как это обычно обрабатывается.

Для иллюстрации желаемого результата:

Запись фактов (Dimension_Root_Key = 1)

Размер (ключ 1, имя 1, имя 2, имя 3, имя 4)

1 Ответ

0 голосов
/ 21 ноября 2018

Оказывается, я должен был изучить немного больше.Я изучил номенклатуру таблиц «Мост».

Зная, что у группы Кимбалла есть отличные демонстрации того, как достичь того, чего я хотел.Для дальнейшего чтения Соединительные таблицы

...