DM и иерархии - измерения для будущего использования - PullRequest
0 голосов
/ 06 апреля 2019

Моя самая первая марка, так что будь нежнее ..

Моделирование иерархии с помощью ERD следующим образом:

enter image description here

Ответы - мои факты. Все советы, которые я видел, указывают на создание одного измерения (скажем, dim_event) и денормализацию события, отдела и организации в это измерение:

enter image description here

Что если я ЗНАЮ, что в будущем будут факты / отчеты, основанные на аспекте Организации или аспекте Департамента, которые не связаны с этим конкретным фактом?

Для меня (из мира OLTP) имеет больше смысла создавать отдельные измерения для основных компонентов и привязывать их к факту. Таким образом, они могут быть повторно использованы как соответствующие измерения.

enter image description here

Таким образом, для любых обновляющихся атрибутов измерений будет одна dim-таблица; если бы у меня было все денормализовано, я мог бы иметь имя org в нескольких таблицах измерений.

- Обновление -

По запросу:

«Событие» - это электронная кампания, предназначенная для сбора данных ответов от определенного подмножества клиентов. Они входят в систему, и мы задаем им ряд вопросов и оцениваем ответы. «Ответ» - это набор баллов, которые мы генерируем по событию.

Таким образом, запись "события" может выглядеть следующим образом:
название: '2019 тестовое мероприятие'
отдел: 'финансы'

записи "ответа" выглядят примерно так:
событие: '2019 тестовое событие'
RetScore: 2190
balScore: 19,98

1 Ответ

0 голосов
/ 18 июня 2019

Если ваша организация и отдел тесно связаны (т. Е. Отдел подразумевает и организацию), их следует денормализовать и создать как единое измерение.Если отдел и организация не имеют иерархических отношений, это будут отдельные измерения.

Ваше событие, скорее всего, будет смутным (вырожденным) и фактом.Этот факт будет указывать на различные измерения, которые описывают Событие, и будет содержать информацию о том, что произошло на Событии (retScore, balScore).

Хороший способ определить, имеете ли вы дело с тусклым илиДело в том, чтобы спросить: «Что я знаю, прежде чем что-то случится?»Я ожидаю, что вы знаете, какие организации и депозиты доступны.Вы можете даже знать определенные типы повторяющихся событий (кровопролитие, ежегодный сбор средств), которые также могут быть отдельным измерением (тип события).Но у вас не будет никаких подробностей о конкретном мероприятии, HR Fundraiser 2019 (факт), пока оно не запланировано.

Измерение представляет возможности, но запись факта указывает, что что-то действительно происходит.Моя любимая аналогия для этого - меню ресторана против заказа ресторана.На пункты меню можно ссылаться, даже если они никогда не заказывались.Меню - это размер, порядок - факт.

Надеюсь, это поможет.

...