Функции программы microsoft analysis services. Связь многие-ко-многим, OLAP и MS SQL Server Analysis Services. Режимы размерного хранения

Функции программы microsoft analysis services. Связь многие-ко-многим, OLAP и MS SQL Server Analysis Services. Режимы размерного хранения

14.03.2019
Первый выпуск

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Аппаратная платформа

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Последняя версия Кандидат в релизы

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Бета-версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Альфа-версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Тестовая версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Читаемые форматы файлов

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Создаваемые форматы файлов

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Состояние

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Лицензия Сайт Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field "wikibase" (a nil value).

Microsoft Analysis Services (Службы анализа от Microsoft) - часть Microsoft SQL Server , системы управления базами данных (СУБД). Microsoft включила набор служб в SQL Server, связанных с бизнес-анализом и хранением данных . Эти службы включают в себя службы интеграции (Integration Services) и службы анализа (Analysis Services). Analysis Services, в свою очередь, включают в себя набор средств для работы с OLAP и интеллектуальным анализом данных .

История

Хронология

Ниже перечисляются главные события в истории Microsoft Analysis Services, охватывающие период с 1996 года.

События Microsoft Analysis Services
Дата Событие
1996-07-01 Microsoft набирает новую команду разработчиков для создания OLAP-продукта под кодовым именем Plato (перестановка букв аббревиатуры OLAP)
1996-07-15 Делегация Panorama Software встречается с представителями Microsoft
1996-10-27 Microsoft объявляет о приобретении команды разработчиков Panorama Software
1998-11 Выходит OLAP Services 7.0 (кодовое имя Sphinx)
2000-08 Выходит Analysis Services 2000 (кодовое имя Shiloh)
2001-11 Выходит XML for Analysis SDK 1.0
2003-04 Выходит ADOMD.NET and XML for Analysis SDK 1.1
2005-10-28 Выходит Analysis Services 2005 (кодовое имя Yukon)
2008-08-06 Выходит Analysis Services 2008 (кодовое имя Katmai)

Режимы хранения

Microsoft Analysis Services занимает нейтральную позицию в споре MOLAP против ROLAP , разгорающемся вокруг OLAP-продуктов. Благодаря этому можно использовать все виды MOLAP , ROLAP и HOLAP внутри одной модели.

Режимы раздельного хранения

  • MOLAP - Multidimensional OLAP (многомерный OLAP) - Обрабатываются сами данные и их обработки, сохраняются и индексируются при помощи специального формата, оптимизированного под многомерные данные.
  • ROLAP - Relational OLAP (реляционный OLAP) - Данные и их обработки остаются в реляционном источнике данных, устраняется необходимость в специальной обработке.
  • HOLAP - Hybrid OLAP (гибридный OLAP) - этот режим использует реляционный источник данных для хранения самих данных, но предварительные обработки и индексы хранятся в специальном формате, оптимизированном для многомерных данных.

Режимы размерного хранения

  • MOLAP - атрибуты размерности и иерархии обрабатываются и хранятся в специальном формате
  • ROLAP - атрибуты размерности не обрабатываются и остаются в реляционном источнике данных. Разделы, измеряемые размерностью ROLAP, также должны быть в режиме ROLAP.

Программные интерфейсы и объектные модели

Microsoft Analysis Services поддерживает различные наборы программных интерфейсов (API) и объектных моделей для различных операций в различных программных средах.

Извлечение данных

  • XML for Analysis - API нижайшего уровня. Может быть использован на любой платформе и с любым языком программирования, поддерживающим HTTP и XML
  • OLE DB for OLAP - Расширение OLEDB . Основан на COM и предназначен для использования в Си /C++ -программах на Windows -платформе.
  • ADOMD - Расширение ADO . Основан на COM Windows -платформе.
  • ADOMD.NET - Расширение ADO.NET . Основан на .NET управляемого кода на CLR -платформах.

Администрирование и управление

  • DSO - Для AS 2000. Основан на COM Automation и предназначен для -программ на Windows -платформе.
  • AMO - Для AS 2005. Основан на .NET -технологии и предназначен для программ, написанных с использованием управляемого кода на CLR -платформах.

Языки запросов

Microsoft Analysis Services поддерживает следующие языки запросов:

Data Definition Language (DDL)

DDL (язык определения данных) в Analysis Services основан на XML и поддерживает такие команды как , , , И т.д.. Для моделей импорта и экспорта интеллектуального анализа данных также поддерживается PMML .

Data Manipulation Language (DML)

  • MDX - для запроса OLAP-кубов многомерной модели
  • DAX - для запроса OLAP-кубов табличной модели (D ata A nalysis eX pressions, PowerPivot)
  • SQL - ограниченное подмножество SQL-инструкций для запроса OLAP-кубов и обработки размерности как таблиц
  • DMX - для запроса моделей интеллектуального анализа данных

Напишите отзыв о статье "Microsoft Analysis Services"

Примечания

