2015-04-28 4 views
0

Я пользуюсь услугами MS Analysis. У меня есть проект «Сотрудник». В этом измерении первоначально был только один атрибут - «Employee_NAME». Мне пришлось добавить еще один атрибут - Employee_NR.Размер участка в службах анализа

Проблема в том, что один сотрудник имеет 2 разных Employee_NR. Из-за этого, я получаю ошибки во время обработки куба.

Дополнительно «Employee_NAME» определяется как ключ.

То, что я пытался до сих пор: Я добавил новый атрибут «emp_id» и мой план был сделать этот атрибут ключа атрибута. Но когда я попытался сохранить изменения, я перехожу к ошибке, которая говорит что-то вроде соответствующего атрибута в кубе, определяется как WCHAR, а ключевой столбец измерения как INTEGER (как я уже упоминал, я пытался использовать EMP_ID в качестве ключевого столбца). Затем я хотел проверить, как размер соединяется с таблицами куба/факта. Я попытался открыть куб и представление источника данных. В обоих случаях таблица/представление, которое использует измерение Employee, не связано ни с какими другими таблицами - это «островная» таблица. (Я попытался щелкнуть правой кнопкой мыши по таблице и выбрать опцию «Показать связанные таблицы», и ни одна связанная таблица не показала).

Буду признателен за советы по решению этой проблемы.

UPDATE: Afer следуя инструкции из Джо Дугласа, я получил следующее сообщение об ошибке, когда я попытался сохранить изменения (я перевожу с немецкого, поэтому перевод может немного отличаться от точного сообщения об ошибке):

Размер Работник не может быть сохранен из-за следующих ошибок: Ошибка в диспетчере метаданных. Идентификатор свойства элемента «Emp ID 1» ​​в атрибуте Employee-Attribute не соответствует любому доступному атрибуту в измерении.

+0

Вы добавили Emp_ID в любую из других таблиц, которые необходимо связать с Employee? Если они ранее связывались с Employee_NAME, и теперь вы определили Emp_ID как ключ, они должны ссылаться на это. Обратите внимание, что наилучшей практикой всегда является использование идентификатора, такого как тот, который вы сделали для Employee в качестве ключа (эта концепция называется суррогатным ключом) именно по этой причине, поэтому вы можете сделать то же самое изменение для других таблиц для предотвращения неприятностей позже. –

+0

Что касается проблем с кубом, вам нужно отредактировать измерение куба, щелкните правой кнопкой мыши на Employee_NAME и установите «Использовать атрибут»> «Обычный». Затем вы можете добавить новый Emp_ID в качестве атрибута и использовать тот же метод, чтобы установить это как ключ (щелкните правой кнопкой мыши, установите атрибут использования> ключ). Как только вы вернетесь ко мне по вышеуказанному вопросу, я все это выдержу в правильный ответ, если он на правильном пути. –

+0

Я не понял, в чем проблема. @Adam - Не могли бы вы еще раз подчеркнуть вопрос? Если речь идет о одном Работнике, имеющем многозначный атрибут 'Employee_NR', то он становится проблемой дизайна базы данных. [Подробнее см. Здесь] (https://dwbi1.wordpress.com/2011/03/13/dimensions-with-multi-valued-attributes/). –

ответ

0

Я бы добавил в это измерение столбец Суррогатного ключа, а затем использовал его как «Ключ». Имя и NR станут просто атрибутами, которые могут с радостью иметь отношения «один к одному» или «один ко многим» с ключом.

Это изменение подразумевает, что вам понадобится логика поиска для ваших данных Measure Group/Fact, чтобы определить правильное значение ключа Surrogate для связывания каждой строки Fact.

Подводя итоги - Добро пожаловать в мир Dimensional Modeling! Я рекомендую Kimball Group стать лидерами мысли в этом пространстве - у них есть множество статей, курсов и книг, доступных со своего сайта: http://www.kimballgroup.com

Смежные вопросы