Определение таблицы фактов в проекте хранилища данных

Я пытаюсь создать свою первую витрину данных с использованием звездообразной схемы из листа Excel, содержащего информацию о вызовах службы поддержки, этот лист содержит 33 поля, включая различную информацию, и я не могу идентифицировать таблицу фактов, потому что я хочу сделать отчетность позже на основе других KPI. Я хочу знать, как легко определить меры таблицы фактов, и у меня есть еще один вопрос: может ли таблица фактов содержать только внешние ключи измерений и никаких мер? Заранее спасибо, ребята, и извините за мой плохой английский.


person Zakaria Belghiti    schedule 14.07.2015    source источник


Ответы (2)


  1. У вас может быть несколько таблиц фактов.

  2. Таблица фактов представляет собой событие или процесс, которые вы хотите проанализировать.

  3. Структура таблиц фактов зависит от процесса или события, которое вы пытаетесь проанализировать.

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

Может ли таблица фактов содержать только внешние ключи измерений и не содержать мер?

да. Это называется не имеющая фактов таблица фактов.


Допустим, вы хотите провести базовый анализ звонков:

Ваша полная таблица может выглядеть так

CALL_ID
START_DATE
DURATION
AGENT_NAME
AGENT_TENURE    (how long worked for company)
CUSTOMER_NAME
CUSTOMER_TENURE (how long a customer)
PRODUCT_NAME    (the product the customer is calling about)
RESOLVED

Вы превратите это в таблицу фактов следующим образом:

CALL_ID
START_DATE_KEY
AGENT_KEY
CUSTOMER_KEY
PRODUCT_KEY
DURATION       (measure)
RESOLVED       (quasi-measure)

И у вас будет таблица измерений DATE, таблица измерений AGENT, таблица измерений CUSTOMER и таблица измерений PRODUCT.

Agile Data Warehouse Design - хорошая книга, поскольку Кимбалл.

person Neil McGuigan    schedule 14.07.2015
comment
Большое спасибо, у меня есть еще один вопрос: можем ли мы сохранить некоторые расчетные показатели в таблице фактов? - person Zakaria Belghiti; 15.07.2015
comment
Большое спасибо, ваш ответ был очень полезным - person Zakaria Belghiti; 15.07.2015

В общем, способ, которым я это сделал (и есть несколько способов сделать что-либо), заключается в том, что на категориальные данные ссылаются с помощью FKey в таблице фактов, но все, что вы хотите выполнить агрегирование (обычно как типы данных $ / integer / doubles и т. д.) также могут быть в таблице фактов. Так, например, таблица фактов может содержать иерархию типов, такую ​​как product_category >> product_name, и обычно также содержит поле времени и / или местоположения; на все это будет ссылаться FKEY в поисковой таблице. Столбцы меры обычно представляют собой целочисленные или денежные данные и используются в агрегатных функциях, сгруппированных по другим полям, например:

    select sum(measureOne) as sum, product_category from facttable
where timeCol between X and Y group by product_category...etc

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

person markgiaconia    schedule 14.07.2015
comment
Большое спасибо, у меня есть еще один вопрос: можем ли мы сохранить некоторые расчетные показатели в таблице фактов? - person Zakaria Belghiti; 15.07.2015