Литература

  • Сивакумар Харинатх, Мэтт Кэррол и др. Microsoft SQL Server Analysis Services 2008 и MDX для профессионалов = Professional Microsoft SQL Server Analysis Services 2008 with MDX. - М .: «Диалектика» , 2010. - С. 1072. - ISBN 978-5-8459-1636-5.
  • Sivakumar Harinath, Stephen Quinn: Professional SQL Server Analysis Services 2005 with MDX . ISBN 0-7645-7918-5
  • Teo Lachev: Applied Microsoft Analysis Services 2005: And Microsoft Business Intelligence Platform . ISBN 0-9766353-0-5
  • Reed Jacobson: Microsoft(r) SQL Server(tm) 2000 Analysis Services Step by Step . ISBN 0-7356-0904-7
  • Claude Seidman: Data Mining with Microsoft SQL Server 2000 Technical Reference."" ISBN 0-7356-1271-4
  • George Spofford: MDX-Solutions . Wiley, 2001, ISBN 0-471-40046-7
  • Mosha Pasumansky, Mark Whitehorn, Rob Zare: Fast Track to MDX . ISBN 1-84628-174-1
  • ZhaoHui Tang, Jamie MacLennan: Data Mining with SQL Server 2005 . ISBN 0-471-46261-6
  • Edward Melomed, Irina Gorbach, Alexander Berger, Py Bateman: Microsoft SQL Server 2005 Analysis Services . ISBN 0-672-32782-1

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)

Отрывок, характеризующий Microsoft Analysis Services

Они остановились в маленьком городке Алитус (чтобы не слишком дорого приходилось платить за жильё, так как финансово, к сожалению, им в то время было довольно тяжело). И вот, пока они «осматривались по сторонам», даже не почувствовали, как были полностью очарованы красотой природы, уютом маленького городка и теплом людей, что уже само по себе как бы приглашало хотя бы на время остаться.

А также, несмотря на то, что в то время Литва уже была под пятой «коричневой чумы», она всё же ещё каким-то образом сохраняла свой независимый и воинственный дух, который не успели вышибить из неё даже самые ярые служители коммунизма... И это притягивало Серёгиных даже больше, чем красота местной природы или гостеприимство людей. Вот они и решили остаться «на время»… что получилось – навсегда… Это был уже 1942 год. И Серёгины с сожалением наблюдали, как «коричневый» осьминог национал-социализма всё крепче и крепче сжимал своими щупальцами страну, которая им так полюбилась... Перейдя линию фронта, они надеялись, что из Литвы смогут добраться до Франции. Но и при «коричневой чуме» дверь в «большой мир» для Серёгиных (и, естественно, для моего папы) оказалась закрытой и на этот раз навсегда… Но жизнь продолжалась... И Серёгины начали понемногу устраиваться на своём новом месте пребывания. Им заново приходилось искать работу, чтобы иметь какие-то средства для существования. Но сделать это оказалось не так уж сложно – желающим работать в трудолюбивой Литве всегда находилось место. Поэтому, очень скоро жизнь потекла по привычному им руслу и казалось – снова всё было спокойно и хорошо...
Мой папа начал «временно» ходить в русскую школу (русские и польские школы в Литве не являлись редкостью), которая ему очень понравилась и он категорически не хотел её бросать, потому что постоянные скитания и смена школ влияла на его учёбу и, что ещё важнее – не позволяла завести настоящих друзей, без которых любому нормальному мальчишке очень тяжело было существовать. Мой дедушка нашёл неплохую работу и имел возможность по выходным хоть как-то «отводить душу» в своём обожаемом окружном лесу.

А моя бабушка в то время имела на руках своего маленького новорождённого сынишку и мечтала хотя бы короткое время никуда не двигаться, так как физически чувствовала себя не слишком хорошо и была так же, как и вся её семья, уставшей от постоянных скитаний. Незаметно прошло несколько лет. Война давно кончилась, и жизнь становилась более нормальной во всех отношениях. Мой папа учился всё время на отлично и учителя порочили ему золотую медаль (которую он и получил, окончив ту же самую школу).
Моя бабушка спокойно растила своего маленького сына, а дедушка наконец-то обрёл свою давнишнюю мечту – возможность каждый день «с головой окунаться» в так полюбившийся ему алитуский лес.
Таким образом, все были более или менее счастливы и пока что никому не хотелось покидать этот поистине «божий уголок» и опять пускаться странствовать по большим дорогам. Они решили дать возможность папе закончить так полюбившуюся ему школу, а маленькому бабушкиному сыну Валерию дать возможность как можно больше подрасти, чтобы было легче пускаться в длинное путешествие.
Но незаметно бежали дни, проходили месяцы, заменяясь годами, а Серёгины всё ещё жили на том же самом месте, как бы позабыв о всех своих обещаниях, что, конечно же, не было правдой, а просто помогало свыкнутся с мыслью, что возможно им не удастся выполнить данное княжне Елене слово уже никогда... Все Сибирские ужасы были далеко позади, жизнь стала каждодневно привычной, и Серёгиным иногда казалось, что этого возможно и не было никогда, как будто оно приснилось в каком-то давно забытом, кошмарном сне...

