Могу ли я иметь коды без мер, смешанные с мерами в моей таблице фактов? - PullRequest
0 голосов
/ 29 сентября 2008

Мы делаем сложный процесс накопления данных. Наш клиент отправляет нам некоторые вещи, которые включают в себя два измерения (время и бизнес-единица). Время в основном год-месяц. Измерение бизнес-единицы имеет всего несколько атрибутов: имя и несколько категорий, к которым БУ могут принадлежать для целей отчетности и анализа.

Материал, который они нам присылают, содержит информацию о текущем состоянии (даты и коды). Это похоже на факт. Они также отправляют некоторую информацию, которая характеризует отношения с бизнес-единицей (в основном дополнительные коды). Опять же, они уникальны для бизнес-единицы и периода времени.

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

Должен ли я объединить эту качественную информацию в одной таблице фактов с аддитивными фактами? Или я должен отделить качественный материал (который можно использовать только с количеством) от количественного материала (который можно использовать с суммой)?

Ответы [ 3 ]

3 голосов
/ 30 сентября 2008

Помещайте вещи в таблицу фактов только в том случае, если они вырождены (что вызывает проблемы с высокой кардинальностью / уникальностью в вашем измерении, когда оно переводит измерение в соотношение 1-1 к таблице фактов). Кимбалл рекомендует избегать соблазна помещать что-либо, кроме вырожденных измерений, в факты (например, уникальный номер заказа).

Вы всегда можете поместить их в то, что Кимбалл называет «мусорным» измерением. Все эти коды могут быть просто объединены в мусорное измерение. Большинство дат будут добавлены в таблицу фактов в качестве ключей к измерению даты в определенной роли (обычно с натуральным целым ключом в форме ГГГГММДД - один из тех случаев, когда мы не используем бессмысленный суррогатный ключ без идентификатора)

Мне нравится наивно рассматривать звезду как все факты, а затем, какие столбцы входят в какие измерения, просто определяется удобством. Не обязательно рассматривать их как соответствующие определенному бизнес-объекту - помните, звезда не является нормализованной базой данных OLTP в стиле ERD.

3 голосов
/ 29 сентября 2008

Если данные напрямую связаны с аддитивным фактом и не являются тем, что вы хотите группировать / сортировать / искать, тогда поместить их в таблицу фактов можно.

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

2 голосов
/ 07 октября 2008

Брэд Уилсон точно описывает риск добавления их в вашу таблицу фактов. Раньше я добавлял нежелательные атрибуты в свою таблицу фактов только для того, чтобы позже потребовать рефакторинга.

Материал, который они нам присылают, включает в себя информация о текущем состоянии (даты и коды). Это похоже на факт. Oни также отправить некоторую информацию, которая характеризует отношения с бизнес-единица (в основном дополнительная коды). Опять же, они уникальны для бизнес-единица и период времени.

Какой деловой цели служат даты? Необязательно, я бы порекомендовал сделать их собственными размерами и точно описать их.

Насколько изменчивы дополнительные коды, которые входят? Если в таблице фактов есть дата и BU, почему они не могут быть включены в измерение BU и рассматриваться как медленно меняющиеся атрибуты?

Без подробностей я не могу дать твердую рекомендацию, но это были бы первые вопросы, которые я сам себе задаю.

...