В версии Logus 2.4 для оптимизации работы существующих статистических отчётов и возможности предоставления пользователям средств бизнес-аналитики решений и OLAP разработано Хранилище данных.
Хранилище данных – отдельная структура, где данные представлены в удобном для построения отчётов виде. Хранилище позволяет оптимизировать скорость построения отчётов, их разработку и поддержку.
| Данные в базу хранилища выгружаются из основной базы данных Logus по расписанию (обычно один раз в сутки), то есть в базе данных хранилища находятся данные без учёта изменений после последней выгрузки в хранилище. Таким образом, данные в базе хранилища отстают от основной базы на одни сутки. |
Показатели во всех статистических отчетах хранилища всегда одинаковы, поскольку формируются они из одних и тех же данных хранилища. Таким образом обеспечивается сходимость всех показателей в разных отчетах.
В сетевых объектах при помощи хранилища можно строить отчетность по каждому отдельному объекту сети.
На данный момент на базе хранилища реализованы следующие статистические отчёты:
В рамках работы над отчётами хранилища логика расчётов была значительно переработана:
В новых статистических отчетах появилась возможность формировать их с разным Методом подсчета загрузки комнат: по номерам, по местам, смешанный.
| Метод подсчета загрузки | Описание |
|---|---|
| По комнатам/койкам (смешанный) | Метод аналогичен тому, что используется в старых статистических отчетах до перехода на Хранилище данных. При таком методе расчета для многокомпонентов учитывается количество основных мест, для всех остальных типов номеров 1. |
По комнатам | Подсчет ведется на уровне номеров, поэтому при группировке по типу номера в отчете даже не отображаются строки типов номеров-компонентов. Значения их атрибутов эскалируются до родительского многокомпонентного типа. Т.е. если бронь была сделана на многокомпонентный тип номера DBL - в колонке, например, Комнаты/Прож по строке с типом номера DBL она даст 1. Если же бронь была сделана на компонентный тип номера- койку DBL.K, то она даст 1 в родительском многокомпонентном типе DBL. Если будут сделаны две брони на компоненты одного многокомпонентного номера, то они дадут 1 в родительском типе, поскольку они обе в одном и том же номере. |
По койкам | При таком методе подсчета загрузки учитывается количество основных мест по всем типам номеров, а каждый компонент учитывается как 1. |
Изменения коснулись и логики некоторых отчетов
№ | Отчёт | Изменения / Отличия |
1 | Факт и прогноз загрузки |
|
2 | Отчет менеджера |
|
| Факт и Прогноз и др. отчеты | Теперь брони, заехавшие из незаезда, после проведения ночного аудита, учитываются своими показателями по плановой дате заезда, такую логику мы считаем более корректной. | |
3 | Загрузка за год | Отчёт Загрузка за год строится в разрезе месяцев за завершенные месяцы. |
4 | Загрузка за месяц | Отчёт Загрузка за месяц строится в разрезе дней за завершенные дни. |
5 | Доходы за период |
|
Благодаря хранилищу данных добавлены новые варианты группировки, а также второй уровень группировки в отчеты Факт и прогноз загрузки и Доходы за период. Теперь данные в этих отчетах возможно группировать :
На примере отчета Факт и прогноз загрузки можно рассмотреть как будут выведены данные в блоке КОМНАТЫ: Налич, Загр %, К прод при различных вариантах двух видов группировки.
Налич - есть/нет : можно ли при данной группировке вывести данные в колонку Наличие
Загр % - по строке/относительно группы/относительно Итого (если Наличие не рассчитано)
К прод - есть/нет: можно ли при данной группировке вывести данные в колонку К прод по строке и на уровне группировки верхнего уровня
| Группировка 2-го уровня | |||||||
| Отсутствует | По дате и по месяцам | По типу комнаты | По категории комнат | Тот же вариант, что и в Группировке 1-го уровня (кроме По дате, по месяцам, По типу комнаты, По категории комнаты) | Остальные варианты | ||
| Группировка 1-го уровня | По дате и по месяцам | Налич - есть Загр % - по строке К прод - есть | Налич - есть Загр % - по строке К прод - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - нет Загр % - относительно группы К прод - нет Налич группа - есть Загр группа - по строке К прод группа - есть | |
| По типу комнаты | Налич - есть Загр % - по строке К прод - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - есть Загр % - по строке К прод - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - нет Загр % - относительно группы К прод - нет Налич группа - есть Загр группа - по строке К прод группа - есть | ||
| По категории комнат | Налич - есть Загр % - по строке К прод - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - есть Загр % - по строке К прод - есть Налич группа - есть Загр группа - по строке К прод группа - есть | Налич - есть Загр % - по строке К прод - есть | Налич - нет Загр % - относительно группы К прод - нет Налич группа - есть Загр группа - по строке К прод группа - есть | ||
| Остальные варианты | Налич - нет Загр % - относительно Итого К прод - нет | Налич - нет Загр % - относительно Итого К прод - нет Налич группа - нет Загр группа - относительно Итого К прод группа - нет | Налич - нет Загр % - относительно Итого К прод - нет Налич группа - нет Загр группа - относительно Итого К прод группа - нет | Налич - нет Загр % - относительно Итого К прод - нет Налич группа - нет Загр группа - относительно Итого К прод группа - нет | Налич - нет Загр % - относительно Итого К прод - нет | Налич - нет К прод группа - нет | |
Например, рассмотрим какие будут показатели в отчете Факт и прогноз загрузки в случае двойной группировки
Налич - есть по строке на каждый тип комнаты
Загр % - по строке на каждый тип комнаты
К прод - есть на каждый тип комнаты
Налич группа - есть в строке с группировкой верхнего уровня по дате
Загр группа - по строке с группировкой верхнего уровня по дате
К прод группа - есть в строке с группировкой верхнего уровня по дате