Василий рос и мужал, становясь красивым молодым человеком, и его приёмной матери уже всё чаще казалось, что это её родной сын, так как она по-настоящему очень его любила и, как говорится, не чаяла в нём души. Мой папа звал её матерью, так как правды о своём рождении он пока ещё (по общему договору) не знал, и в ответ любил её так же сильно, как любил бы свою настоящую мать. Это касалось также и дедушки, которого он звал своим отцом, и также искренне, от всей души любил.
Так всё вроде понемногу налаживалось и только иногда проскальзывающие разговоры о далёкой Франции становились всё реже и реже, пока в один прекрасный день не прекратились совсем. Надежды добраться туда никакой не было, и Серёгины видимо решили, что будет лучше, если эту рану никто не станет больше бередить...
Мой папа в то время уже закончил школу, как ему и пророчили – с золотой медалью и поступил заочно в литературный институт. Чтобы помочь семье, он работал в газете «Известия» журналистом, а в свободное от работы время начинал писать пьесы для Русского драматического театра в Литве.

Всё вроде бы было хорошо, кроме одной, весьма болезненной проблемы – так как папа был великолепным оратором (на что у него и вправду, уже по моей памяти, был очень большой талант!), то его не оставлял в покое комитет комсомола нашего городка, желая заполучить его своим секретарём. Папа противился изо всех сил, так как (даже не зная о своём прошлом, о котором Серёгины пока решили ему не говорить) он всей душой ненавидел революцию и коммунизм, со всеми вытекающими из этих «учений» последствиями, и никаких «симпатий» к оным не питал... В школе он, естественно, был пионером и комсомольцем, так как без этого невозможно было в те времена мечтать о поступлении в какой-либо институт, но дальше этого он категорически идти не хотел. А также, был ещё один факт, который приводил папу в настоящий ужас – это участие в карательных экспедициях на, так называемых, «лесных братьев», которые были не кем-то иным, как просто такими же молодыми, как папа, парнями «раскулаченных» родителей, которые прятались в лесах, чтобы не быть увезёнными в далёкую и сильно их пугавшую Сибирь.
За несколько лет после пришествия Советской власти, в Литве не осталось семьи, из которой не был бы увезён в Сибирь хотя бы один человек, а очень часто увозилась и вся семья.
Литва была маленькой, но очень богатой страной, с великолепным хозяйством и огромными фермами, хозяева которых в советские времена стали называться «кулаками», и та же советская власть стала их очень активно «раскулачивать»... И вот именно для этих «карательных экспедиций» отбирались лучшие комсомольцы, что бы показать остальным «заразительный пример»... Это были друзья и знакомые тех же «лесных братьев», которые вместе ходили в одни и те же школы, вместе играли, вместе ходили с девчонками на танцы... И вот теперь, по чьему-то сумасшедшему приказу, вдруг почему-то стали врагами и должны были друг друга истреблять...
После двух таких походов, в одном из которых из двадцати ушедших ребят вернулись двое (и папа оказался одним из этих двоих), он до полусмерти напился и на следующий день написал заявление, в котором категорически отказывался от дальнейшего участия в любых подобного рода «мероприятиях». Первой, последовавшей после такого заявления «приятностью» оказалась потеря работы, которая в то время была ему «позарез» нужна. Но так как папа был по-настоящему талантливым журналистом, ему сразу же предложила работу другая газета – «Каунасская Правда» – из соседнего городка. Но долго задержаться там, к сожалению, тоже не пришлось, по такой простой причине, как коротенький звонок «сверху»... который вмиг лишил папу только что полученной им новой работы. И папа в очередной раз был вежливо выпровожен за дверь. Так началась его долголетняя война за свободу своей личности, которую прекрасно помнила уже даже и я.

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

Для начала немного о том, как я к этому подошел. Начальство сказало, что на имеющейся базе данных неплохо бы развернуть какую-то аналитику. Проведя небольшой гуглопоиск выяснилось, что отлично подойдет технология OLAP. А так как на сервере компании развернут MS SQL Server, то еще более отлично подойдет тамошний компонент Analysis Services.

Радостно потирая руки, я схватил майкрософтовский учебник, который идет в комплекте с SQL Server"ом. А через два дня я был уверен, что мне все по плечу. Но, не тут то было… В имеющейся базе данных большинство связей между таблицами оказались связями многие-ко-многим, что поначалу не предвещало никаких осложнений. Но на практике выясняется, что без дополнительных весьма осмысленных маханий руками не обойтись, т.к. в противном случае кубик просто выдает некорректную информацию.

В рунете найти информацию по данной тематике оказалось задачей не из легких. То ли это настолько само собой разумеющееся для всех дело, то ли лыжи не едут. Однако мною таки был найден очень классный большой английский мануал по данной теме. Собственно тем, кто отлично понимает английский или же хочет очень хорошо разобраться в теме, предлагается дальше не читать, а уйти по ссылке: http://www.sqlbi.com/articles/many2many/

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

Собственно в чем проблема. Если читающий знакомился с данным постом: http://habrahabr.ru/post/67272/ , то знает что стандартными схемами для Olap являются схемы «Звезда» и «Снежинка». А что если нас кругом обложили связями многие-ко-многим?

Самый простой вариант: уйти от связи многие-ко-многим с помощью представлений – это положительно скажется на скорости обработки запросов. Невозможно уйти? Давайте разбираться.

