Разработка таблицы фактов в sql-сервере 14. Должно быть довольно просто, но ..: Мне нужно проверить количество посещений в день/клиент/команду/статус. Помимо этого количества посещений, мне нужно отслеживать количество действий, совершаемых при каждом посещении.График фактической таблицы фактов
SELECT [VISITS_PK]
,[PERIOD_SK]
,[CLIENT_SK]
,[TEAM_SK]
,[STATUSS_SK]
,[ACTIONS_SK]
FROM [dbo].[FACT_VISITS]
Вернется
VISITS_PK PERIOD_SK CLIENT_SK TEAM_SK STATUSS_SK ACTIONS_SK
1 20160515 1 1 1 1
2 20160515 1 1 1 2
3 20160515 1 1 1 3
4 20160515 2 2 1 1
5 20160515 2 2 1 2
Резюме: 2 посещения сделано, 5 действия выполняются в общей сложности.
Отслеживание количества действий позволяет мне использовать COUNT, но если я не хочу принимать во внимание действия и просто видеть, сколько посещений я получил в целом, мне нужна другая таблица фактов с другим зерном? Я бы предпочел использовать одну таблицу фактов, поскольку количество посещений на самом деле просто более агрегировано.
Редактировать: Action_sk содержит ссылку на таблицу измерений с подробной информацией о выполненных действиях. первые 3 строки - это одно посещение с тремя действиями, две последние строки - одно посещение с двумя выполненными действиями.
Почему вы говорите, что образцы данных показывают два посещения, когда каждая строка имеет разные VISITS_PK? Это означает, что каждая строка отличается от другого посещения. –
Я отредактировал мое сообщение, первые 3 строки - одно посещение с 3 действиями, выполненными на клиенте, две последние строки - одно посещение с двумя выполненными действиями. –
Причина, по которой это называется VISITS_PK, состоит в том, что ядро этой таблицы должно было бы получать количество посещений, но количество действий, выполняемых при каждом посещении, также должно быть известно, хотя это не главный вопрос. Поэтому я думаю, что это плохое имя для вызова посещений таблицы и посещения_pk в качестве имени ключа, так как самый низкий уровень - это выполненные действия. –