MOLAP и ROLAP кубы с примерами

Начнём с терминологии. MOLAP — multidimensional online analytical processing. ROLAP — relational online analytical processing.

Что такое кубы OLAP

Говоря обычным языком OLAP куб, а поточнее его разновидности, это механизм работы BI слоя с информацией из базы данных. Давайте разглядим порядок работы с различными видами этих кубов. Допустим, у нас имеется база данных в которую загружены характеристики с различных источников — реклама, реализации, crm, склад, логистика и т.д.

Что такое MOLAP куб?

При MOLAP (multidimensional online analytical processing) мы подключаемся к БД и выгружаем весь массив значений в кеш. Почаще всего это делают в Excel — ибо удобнее. И за счёт ресурсов компа работают со всем сиим большим количеством инфы. Коротко можно именовать MOLAP кешированием всего размера данных.

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

Про значимость доступа к сырым данным для маркетолога я писал здесь.

Пример огромного количества отчётов на базе MOLAP куба в Excel

В мировой практике от таковых кубов равномерно отрешаются за счет их «вычислительных» аппетитов.

Что такое ROLAP куб?

ROLAP куб (relational online analytical processing) лицезрели все, кто хоть раз работали с Power BI либо иными схожими инструментами. В данном кубе юзер производя деяния в дашборде (фильтры, сортировка и т.д.) автоматом посылает в базу данных SQL запросы. В ответ база данных сформировывает информацию и посылает её в кеш. Юзер работает лишь с частицей всей БД через кеш. Это и есть ROLAP куб, лежащий в БД.

ROLAP кубы сейчас в тренде.

Но в моей практике, как маркетолога в агентстве, работа через ROLAP кубы по большей части невозможна, т.к. клиентская БД обычно закрыта для доступа, так как в ней лежит всё попорядку. И остаётся подключать Excel через MOLAP к отдельным вьюхам и работать с этими данными.

Работа с OLAP-системой Microsoft SQL Server Analysis Services с помощью наружных источников данных в «1С:Предприятии 8.3.5»
(бесплатная статья по Программированию в 1С)

В статье рассмотрена разработка OLAP в части использовании ее как наружный источник данных для платформы «1С:Предприятие» редакции 8.3.5. Прочитав статью вы узнаете:

  • Что такое разработка OLAP и какие средства есть в платформе для работе с ней?
  • Как опубликовать куб OLAP SQL Server при помощи Internet Information Service (IIS) и обращаться к нему из Excel?
  • Как обратиться к кубу OLAP из системы «1С:Предприятие»?

Применимость

В статье употребляется Microsoft SQL Server 2008 R2, работающий под управлением Windows Server 2008 R2 и платформа «1С:Предприятие» редакции 8.3.5. Материал животрепещущ и для текущих релизов платформы.

Работа с OLAP-системой Microsoft SQL Server Analysis Services с помощью наружных источников данных в «1С:Предприятии 8.3.5»

В предшествующей статье ( Запись во наружные источники данных в «1С:Предприятие 8» ) мы познакомились с функционалом записи во наружные источники данных с помощью платформы 8.3.5.823.

Сейчас мы остановимся на очередной весьма увлекательной способности работы с наружными источниками данных – взаимодействие с OLAP.

OLAP (от англ. online analytical processing – аналитическая обработка в настоящем времени) – разработка обработки данных, заключающаяся в подготовке суммарной (агрегированной) инфы на базе огромных массивов данных, структурированных по многомерному принципу.

Данные в OLAP-системах формируются на основании данных OLTP-систем. OLAP-системы предусмотрены для резвой подборки сложных многомерных данных, которые в OLTP-системах из-за сложной табличной структуры базы данных будут производиться медлительно.

Интересно почитать:  Поиск максимального значения в excel

Для обеспечения скорости получения данных OLAP-системы употребляют специальную структуру хранения данных, именуемую кубом.

Куб (cube) можно представить в виде места, оси которого представляют собой измерения (dimensions), а в узлах этого места размещаются некие меры (measures). Каждое измерение куба характеризуется определенными членами (members) измерения.

Куб - структура хранения данных OLAP-системы

Можно провести аналогию меж OLAP-кубом и регистром скопления. Измерение регистра схоже с измерением куба, значения измерения регистра соответствует членам измерения куба, а ресурс регистра представляет меру куба.

OLAP-куб схож с регистром накопления

Разглядим, как устроен куб OLAP-системы в «1С:Предприятии». Куб состоит из таблиц измерений, измерений и ресурсов.

Таблицы измерений обрисовывают набор членов измерений куба. Измерения объекта метаданных соответствуют измерениям куба в OLAP-системе.

Меры куба в платформе реализованы ресурсами, которые могут принимать значения типа Число и Строчка.

Кубы в платформе

Для работы с многомерными наружными источниками данных употребляется механизм XMLA (XML for Analysis). Платформа получает доступ к данным при помощи HTTP-запросов к веб-серверу.

Разглядим пример. Подключимся из информационной базы «1С:Предприятие» к Microsoft Analysis Services. Все деяния производятся на СУБД Microsoft SQL Server 2008 R2 под управлением операционной системы Windows Server 2008 R2.