Налич - нет в строке по тарифу
Загр % - считается относительно Наличия группы, т.е. 1150, т.к. Наличие по строке отсутствует
К прод - колонка на уровне строки тарифа не заполняется
Налич группа - есть, считаем наличие на группировке верхнего уровня по дате 1150
Загр группа - есть в строке группировки верхнего уровня по дате
К прод группа - есть в строке группировки верхнего уровня по дате

Налич - нет в строке по гео коду
Загр % - по строке рассчитывается относительно Итого
К прод - по строке не заполняется
Налич группа - в строке группировки верхнего уровня по тарифу не заполняется
Загр группа - загрузка по строке группировки верхнего уровня рассчитывается относительно Итого
К прод группа - на уровне группировки верхнего уровня не заполняется

При расчете показателей групповых броней учитываются следующие нюансы:

2. Если продолжительность контракта выходит за стандартное время выезда объекта, в бронях этого контракта получаем поздний выезд и в стоимость контракта включается соответственно стоимость этого позднего выезда. Но при расчете стоимости проживания за день по этому контракту в силу сложности вычислений, пренебрегаем тем, что существует такой отрезок позднего выезда и просто делим сумму по контракту на количество дней действия контракта. Из-за этого можем получить расхождение в стоимости дня проживания по контракту и стоимости дня проживания по брони.

3. При расчете загрузки с учетом квот групповых броней придерживаемся следующих правил:
Также при наступлении даты высвобождения блоков все показатели по квоте такой групповой брони не учитывается - все неиспользованные блоки освобождаются, комнаты к этому времени уже заняты созданными по контрактам индивидуальными бронями, а не блоками групповой брони.
Например, по контракту было выведено из наличия 5 номеров, а создано в итоге всего 3 брони. Если дата освобождения блоков еще не наступила, то получим следующую картину


То есть считаем только не занятые блоки по контактам, остальные 3 номера считаем занятые уже по созданным индивидуальным броням.
Если же наступила дата высвобождения блоков - то учитываем только номера, которые занимают индивидуальные брони из группы, т.е. считаем только 3 номера, в которые заедут инд.брони из группы.