Постановка задачи. Интернет-магазин. MS SQL Server, на нем база данных с пресловутыми связями M2M, которая выглядит следующим образом: Таблица идентификаторов покупок, к ней привязаны таблица категории (еда, спорт, другое) и таблица аккаунтов. Усложним задачу: пусть теперь одним аккаунтом могут пользоваться сразу несколько человек (например, муж и жена делают покупку на дом), соответственно через M2M связана таблица персон. И чтоб совсем не сахар: пусть к таблице персон через M2M привязана таблица категорий персон. И нас интересует: какие категории людей, какие покупки чаще делают, и когда они это делают.

Пример надуманный, но все же видна проблема: как связать аж через две связи M2M будущее измерение с таблицей фактов? Все просто, мы подскажем SSAS, куда нужно смотреть.
Выполнив предварительные действия по созданию измерений (Types, Dates, Categories, Persons, Accounts)(см. http://habrahabr.ru/post/67272/ ), пытаемся создать куб на мере Sales (количество строк). По умолчанию Visual Studio предложит нам только три меры (Types, Accounts, Dates) – ведь только они связаны напрямую с нашей мерой. Создав куб, руками добавляем оставшиеся две меры. Плюс создаем еще две вспомогательные меры внутри куба, которые будут отвечать за обработку связи M2M: Bridge Accounts Persons и Bridge Persons Categories (обе – количество строк в понятно каких таблицах).
Таким образом, будем иметь следующую картинку:

Видим много серых боксов и то, что Visual Studio уже обработала одну связь M2M: между вспомогательной мерой Bridge Persons Categories и измерением Accounts. И это хорошо, но не достаточно. Если прямо сейчас попросить наш куб что-нибудь выдать, мы не получим ничего хорошего. Нет, измерения Dates и Accounts все сделают правильно, но вот с Persons и Categories увы.

Чтобы исправить сие недоразумение подскажем SSAS, где искать информацию для обработки наших запросов. Для этого заполним те серые боксы на вкладке «Использование измерений» следующим образом: щелкаем на серые бокс-> многоточие-> тип связи выбираем «Многие ко многим»-> Выбираем промежуточную группу мер, как написано на картинке:

Вуаля! Все работает. Можно убедиться на очередной картинке:

В чем магия? Мы указали SSAS, где и как искать информацию о связях. Обратите внимание: невозможно, например, правильно заполнить пересечение «измерение Categories и мера Sales» до того как вы правильно заполните «измерение Categories и мера Bridge Account Persons». В вариантах выпадает только Bridge Persons Categories, т.к. иного пути Visual Studio просто не знает. Но ведь вспомогательные меры – тоже меры. И пути для них надо указывать так же, как и для обычных (целевых) мер. По мере заполнения таблицы Visual Studio набирается знаний и предлагает больше вариантов.

Теперь сформулируем мнемоническое правило о том, как надо заполнять таблицу связей: «Между целевой мерой и целевым измерением выбирай ближайшую таблицу мер к целевой мере». Таким образом, и получалось, что для измерений Type и Date во второй столбце будет полноценная, интересная мера Sales, а в третьем вспомогательная Bridge Accounts Persons. Аналогично и для измерения Categories.

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

За сим всё. Надеюсь, у меня получился полезный пост. Как минимум, я могу сказать, что в своё время искал именно нечто подобное, но так и не нашел. Исходники базы данных и куба из примера могу выслать.

Microsoft SQL Server Analysis Services (SSAS) является базовой платформой для развития систем бизнес-анализа (Business Intelligence). SSAS 2008 обеспечивают высокую производительность работы приложений и масштабируемость на уровне миллионов записей и тысяч пользователей.

Компоненты BI-решения Microsoft. BI-решение основывается на масштабируемой платформе, предназначенной для интеграции данных, построения хранилищ данных, анализа накопленных данных и построения отчетов. Ядром BI-решения является платформа SQL Server. Компоненты: SQL Server Database Engine – Масштабируемая, высокопроизводительная СУБД, способная хранить большие объемы данных, образующиеся в результате консолидации данных в единое хранилище для анализа и построения отчетов. SQL Server Integration Services – Платформа для выполнения операций извлечения, преобразования и загрузки, которая обеспечивает заполнение ХД и его синхронизацию с данными из различных источников, которые используются бизнес-приложениями организации. SQL Server Analysis Services – Обеспечивает возможность построения OLAP-решений, включая возможность расчета ключевых индикаторов производительности (KPI). SQL Server Reporting Services – Инструментарий построения отчетов, предназначенный для создания, публикации и распространения детализированных бизнес-отчетов, как для внутренних, так и для внешних целей.

UDM. SSAS построены на основе Унифицированной Многомерной Модели (Unified Dimensional Model, UDM), которая позволяет различным типам клиентских приложений получать доступ к данным как из реляционных, так и из многомерных баз данных без использования отдельных моделей для каждого типа баз данных.

Основой UDM является архитектура измерений на основе атрибутов, которая дает возможность группировать свойства, определяющие функционирование бизнеса, в одно измерение и отделить эти свойства от правил навигации по измерению – иерархий.

UDM предоставляет возможность использовать множество источников данных (data sources) для создания многомерной модели. UDM может быть использована для создания единого представления реляционных и многомерных данных, включающих бизнес-объекты, бизнес-аналитику, вычисления и метрики; создает промежуточный логический уровень между физической реляционной базой данных, используемой в качестве источника данных, и фирменными структурами куба и измерений, используемыми для обработки пользовательских запросов. Модель UDM можно представить себе как ядро системы OLAP. Одним из ключевых преимуществ модели UDM является возможность сочетать гибкость и функциональное богатство традиционной реляционной модели генерации отчетов с мощными аналитическими средствами и превосходной производительностью классической модели системы OLAP.


Масштабируемость и производительность

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

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

Представление источника данных

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

Интеграция с Microsoft Office System 2007

BI-платформа Microsoft предоставляет возможности интеграции с продуктами семейства Microsoft Office System 2007, в частности:

Microsoft Office Excel дает возможность просматривать данные, хранящиеся в OLAP-кубах SSAS путем построения динамических представлений Microsoft PivotTable, что не требует установки дополнительного программного обеспечения;

Microsoft Office Word позволяют просматривать отчеты, генерируемые при помощи Reporting Services;

Microsoft Office Visio позволяет визуализировать деревья решений, деревья зависимостей, кластерные диаграммы и другие модели технологии data mining;

Microsoft Office SharePoint Server позволяет создать единый пользовательский интерфейс для просмотра и управления отчетами, генерируемыми при помощи Reporting Services.Локализация решения посредством использования переводов

Часто возникает необходимость разработки многоязыковых решений. Как правило, сами данные едины для всего мира, но метаданные – куб, меры, наименования и уровни измерений, ключевые показатели эффективности (KPI) будут своими для каждого используемого языка. Переводы позволяют задавать различные значения метаданных для разных языков и приспосабливать решения для работы в международном контексте. Финансовую информацию также необходимо локализировать для представления результатов в надлежащей валюте. Предусмотренные в службах SSAS возможности перевода и автоматического конвертирования валют позволяют отображать локализованные данные анализа на родном языке пользователей.

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

Собственно с чего мы начнем? Ну, во-первых мы должны определиться, а нужно ли нам иметь настолько крупное решение по применению BI . Или можно обойтись каким-нибудь другим инструментом, например Excel или другим подобным. Не спорю, Excel является очень хорошим продуктом для анализа, но для анализа достаточно большого набора данных данных он не подходит. Но тут есть выход-поставить, например, add-on который вы прекрасно все знаете- PowerPivot . Но и тут возникает загвоздка, PowerPivot подходит только под Excel 2010 (А у нас и 2003 и 2007).

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

В качестве главного инструмента мы будем использовать Business Intelligence Development Studio(BIDS) – который базируется на оболочке Visual Studio . Запускаем BIDS.

И видим стандартный интерфейс VS . После этого выбираем File-New-Project(Ctrl+Shift+N). Нам отображается окно создания нового проекта.

Мы будем создавать проект Analysis Services . Введем имя в поле Name, допустим Analysis Services Project3. Выберем путь, куда будет сохранен проект, и кликнем OK. Visual Studio для нас подготовит шаблон проекта, на базе которого мы и будем строить решение.

Далее, для того, чтобы начать строить аналитику, нам необходимо создать источник данных(Data Sources ) и проделать выборку с этого источника, создав при этом Data Source Views . Давайте это и сделаем! Кликаем правой кнопкой на папке Data Sources в Solution Explorer и выбираем New Data Source . Отобразится окно создания Data Source .

Кликаем Next . Видим окно выбора соединения с источником данных. Так как у нас нету ни одного подключения, мы обязаны создать его. Кликаем на New , отобразится окно, которое вы видите ниже.

В данном окне мы можем выбрать к какому источнику и с какими параметрами подключаться. Как видите доступно достаточно много провайдеров данных, в двух группах .NET и OLE DB .

Итак, мы будем коннектится к базе данных MS SQL Server , поэтому в поле Server Name мы вписываем имя сервера(в демонстрационных целях я буду использовать локальный SQL Server ), так же мы выбираем тип аутентификации и базу данных с которой будем работать(я буду пользоваться демонстрационной базой данных AdventureWorks ). Если все выбрали кликаем OK , а затем Next . В окне Impersonation Information нам необходимо выбрать под какой учетной записью AS будет подключаться к источнику данных. Для простоты демонстрации я выберу Inherit (То есть будет брать Service Account учетку). Кликаем Next и обращаем внимание на ту строку подключения, которую нам создал визард. Если все нормально, кликаем Finish . Далее необходимо вытянуть из этого источника необходимые нам данные (которые будем анализировать), для этого создадим Data Source View . Кликаем правой кнопкой на папке Data Source Views в Solution Explorer и выбираем New Data Source View. В появившемся окне кликаем Next , выбираем источник который мы создали на предыдущем шагу и кликаем Next . В окне выбора таблиц давайте отметим те таблицы, которые нам понадобятся для построения многомерного решения. Выберем FactInternetSales и кликнем по знаку больше(>) . Наша таблица добавится во включенные объекты. Кликаем на кнопку Add Related Table для добавления таблиц которые связаны с таблицей FactInternetSales и кликаем Next . Просмотрите, в финальном окне, все ли таблицы мы выбрали. Если все верно-смело жмем Finish . Мы получаем схему связей тех таблиц, которые мы загрузили.

Итак, что мы сделали? Мы подготовили базу для создания многомерного решения, которое будем называть кубом. Для того что бы создать куб, мы из контекстного меню на папке Cubes выберем New Cube . Кликаем Next два раза. Попадаем в окно выбора группа мер(Группа Мер, как вы помните, это набор значений, а именно численных значений которые мы будем анализировать), выбираем таблицу FactInternetSales .

Нажимаем Next . В появившемся окне мы можем выбрать только те меры, которые хотим чтобы были включены в аналитический куб. Мы оставим все как есть,но если необходимо убрать что-то, вы всегда это сможете сделать. Идем дальше, кликаем Next . В следующем окне нам необходимо выбрать таблицы измерений(Измерения, как вы помните, используются для выполнения срезов по каким-либо величинам, то есть в измерениях хранятся справочные данные). Оставляем как есть, жмем Next . Просматриваем, все ли мы правильно сделали и жмем Finish .

Итак, у нас создался куб, который мы и будем использовать для построения аналитики. Что, спросите вы, можно делать с этим кубом. Ну сейчас пока ничего не получится))) Как ни странно, но для начала нам необходимо наш куб развернуть и провести процессинг(Deploy and Process ).

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

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

