2013-02-24 2 views
1

Я разработал места, связанные со складскими столами - DimPlaces, FactPlaces, DimGeography. Если вы видите, это простой дизайн. Все местоположения находятся в DimPlaces (Addrline1, Addrline2, placename и т. Д.), А иерархия географии - в DimGeography (City, State, Country, PostCode). FactPlaces - таблица, в которой есть знаковые ключи к DimPlaces и DimGeography.SSAS - исторические данные измерений и фактов - таблица фактов сопоставления с таблицей размеров

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

Я нашел шаблон дизайна -

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

Не могли бы вы предложить, это ОК, чтобы следовать этому решению? Если да, мне нужно использовать KEY типа UNIQUEIDENTIFIER для уникального значения?

Другой вопрос по этому вопросу - у меня есть данные о сотрудниках (DimEmployee и FactEmployee). Каждый сотрудник связан с местами, где он работает. Как подключить эти ТАБЛИЦЫ РАБОТНИКОВ с ТАБЛИЦАМИ МЕСТА. Нужно ли подключать FACTEMPLOYEE с FACTPLACES?

ответ

0

Я думаю, что в первую очередь они имеют дело с бизнес-ключами? Поэтому, если ваша таблица измерений имеет две строки, суррогатный ключ 1 & 2, но оба они относятся к одной и той же вещи, так что у обоих есть AccountId/ProductId/WhateverId из 1, тогда у вас будут строки таблицы фактов с суррогатным ключом 1 и бизнес-ключом 1 и более поздние с суррогатным ключом 2 и бизнес-ключом 1.

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

Для вашего последнего вопроса - это действительно более отчетливая вещь. Вам нужно это сделать? Это то, что люди должны видеть, нужно ли им обрезать? Вы можете рассмотреть ссылочное измерение. Где таблица мест привязывается к таблицам фактов через placeId для измерения сотрудников. Или вы могли бы иметь таблицу factemployees с датами начала и окончания. Это зависит от того, что вам нужно достичь.

+0

Спасибо, Мефф, я согласен, уникальные идентификаторы очень широкие, не могли бы вы предложить, что такое другой способ получить уникальный идентификатор в столбце businesskey, отличном от столбца идентификатора. Я борюсь за это. –

+0

@ChrisChris, размер имеет суррогатный ключ, это тождество в таблице размеров. Бизнес-ключ - это идентификатор из исходной таблицы, поэтому, если ваша таблица является DimProduct, бизнес-ключ, вероятно, является столбцом Identity таблицы Product в исходной базе данных. У вашего источника таблицы размеров нет первичного ключа? – Meff