Возможности обратной записи (Write Back) в кубах MS SQL Server Analysis ServiceИсточник: habrahabr AntLogist
Сегодня все большую популярность завоевывают In-Memory BI решения. Кубы уже не в моде, их структура морально устарела, и хотя они довольно прилично масштабируются, требования к скорости работы современных BI систем значительно возросли. Тем не менее, многие компании до сих пор успешно используют аналитику, построенную на одном из OLAP-серверов (Microsoft, Oracle, Cognos, и др.). Мне, например, очень нравится Microsoft SQL Server Analysis Service, и я хотел бы рассказать, как в нем можно использовать немного необычную для аналитики функцию - обратную запись данных в источник (Write Back).
Постановка задачи.Необходимо вносить план продаж на год в разрезе месяца, товара и региона. При этом, необходимо видеть фактические данные текущего года и посчитанный тренд на следующий год, который менеджер и будет менять. Инструмент ввода данных должен быть удобным, он должен позволять накладывать фильтры и смотреть итоги по разным группировкам (в целом по регионам, товарам и периоду) и еще не требовать от пользователя много времени на свое изучение.
Решение.Будем использовать MS SQL Server 2008 R2 (Database Engine и Analysis Service) + Excel 2010. Создаем базу данных, несколько таблиц и заполняем их данными.
Скрипт создание БД и заполнения таблиц
Создаем куб. Активируем для партиции Write Back, указываем источник данных и таблицу. Обрабатываем куб.
Вот так таблица будет выглядеть в БД: Ничего не меняйте в ее структуре - может поломаться обратная запись. В эту таблицу будут попадать изменения, корректирующие начальное значение. Для получения реального значения, данные из этой таблицы нужно сложить с данными исходной таблицы. В качестве клиента используем Excel. До Excel версии 14.0 приходилось записывать данные с помощью макроса, или в версии 13.0 - надстройки (AddIn). Начиная с Excel 2010 возможность редактировать данные стала частью функционала. Поддерживается два режима записи данных: временная обратная запись (temporary writeback), также известная как Анализ Что Если (What If Analysis), и постоянная обратная запись (permanent writeback).
Посмотрим, что находится в нашей Write Back таблице в БД:
Заключение |