2009-06-15 7 views
0

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

У меня есть бизнес, который имеет десять магазинов, каждый с определенными сотрудниками. В моем хранилище данных есть измерение, представляющее хранилище. Измерение сотрудника - это SCD, столбец для начала/конца и хранилище, в котором работает сотрудник.

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

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

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

Любая помощь будет оценена по достоинству. У меня есть приложение AdventureWorksDW, установленное на моей машине, поэтому я могу использовать это как точку отсчета, если кто-то предлагает предложение, используя это.

Заранее благодарен!

+0

Вы используете SQL тогда? И это поможет, если вы разместите свои основные структуры таблиц. – Nick

ответ

1

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

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

+0

У меня есть естественный ключ на столе сотрудника.Самая большая проблема заключается в получении количества сотрудников для определенной бизнес-единицы за определенный период времени при запросе на куб. Если требуется схема, пожалуйста, дайте мне знать, и я отправлю что-нибудь – bdowden

0

Добавить таблицу фактов для количества сотрудников в каждом магазине за каждый месяц - вы можете использовать максимальное количество за месяц. Затем средние месяцы за год используют это как «количество сотрудников в год».

Загрузите новую таблицу фактов в конце каждого месяца. Новая таблица будет выглядеть следующим образом:

таблица фактов: EmployeeCount

KeyEmployeeCount Int - суррогатный ключ

ключевая дата Int - FK на сегодняшний день измерения, указывают на последний день месяца

KeyStore Int - FK для хранения измерения

NumberOfEmployes Int - (макс) численность работников за месяц в данном магазине

Если вам нужно более точное разрешение, используйте «в неделю» или даже «в день». Основная идея состоит в том, чтобы усреднить показатель NumberOfEmployes для данного хранилища в течение года.

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

  • Нет связанных вопросов^_^