Так как структура куба хранится в XML подобном файле, то при любом изменении структуры куба нам необходимо выполнять Deploy . Если мы хотим перестроить структуру куба относительно изменений, которые мы сделали и обновить данные в мерах и измерениях, мы обязаны выполнить Processing .

Выполним Deploy и Process , для этого кликнем правой кнопкой на кубе и выберем Process . Нас уведомит, что куб не проходил стадию развертывания. Кликаем Yes для запуска процесса развертывания.

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

Кликаем Run для запуска процессинга(О дополнительных опциях процессинга я расскажу в другой раз). Перед нами начинается процессинг, ожидаем окончания этого процесса и кликаем Close дважды.

Все куб готов к работе! Мы можем начинать производить анализ. Для более удобного использования куба попробуем открыть его, используя хорошо знакомый инструмент Excel . Запускаем Excel , переходим на вкладку Data и выбираем подключение к AS

В появившемся окне вписываем имя сервера и кликаем Next . Выбираем наш куб, который мы создали на предыдущем шаге и кликаем Finish

(СУБД). Microsoft включила набор служб в SQL Server, связанных с бизнес-анализом и хранением данных . Эти службы включают в себя службы интеграции (Integration Services) и службы анализа (Analysis Services). Analysis Services, в свою очередь, включают в себя набор средств для работы с OLAP и интеллектуальным анализом данных .

