Два или более одинаковых подсчета на таблице фактов в многомерном моделировании - PullRequest
0 голосов
/ 21 сентября 2010

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

myfact
---------------
date_key
location_key
action_type_key

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

Теперь, кроме того, у меня также есть 2 счета для каждого факта, то есть количество людей, количество зданий.Между ними нет никакой связи.И я хотел бы спросить, сколько фактов имеет конкретное количество, например, сколько имеет 10 строений, сколько имеет 9 и т. Д.

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

  1. добавить счет в качестве справочной информации в таблицу фактов как people_count и building_count

  2. добавить измерение для каждого из них, в котором хранятся действительные параметры, например people dimension, в котором хранятся key и счет, и building dimension, в котором хранятся key и счет.Главный факт будет иметь people_key и building_key

  3. добавить одно измерение для подсчета, которое используется как для подсчета людей, так и для подсчета зданий, то есть count dimension, в котором хранится key и общий счет.Главный факт будет иметь people_count_key и building_count_key

1 Ответ

0 голосов
/ 26 марта 2013

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

Если бы это был я, я бы просто добавил значения в таблицу фактов, а не в другие таблицы.

...