Для начала убедимся, что служба Microsoft SQL Server Analysis Services запущена. Проверяем это в Диспетчере конфигурации SQL Server:

 Диспетчер конфигурации SQL Server

Для тестов загрузим тестовую базу данных AdventureWorks и приготовленный куб с сервера http://msftdbprodsamples.codeplex.com/releases/view/59211.

Присоединим загруженные базы формата MDF с помощью SQL Management Studio:

Дальше подключившись к серверу Analysis Services мы восстанавливаем базу данных из файла Adventure Works DW 2008R2.abf:

Восстановление базы

Опосля окончания загрузки проверяем работоспособность куба Adventure Works. Щелкаем по нему правой клавишей мыши и избираем Обзор.

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

Analysis Services для работы по HTTP требуется IIS. Означает, последующей нашей задачей будет развертывание веб-сервера IIS. С помощью Диспетчера сервера устанавливаем роль Интернет-сервер (IIS) со последующими службами ролей:

Служба ролей

Опосля установки служба веб-сервера может останавливаться с ошибкой:

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

Поиск в вебе (http://technet.microsoft.com/en-us/library/cc734935%28v=ws.10%29.aspx) дал подсказку решение данной для нас трудности: не была сотворена папка %SystemDrive%inetpubtempappPools.

Опосля сотворения папки вручную и установки нужных прав служба веб-сервера запускается размеренно.

Копируем в новейшую папку c:inetpubOLAP_HTTP содержимое каталога c:Program FilesMicrosoft SQL ServerMSAS10_50.MSSQLSERVEROLAPbinisapi.

Последующие опции исполняем с помощью Диспетчера служб IIS. Избираем пункт Ограничения ISAPI и CGI.

Диспетчер служб IIS

Добавляем новое ограничение, указываем путь к файлу в нашем новеньком каталоге C:inetpubOLAP_HTTPmsmdpump.dll.

Добавляем новейший пул приложений, которому присваиваем имя MSOLAP:

В диспетчере служб IIS в дереве разворачиваем пункт Веб-сайты, в строке Default Web Site с помощью правой клавиши мыши добавляем приложение с именованием MSOLAP:

Для показавшегося приложения заходим в пункт Сравнение обработчиков и избираем Добавить сравнение сценария:

Дальше нужно настроить аутентификацию. В разделе Проверка подлинности включаем настройку Анонимная проверка подлинности, все другие методы аутентификации отключаем.

Попробуем подключиться к службам аналитики SQL Server из Excel:

Подключение к SQL Server из Excel

В строке соединения указываем http://localhost/msolap/msmdpump.dll. Имя юзера и пароль оставляем пустыми, так как была настроена анонимная проверка подлинности.

Подключение происходит удачно, избираем куб Adventure Works для подключения:

Подключаем куб Adventure Works

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

А в Excel можно выстроить сводную таблицу по данным избранного куба.

Интересно почитать:  Изменить регистр в excel

Если открыть сохраненный файл подключения в Блокноте, то можно узреть атрибут ConnectionString:

В конфигураторе добавляем новейший наружный источник данных, в него добавляем новейший куб.

Заполняем строчку подключения на основании обозначенного выше фрагмента файла подключения:

http://localhost:80/msolap/msmdpump.dll?Provider=MSOLAP.4;Integrated
Security=SSPI;Persist Security Info=True;Initial Catalog=Adventure Works DW 2008R2

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

Конструктор кубов внешнего источника данных

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

Напишем отчет на СКД, базирующийся на запросе к загруженному кубу:

ВЫБРАТЬ
Adventure_Works.Product_Category_Category,
Adventure_Works.Customer_Customer_Customer,
Adventure_Works.Internet_Sales_Amount
ИЗ
ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Куб.Adventure_Works КАК Adventure_Works

Определим один ресурс – Internet_Sales_Amount.

При выполнении отчета в пользовательском режиме получим последующий итог:

Отчет OLAP

Сравним приобретенные итоги с аналогичным, сформированным в SQL Server Analysis Services:

Также формируем сводную таблицу в Excel:

Как лицезреем, результаты вышли схожими.

PDF-версия статьи для участников группы ВКонтакте

Если Вы еще не вступили в группу – сделайте это на данный момент и в блоке ниже (на данной для нас страничке) покажутся ссылка на скачка материалов.

Рубрика «olap-кубы»

Как понятно, из коробки Excel не дозволяет устанавливать фильтры по списку значений для сводных таблиц, а это ведь таковая подходящая вещь! Как отфильтровать продукты по сотке кодов, а позже по иной сотке? Есть, естественно, методы, но все это не то…

Либо, к примеру, установить для куба фильтр по измерению с датами, но не проставлять галочки на любом деньке/месяце/годе, а задать спектр С… ПО (то есть программное обеспечение — комплект программ для компьютеров и вычислительных устройств) . .

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

Мы запилили на VBA расширение, добавляющее на ленту панель Инструменты куба с магическими кнопками.

Читать на сто процентов »

Отличие DAX и MDX

Меня нередко спрашивают о главных различиях DAX и MDX либо в целом о различии табличной и многомерной модели.

Исходя из убеждений выражения либо языка запросов, одно из более принципиальных различий лежит во внутренней базе обоих подходов.

В кубе, для адресации ячейки в пространстве, у нас есть понятие кортежа. Ось в кортеже устанавливает координаты. Если у нас есть единственный кортеж, то итог — содержание соответственной ячейки в кубе. Так как у атрибутов куба есть элемент All, который служит значением по дефлоту (в большинстве случаев), если атрибут не был включен в кортеж, то мы исполняем агрегацию также, как если б он там был. К примеру, последующий кортеж возвращает (агрегированный) размер продаж за 2013 год

Визуализация данных Ensemble Workflow при помощи InterSystems DeepSee

DeepSeeWeb

При автоматизации бизнес-процессов компании часть задач всё равно должен делать человек: это согласование различной инфы, обогащение данных из аналоговых источников и почти все другое. В интеграционной шине InterSystems Ensemble для решения данного класса задач есть подсистема Ensemble Workflow, позволяющая людям участвовать в автоматических бизнес-процессах. В итоге работы подсистемы Ensemble Workflow скапливается большенный объём инфы о том кто и сколько делал поставленные задачки. В данной для нас статье с внедрением BI-технологии InterSystems DeepSee, про которую я не так давно уже писал на Хабре мы проанализируем и визуализируем эту информацию.Читать на сто процентов »

Опыт решения трудности созданием OLAP-куба, используя С#

Предыстория

Желал бы поделиться своим маленьким опытом, который я заполучил на работе в одном муниципальном учреждении. Как я туда попал — не принципиально, но это принципиально знать, т.к. это налагает свою специфику на условия, в которых приходилось решать поставленную задачку. Стоит так же отметить, что главные мои познания и скудный опыт в программировании относятся к .Net технологиям.

Интересно почитать:  Прописью цифры эксель

Описание задачки: существует и по сей денек сделанная лет 10 вспять информационная система, которая собирает отчетную информацию, по различным, временами изменяющимся статистическим показателям, от различных филиалов организации по региону. Инфраструктура информационного взаимодействия системы указана на рисунке ниже. Характеристики в DW описаны неявно.

image

Читать на сто процентов »

BI: неувязка выбора решения и пример 1-го провала

В данной для нас статье желаю поведать о том, как изменялась система отчетности в одной немаленькой компании, какие продукты удалось сопоставить в настоящих критериях (грозных реалиях взаимодействия с нашими управленцами) и почему провалилось внедрение достаточно комфортной и прекрасной BI-системы.
Читать на сто процентов »

Способности оборотной записи (Write Back) в кубах MS SQL Server Analysis Service

Сейчас все огромную популярность завоевывают In-Memory BI решения. Кубы уже не в моде, их структура морально устарела, и хотя они достаточно благопристойно масштабируются, требования к скорости работы современных BI систем существенно возросли. Тем не наименее, почти все компании до сего времени удачно употребляют аналитику, построенную на одном из OLAP-серверов (Microsoft, Oracle, Cognos, и др.). Мне, к примеру, весьма нравится Microsoft SQL Server Analysis Service, и я желал бы поведать, как в нем можно употреблять незначительно необыкновенную для аналитики функцию – оборотную запись данных в источник (Write Back).

Создание OLAP куба в MS SQL Server 2012

Пригодилось мне употреблять для анализа данных OLAP кубы. Эту технологию я интенсивно изучал и употреблял в 2001-2002 годах и даже сертифицировался по ней. Но позже длительное время не прикасался к ней. И вот совершенно не так давно попробовал пользоваться 2012 SQL Server’ом, но не здесь то было: почти все и того что возникло в новеньком сервере оказалось мне совсем не знакомым.

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

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

Связь многие-ко-многим, OLAP и MS SQL Server Analysis Services

Связь почти все ко почти всем и MS SQL Server Analysis Services

Данный пост я желаю предназначить таковой, как выяснилось, легкой дилемме, как обработка OLAP-кубом связей многие-ко-многим при помощи MS SQL Server Analysis Services.
Читать на сто процентов »

6 практических советов для начинающих при построении обычного BI-решения

Данной статьей хотелось бы показать шаги и предложить некие советы в процессе сотворения BI-решения с внедрением фактически всего стека BI компании Microsoft. В разработке BI-решения будут применены SQL Server, SQL Service Integration Services, SQL Server Analysis Services.

Для примера мы избрали разработку нашей компании RetailIQ — BI-систему глубочайшего анализа чеков розничных продаж, поставок и складских припасов для сети аптек. Для общего осознания контекста темы: все данные выгружаются из учетных систем (1С, М-Аптека и т.д.), верифицируются, складываются в специальную базу данных с следующим построением многомерных OLAP-кубов. Из источников (учетных систем) при помощи ETL мы перекачиваем данные в хранилище, на базе которого строим куб, о котором далее речь пойдет.

Ссылка на основную публикацию
Adblock
detector