История

Хронология

Ниже перечисляются главные события в истории Microsoft Analysis Services, охватывающие период с 1996 года.

События Microsoft Analysis Services
Дата Событие
1996-07-01 Microsoft набирает новую команду разработчиков для создания OLAP-продукта под кодовым именем Plato (перестановка букв аббревиатуры OLAP)
1996-07-15 Делегация Panorama Software встречается с представителями Microsoft
1996-10-27 Microsoft объявляет о приобретении команды разработчиков Panorama Software
1998-11 Выходит OLAP Services 7.0 (кодовое имя Sphinx)
2000-08 Выходит Analysis Services 2000 (кодовое имя Shiloh)
2001-11 Выходит XML for Analysis SDK 1.0
2003-04 Выходит ADOMD.NET and XML for Analysis SDK 1.1
2005-10-28 Выходит Analysis Services 2005 (кодовое имя Yukon)
2008-08-06 Выходит Analysis Services 2008 (кодовое имя Katmai)

Режимы хранения

Microsoft Analysis Services занимает нейтральную позицию в споре MOLAP против ROLAP , разгорающемся вокруг OLAP-продуктов. Благодаря этому можно использовать все виды MOLAP , ROLAP и HOLAP внутри одной модели.

Режимы раздельного хранения

  • MOLAP - Multidimensional OLAP (многомерный OLAP) - Обрабатываются сами данные и их обработки, сохраняются и индексируются при помощи специального формата, оптимизированного под многомерные данные.
  • ROLAP - Relational OLAP (реляционный OLAP) - Данные и их обработки остаются в реляционном источнике данных, устраняется необходимость в специальной обработке.
  • HOLAP - Hybrid OLAP (гибридный OLAP) - этот режим использует реляционный источник данных для хранения самих данных, но предварительные обработки и индексы хранятся в специальном формате, оптимизированном для многомерных данных.

Режимы размерного хранения

  • MOLAP - атрибуты размерности и иерархии обрабатываются и хранятся в специальном формате
  • ROLAP - атрибуты размерности не обрабатываются и остаются в реляционном источнике данных. Разделы, измеряемые размерностью ROLAP, также должны быть в режиме ROLAP.

Программные интерфейсы и объектные модели

Microsoft Analysis Services поддерживает различные наборы программных интерфейсов (API) и объектных моделей для различных операций в различных программных средах.

Извлечение данных

  • XML for Analysis - API нижайшего уровня. Может быть использован на любой платформе и с любым языком программирования, поддерживающим HTTP и XML
  • OLE DB for OLAP - Расширение OLEDB . Основан на COM и предназначен для использования в Си /C++ -программах на Windows -платформе.
  • ADOMD - Расширение ADO . Основан на COM Windows -платформе.
  • ADOMD.NET - Расширение ADO.NET . Основан на .NET управляемого кода на CLR -платформах.

