Как сообщить о редких областях таблицы фактических данных - PullRequest
1 голос
/ 10 октября 2011

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

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

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

Например, для 30 000 учеников и 188 учебных дней означает, что в год примерно 0,5 миллиона записей (если это не кажется достаточно большим, чтобы быть проблемой, рассмотрите пример, в котором посещаемость должна сообщаться за период а не за день). Сравните это с таблицей фактов, которая регистрирует только пропуски, а их число значительно меньше. Однако, если я сделаю это, то я не уверен, как создавать кубы, которые объединяют факты ежедневной посещаемости.

Конкретная технология OLAP - SQL Server Analysis Services 2008 R2. Есть мысли?

1 Ответ

1 голос
/ 27 июля 2012

Что, если вы использовали две таблицы фактов: одну для текущего периода (например, в прошлом месяце) и другую для исторических данных (просто запись отсутствия) - я полагаю, что пользователям (например, учителям) не нужна информация о посещаемости какого-то конкретного ученикавторого класса дня 5 месяцев назад, но им может понадобиться эта информация за последнюю неделю / месяц.

...