Таблица фактов с данными без измерений - PullRequest
0 голосов
/ 01 марта 2019

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

Может ли это поле описания находиться в таблице фактов и считаться вырожденным измерением?

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

Model

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

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

Хранение комментариев в измерении имеет смысл только , если комментарии структурированы (т. Е. Если они стандартизированы и эффективно имеют отношения 1: M с записями фактов).Если они хранятся в виде свободного текста и, таким образом, имеют отношения 1: 1 с фактами, то преобразование их в измерение является большой ошибкой - в результате вы получите измерение, столь же высокое, как таблица фактов.В правильном дизайне размеры широки и коротки, а таблицы фактов узкие и высокие.Высокие размеры являются проблемой, потому что они очень дороги с точки зрения производительности.

Их также сложно использовать.Допустим, вы используете инструмент отчетности, такой как PowerBI.Если вы храните свой свободный текст как вырожденное измерение в таблице фактов, его легко и интуитивно использовать - я могу написать что-то вроде:

Reason for Absence = SELECTEDVALUE( Fact[Description])

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

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

0 голосов
/ 01 марта 2019

Нет, описательные текстовые столбцы не должны включаться в таблицы фактов.Вместо этого этот столбец должен быть включен в измерение.

Если вы хотите составить отчет по тегам (ключевым словам), я бы создал измерение для этих тегов и проанализировал описание, чтобы найти соответствующий тег для сопоставления с фактом.Например, я вижу 2 тега из описаний (похоронные и больные).Я бы создал измерение DimAbsentReason, которое будет содержать эти теги.

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

...