Администрирование и управление

  • DSO - Для AS 2000. Основан на COM Automation и предназначен для -программ на Windows -платформе.
  • AMO - Для AS 2005. Основан на .NET -технологии и предназначен для программ, написанных с использованием управляемого кода на CLR -платформах.

Языки запросов

Microsoft Analysis Services поддерживает следующие языки запросов:

Data Definition Language (DDL)

DDL (язык определения данных) в Analysis Services основан на XML и поддерживает такие команды как , , , И т.д.. Для моделей импорта и экспорта интеллектуального анализа данных также поддерживается PMML .

Data Manipulation Language (DML)

  • MDX - для запроса OLAP-кубов многомерной модели
  • DAX - для запроса OLAP-кубов табличной модели (D ata A nalysis eX pressions, PowerPivot)
  • SQL - ограниченное подмножество SQL-инструкций для запроса OLAP-кубов и обработки размерности как таблиц
  • DMX - для запроса моделей интеллектуального анализа данных

Напишите отзыв о статье "Microsoft Analysis Services"

Примечания

Литература

  • Сивакумар Харинатх, Мэтт Кэррол и др. Microsoft SQL Server Analysis Services 2008 и MDX для профессионалов = Professional Microsoft SQL Server Analysis Services 2008 with MDX. - М .: «Диалектика» , 2010. - С. 1072. - ISBN 978-5-8459-1636-5 .
  • Sivakumar Harinath, Stephen Quinn: Professional SQL Server Analysis Services 2005 with MDX . ISBN 0-7645-7918-5
  • Teo Lachev: Applied Microsoft Analysis Services 2005: And Microsoft Business Intelligence Platform . ISBN 0-9766353-0-5
  • Reed Jacobson: Microsoft(r) SQL Server(tm) 2000 Analysis Services Step by Step . ISBN 0-7356-0904-7
  • Claude Seidman: Data Mining with Microsoft SQL Server 2000 Technical Reference."" ISBN 0-7356-1271-4
  • George Spofford: MDX-Solutions . Wiley, 2001, ISBN 0-471-40046-7
  • Mosha Pasumansky, Mark Whitehorn, Rob Zare: Fast Track to MDX . ISBN 1-84628-174-1
  • ZhaoHui Tang, Jamie MacLennan: Data Mining with SQL Server 2005 . ISBN 0-471-46261-6
  • Edward Melomed, Irina Gorbach, Alexander Berger, Py Bateman: Microsoft SQL Server 2005 Analysis Services . ISBN 0-672-32782-1

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)

Отрывок, характеризующий Microsoft Analysis Services

Пьер, как один из почетнейших гостей, должен был сесть в бостон с Ильей Андреичем, генералом и полковником. Пьеру за бостонным столом пришлось сидеть против Наташи и странная перемена, происшедшая в ней со дня бала, поразила его. Наташа была молчалива, и не только не была так хороша, как она была на бале, но она была бы дурна, ежели бы она не имела такого кроткого и равнодушного ко всему вида.
«Что с ней?» подумал Пьер, взглянув на нее. Она сидела подле сестры у чайного стола и неохотно, не глядя на него, отвечала что то подсевшему к ней Борису. Отходив целую масть и забрав к удовольствию своего партнера пять взяток, Пьер, слышавший говор приветствий и звук чьих то шагов, вошедших в комнату во время сбора взяток, опять взглянул на нее.
«Что с ней сделалось?» еще удивленнее сказал он сам себе.
Князь Андрей с бережливо нежным выражением стоял перед нею и говорил ей что то. Она, подняв голову, разрумянившись и видимо стараясь удержать порывистое дыхание, смотрела на него. И яркий свет какого то внутреннего, прежде потушенного огня, опять горел в ней. Она вся преобразилась. Из дурной опять сделалась такою же, какою она была на бале.
Князь Андрей подошел к Пьеру и Пьер заметил новое, молодое выражение и в лице своего друга.
Пьер несколько раз пересаживался во время игры, то спиной, то лицом к Наташе, и во всё продолжение 6 ти роберов делал наблюдения над ней и своим другом.
«Что то очень важное происходит между ними», думал Пьер, и радостное и вместе горькое чувство заставляло его волноваться и забывать об игре.
После 6 ти роберов генерал встал, сказав, что эдак невозможно играть, и Пьер получил свободу. Наташа в одной стороне говорила с Соней и Борисом, Вера о чем то с тонкой улыбкой говорила с князем Андреем. Пьер подошел к своему другу и спросив не тайна ли то, что говорится, сел подле них. Вера, заметив внимание князя Андрея к Наташе, нашла, что на вечере, на настоящем вечере, необходимо нужно, чтобы были тонкие намеки на чувства, и улучив время, когда князь Андрей был один, начала с ним разговор о чувствах вообще и о своей сестре. Ей нужно было с таким умным (каким она считала князя Андрея) гостем приложить к делу свое дипломатическое искусство.
Когда Пьер подошел к ним, он заметил, что Вера находилась в самодовольном увлечении разговора, князь Андрей (что с ним редко бывало) казался смущен.
– Как вы полагаете? – с тонкой улыбкой говорила Вера. – Вы, князь, так проницательны и так понимаете сразу характер людей. Что вы думаете о Натали, может ли она быть постоянна в своих привязанностях, может ли она так, как другие женщины (Вера разумела себя), один раз полюбить человека и навсегда остаться ему верною? Это я считаю настоящею любовью. Как вы думаете, князь?
– Я слишком мало знаю вашу сестру, – отвечал князь Андрей с насмешливой улыбкой, под которой он хотел скрыть свое смущение, – чтобы решить такой тонкий вопрос; и потом я замечал, что чем менее нравится женщина, тем она бывает постояннее, – прибавил он и посмотрел на Пьера, подошедшего в это время к ним.
– Да это правда, князь; в наше время, – продолжала Вера (упоминая о нашем времени, как вообще любят упоминать ограниченные люди, полагающие, что они нашли и оценили особенности нашего времени и что свойства людей изменяются со временем), в наше время девушка имеет столько свободы, что le plaisir d"etre courtisee [удовольствие иметь поклонников] часто заглушает в ней истинное чувство. Et Nathalie, il faut l"avouer, y est tres sensible. [И Наталья, надо признаться, на это очень чувствительна.] Возвращение к Натали опять заставило неприятно поморщиться князя Андрея; он хотел встать, но Вера продолжала с еще более утонченной улыбкой.
– Я думаю, никто так не был courtisee [предметом ухаживанья], как она, – говорила Вера; – но никогда, до самого последнего времени никто серьезно ей не нравился. Вот вы знаете, граф, – обратилась она к Пьеру, – даже наш милый cousin Борис, который был, entre nous [между нами], очень и очень dans le pays du tendre… [в стране нежностей…]
Князь Андрей нахмурившись молчал.
– Вы ведь дружны с Борисом? – сказала ему Вера.
– Да, я его знаю…
– Он верно вам говорил про свою детскую любовь к Наташе?
– А была детская любовь? – вдруг неожиданно покраснев, спросил князь Андрей.
– Да. Vous savez entre cousin et cousine cette intimite mene quelquefois a l"amour: le cousinage est un dangereux voisinage, N"est ce pas? [Знаете, между двоюродным братом и сестрой эта близость приводит иногда к любви. Такое родство – опасное соседство. Не правда ли?]
– О, без сомнения, – сказал князь Андрей, и вдруг, неестественно оживившись, он стал шутить с Пьером о том, как он должен быть осторожным в своем обращении с своими 50 ти летними московскими кузинами, и в середине шутливого разговора встал и, взяв под руку Пьера, отвел его в сторону.
– Ну что? – сказал Пьер, с удивлением смотревший на странное оживление своего друга и заметивший взгляд, который он вставая бросил на Наташу.
– Мне надо, мне надо поговорить с тобой, – сказал князь Андрей. – Ты знаешь наши женские перчатки (он говорил о тех масонских перчатках, которые давались вновь избранному брату для вручения любимой женщине). – Я… Но нет, я после поговорю с тобой… – И с странным блеском в глазах и беспокойством в движениях князь Андрей подошел к Наташе и сел подле нее. Пьер видел, как князь Андрей что то спросил у нее, и она вспыхнув отвечала ему.
Но в это время Берг подошел к Пьеру, настоятельно упрашивая его принять участие в споре между генералом и полковником об испанских делах.
Берг был доволен и счастлив. Улыбка радости не сходила с его лица. Вечер был очень хорош и совершенно такой, как и другие вечера, которые он видел. Всё было похоже. И дамские, тонкие разговоры, и карты, и за картами генерал, возвышающий голос, и самовар, и печенье; но одного еще недоставало, того, что он всегда видел на вечерах, которым он желал подражать.
Недоставало громкого разговора между мужчинами и спора о чем нибудь важном и умном. Генерал начал этот разговор и к нему то Берг привлек Пьера.

На другой день князь Андрей поехал к Ростовым обедать, так как его звал граф Илья Андреич, и провел у них целый день.
Все в доме чувствовали для кого ездил князь Андрей, и он, не скрывая, целый день старался быть с Наташей. Не только в душе Наташи испуганной, но счастливой и восторженной, но во всем доме чувствовался страх перед чем то важным, имеющим совершиться. Графиня печальными и серьезно строгими глазами смотрела на князя Андрея, когда он говорил с Наташей, и робко и притворно начинала какой нибудь ничтожный разговор, как скоро он оглядывался на нее. Соня боялась уйти от Наташи и боялась быть помехой, когда она была с ними. Наташа бледнела от страха ожидания, когда она на минуты оставалась с ним с глазу на глаз. Князь Андрей поражал ее своей робостью. Она чувствовала, что ему нужно было сказать ей что то, но что он не мог на это решиться.
Когда вечером князь Андрей уехал, графиня подошла к Наташе и шопотом сказала:
– Ну что?
– Мама, ради Бога ничего не спрашивайте у меня теперь. Это нельзя говорить, – сказала Наташа.
Но несмотря на то, в этот вечер Наташа, то взволнованная, то испуганная, с останавливающимися глазами лежала долго в постели матери. То она рассказывала ей, как он хвалил ее, то как он говорил, что поедет за границу, то, что он спрашивал, где они будут жить это лето, то как он спрашивал ее про Бориса.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows