Бизнес-аналитика

Разработка вашего первого куба

Стася Миснер

Я люблю знакомить людей с Microsoft SQL Server Analysis Services, демонстрируя им создание простого куба на примере образца их собственных данных. При этом я должна быть осторожна,
поскольку не раз меня вытесняли с моей трибуны новые пользователи, которые были взволнованы увиденным и пытались сами исследовать данные так, как они никогда до этого не делали. Вне зависимости от того, хотите ли вы исследовать собственные данные более простым способом, или же вам необходимо осуществить поддержку первичных данных пользователей, вы обнаружите, что SQL Server Analysis Services (SSAS) обеспечен всеми необходимыми инструментами для этого.

Эта третья статья из серии выпусков; первые две были опубликованы в сентябре 2009 года, они также доступны на technet.microsoft.com/magazine/ee263919. aspx. Эта серия поможет вам лучше понять принципы построения простой системы бизнес-аналитики (BI) при помощи компонент, доступных в Microsoft SQL Server 2008. Поскольку я буду периодически обращаться к понятиям и терминам, введенным в предыдущих двух статьях, для начала я рекомендую уделить время обзору этих статей, если вы их еще не прочли.

В статье «Планирование вашей первой системы бизнес-аналитики» («Planning Your First BI Solution») я рассказывала о преимуществах построения киоска данных в сравнении с извлечением данных напрямую из корпоративной базы данных. Также я предусмотрела инструкции для загрузки необходимых образцов баз данных для того, чтобы вы могли проделать те же действия, что описаны в этих статьях. Затем Дерек Комингор (Derek Comingore), в статье «Организация данных для системы бизнес-аналитики» («Building a Data Foundation for a BI Solution») рассказал, как использовать Integration Services для заполнения киоска данными из корпоративной базы данных. В этой статье я покажу, как создать куб на основе подобной модели киоска данных.

Для чего нужно создавать куб?

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

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

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

В этой статье я продолжу сценарий, предложенный в первой статье. Этот сценарий определяет базовый объект для анализа в системе бизнес-аналитики, которую мы построили в предыдущих выпусках. Система должна выводить информацию, на основании которой можно будет сделать вывод:какой канал продаж выгоднее для Adventure Works, интернет продажи или продажи через посредников, и каковы тенденции объемов продаж по отдельным продуктам, рост или снижение. Ваш источник данных для систем бизнес-аналитики — это база данных AdventureWorksDW2008, к которой применены пространственное моделирование и правила ETL, описанные в статье Дерека Комингора.

Вы можете загрузить примеры баз данных, используемые для построения системы Adventure Works на CodePlex:msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407. Для того чтобы построить базу данных Analysis Services 2008, вам будет необходим киоск данных в качестве источника.

Подготовка базы данных Analysis Services

Первым шагом будет создание проекта в среде Business Intelligence Development Studio (BIDS). Запустите BIDS из группы программ Microsoft SQL Server 2008, нажмите File | New | Project (Файл | Создать | Проект). В диалоговом окне New Project (Создать проект) выберите Analysis Services Project (Проект Analysis Services). В текстовом поле Name (Имя) введите ssas_TECHNET_ AW2008 и измените расположение проекта по своему усмотрению. Нажмите OK для создания проекта.

Теперь добавьте источник данных, чтобы задать строку соединения для киоска данных. В Обозревателе решений правой кнопкой мыши щелкните по папке Data Sources (Источники данных) и выберите New Data Source (Создать источник данных). В Мастере создания источника данных на странице приветствия, если она не отключена, нажмите Next (Далее). На странице Select How to Define the Connection (Выбор метода определения соединения) нажмите New (Создать) для создания нового соединения. В Менеджере соединения по умолчанию установлено SQL Server Native Client, который подходит для этого проекта, хотя вы так же можете использовать OLE DB или .NET для доступа к данным.

Для определения соединения, введите имя вашего сервера в текстовом поле Server Name (Имя сервера) или выберите его из раскрывающегося списка, затем выберите AdventureWorksDW2008 в раскрывающемся списке и нажмите OK. Затем вернитесь в Мастера создания источника данных и нажмите Next. На странице Impersonation Information (Сведения об олицетворении) выберите настройку Use the service account (Использовать учетную запись сервиса). Учетная запись сервиса используется для чтения данных из источника при загрузке данных в базу данных SSAS и для этого должна иметь разрешения на чтение. Нажмите Next, а затем Finish (Завершить) для завершения работы мастера.

Создание представления источника данных

Теперь давайте создадим представление источника данных (data source view – DSV) как обобщение таблиц (или представлений) из источника данных, которое мы будем использовать для создания измерений и кубов. Вы можете вносить изменения в DSV без какой-либо модификации источника данных, что является весьма удобным, если вы имеете права только на чтение киоска и не можете вносить изменения в источник. В Обозревателе решений щелкните правой кнопкой мыши по папке Data Source Views (Представление источника данных) и затем нажмите New Data Source View (Создать представление источника данных).

При необходимости нажмите Next на странице приветствия. На странице выбора источника данных выберите источник данных, который вы только что добавили в проект и нажмите Next. Добавьте объекты в DSV, сделав двойной щелчок по всем необходимым таблицам или представлениям. Для создания DSV, с помощью которого мы найдем ответы на поставленные в начале статьи вопросы, добавьте в DSV следующие таблицы: DimDate, DimProduct, DimProductCategory, DimProductSubcategory, FactInternetSales и FactResellerSales. Для изучения работы SSAS не плохо начать с простого DSV. При необходимости, в последствии вы всегда сможете добавить необходимое количество таблиц для решения других вопросов в своей системе бизнес-аналитики. Нажмите Next в Мастере представления источника данных, когда добавите все таблицы, и затем нажмите Finish.

Я рекомендую давать простые имена своим таблицам, выбирая каждую на панели Tables (Таблицы) конструктора DSV и удалять префиксы в свойстве FriendlyName для каждой таблицы. Мастер применяется для создания измерений и кубов, которые потом буду использовать значение свойства FriendlyName для назначения имен объектам. Законченный вид DSV показан на рис.1.

Figure 1: Data Source View

Рис.1 Конструктор представления источника данных

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

Для того чтобы построить измерение Date в SSAS, вам понадобится добавить два именованных вычисления в таблицу Date — Quarter и Month, для объединения колонок year, quarter и month. Иначе дата не будет корректно отображаться при группировке по месяцам, кварталам и году, например для просмотра итоговых данных. Чтобы добавить именованное вычисление для квартала, щелкните правой кнопкой мыши по таблице Date либо в конструкторе, либо в панели Tables и выберите New Named Calculation (Создать именованное вычисление). В текстовом поле Column Name (Имя колонки) введите Quarter. В текстовом поле Expression (Выражение) введите следующее выражение:

'Qtr ' + convert(char(1), CalendarQuarter) + ' ' + convert(char(4),CalendarYear)

Нажмите OK и повторите те же самые действия для добавления именованных вычислений для месяца, введя следующее выражение:

left(EnglishMonthName, 3) + ' ' + convert(char(4), CalendarYear)

Заметим, что в конструкторе (рис.2) именованные вычисления в таблице Date отображаются в виде иконки, на которой изображен калькулятор.Сделано это для того, чтобы можно было легко отличить их от физических колонок в таблице. Вы можете просмотреть результат добавления именованных вычислений, щелкнув правой кнопкой мыши по таблице и выбрав Explore Data (Просмотр данных). В BIDS откроется новое окно, которое отобразит данные из исходной таблицы.

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

Определение измерений в Analysis Services

После добавления таблиц измерений в DSV вы готовы к созданию измерений в базе данных SSAS. Как помните, измерения используются для хранения информации о бизнес-сущностях, таких как люди, места, предметы. Чтобы суметь ответить на вопросы, поставленные в начале этой статьи, нужно создать измерения для Date и Product.
Чтобы добавить измерения в проект, запустите Мастер измерений, щелкнув правой кнопкой мыши по папке Dimensions (Измерения). на странице Select Creation Method (Выбор метода создания)

Figure 2 Date Table with Named Calculations

Рис.Таблица Date с именованными вычислениями

 

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

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

Вы можете выбрать генерацию физической таблицы при поддержке запросов к реляционным источникам данных. Нажмите Next для продолжения.

На странице Specify Source Information (Определение исходных сведений) выберите Date в раскрывающемся списке Main Table (Основная таблица). Заметьте, что ключевым столбцом является DateKey. Ключевой столбец должен уникально идентифицировать каждую запись в таблице для того, чтобы SSAS корректно накапливал или группировал данные при возвращении результатов запроса. Затем, в раскрывающемся списке Name Column (Имя колонки) выберите FullDateAlternateKey. Наименование колонки SSAS использует для пользовательского представления, вместо отображения ключевого столбца.

Нажмите Next.

На странице Select Dimension Attributes (Выбор атрибутов измерения) вы должны выбрать атрибуты, которые будут включены в измерение, для определения иерархии или дополнительных группировок.

Включение атрибутов из таблицы измерения зависит от задачи, которую вы будете решать с помощью своей системы бизнес-аналитики. Добавьте лишь те атрибуты, которые необходимы вам для оптимальной работы SSAS.Это поможет избежать излишней нагрузки на систему, и не будет пугать пользователей обилием опций. Для этих измерений выберите Calendar Year, Quarter и Month. Нажмите Next, а затем Finish.

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

Чтобы обновить свойство KeyColumn, выберите Month на панели Attributes (Атрибуты) слева. В окне Properties (Свойства) нажмите на свойство KeyColumns и затем на многоточие. В диалоговом окне Key Columns (Ключевые столбцы) нажмите стрелку влево, чтобы очистить текущее назначение и затем дважды щелкните по CalendarYear и MonthNumberOfYear. Теперь назначьте метку этому атрибуту, нажав на многоточие в поле свойства NameColumns. Выберите EnglishMonthName и нажмите OK.

Повторите те же действия, чтобы установить свойство KeyColumns атрибуту Quarter CalendarYear и CalendarQuarter, и установите свойство NameColumns для Quarter.
Теперь в Обозревателе решений появится измерение под названием Date.dim и конструктор измерения (рис.3) отобразится в основном рабочем пространстве BIDS.

Date Dimension

Рис.3.Измерение Date в конструкторе

Вы можете увидеть измерение со связанными атрибутами, включая ключевые атрибуты, на панели Attributes, слева. Если вы потом захотите добавить больше атрибутов, вы можете перетащить их один за другим с панели Data Source View на панель Attributes. Используйте Мастер измерений только для создания новых измерений, а все изменения вносите с помощью конструктора измерений.

Теперь будем использовать Мастер измерений для создания измерения Product, используя Product как основную таблицу и EnglishProductName, как столбец наименования. Поскольку измерение Product имеет схему снежинки, мастер включает дополнительные страницы для подтверждения того, что вы хотите создать связанные таблицы, ProductSubcategory и ProductCategory.

Затем, добавьте атрибуты Color и Size в измерение. Заметьте, что мастер автоматически выберет ключевые столбцы для таблиц в схеме снежинки, Product Subcategory Key и Product Category Key. Вам нужно будет добавить в соответствующие столбцы имена для этих атрибутов, но сначала завершите работу мастера, чтобы изменить свойства атрибутов.

В конструкторе измерений выберите Product Category Key на панели Attributes. В Properties измените свойство Name на Category. В нижней части этого же окна выберите свойство NameColumn.

Щелкните по текстовому полю, затем по многоточию, выберите EnglishProductCategoryName и нажмите OK. Теперь повторите эти действия и переименуйте Product Subcategory Key в Subcategory, указав название столбца EnglishProductSubcategoryName. И последнее, переименуйте атрибут Product Key в Product.

Добавление иерархий

Заметьте голубую волнистую линию, появившуюся под именем измерения Product на панели Attributes. При наведении курсора на эту линию появится предупреждение:«Create hierarchies in non-parent child dimensions» («Создайте иерархию в дочерних измерениях без родителей»). Это сообщение — пример рекомендаций, встроенных в SSAS 2008, помогающих вам корректно построить базу данных SSAS. Вернитесь к конструктору измерения Date, либо нажав на соответствующую закладку, либо дважды щелкните по Date.dim в Обозревателе решений, и здесь вы тоже увидите это предупреждение.

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

Например, если пользователь хочет увидеть продажи в разрезе года:иерархия в измерении Date соединит ключевой атрибут (Date Key) с атрибутом Calendar Year.SSAS может вычислить данные по продажам за год во время обработки, и поместить результат в долговременное хранилище. Такое хранилище агрегатов позволяет исключить необходимость пересчета данных по продажам за каждый год во время выполнения запроса, и это основная разница между получением данных из реляционного киоска данных или из многомерной базы, такой как SSAS.

Чтобы добавить иерархию в измерение Date, перетащите атрибут Calendar Year с панели Attributes на панель Hierarchy в конструкторе измерения. После добавления первого атрибута объект иерархии появится с новым пустым уровнем, находящимся ниже только что добавленного атрибута. Добавьте атрибуты Quarter и Month в иерархию, перемещая каждый в пространство пустого уровня. Затем переименуйте иерархию, нажав правой кнопкой на Hierarchy, выбрав Rename и введите Year.

Хотя вы и добавили иерархию, предупреждение для измерения Date не исчезло. Установите курсор над линией и увидите новое предупреждение «Avoid visible attribute hierarchies for attributes used as levels in user-defined hierarchies» («Не рекомендуется использовать видимые иерархии атрибутов для тех атрибутов, которые используются в качестве уровней определяемых пользователем иерархий»). Это сообщение предлагает не показывать пользователям атрибуты, включенные в иерархию. Другими словами, пользователь должен видеть атрибуты только при навигации внутри иерархии.

Мой опыт показывает, что это решение вы должны принимать по согласованию с пользователями. Если вы решите обратить внимание на это предупреждение, выберите Quarter на панели Attributes и затем в окне Properties измените значение AttributeHierarchyVisible на False.

Связи атрибутов

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

Нажмите на закладку Attribute Relationships (Связи атрибутов) в конструкторе измерения. (Примечание:эта закладка доступна, если вы используете Analysis Services 2008.) По умолчанию, все атрибуты связаны напрямую с ключевым атрибутом Date Key. Для оптимизации и переназначения связей перетащите объект Month на объект Quarter, и затем перетащите объект Quarter на объект Year. Связь в конструкторе теперь корректно представляет отношение один ко многим между каждым уровнем справа налево, как показано на рис.4.

Attribute Relationships
Рис.4 Связи атрибутов

Затем добавьте иерархию к измерению Product, которая будет называться категорией и содержать Category, Subcategory и Product сверху вниз. После создания иерархии вы поймете, что вам не нужно устанавливать связи атрибутов между уровнями, потому что внешние ключи между таблицами уже определены в DSV. Тем не менее, вы можете установить свойство AttributeHierarchyVisible в значение False.

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

Так же наверняка у вас будет больше измерений в более сложной системе бизнес-аналитики. Тем не менее, на этой стадии вы создали базовые измерения и имеете все, чтобы продолжить построение реальной системы для создания куба.

Создание куба

Так же, как вы использовали Мастер измерений для создания измерения, для создания куба используйте Мастер куба. В обозревателе решений щелкните правой кнопкой мыши по папке Cubes (Кубы), нажмите New Cube (Создать Куб) и затем Next на странице приветствия, при необходимости. На странице Select Creation Method (Выбор метода создания) оставьте настройки по умолчанию. (Две другие настройки вы можете использовать при создании схемы вручную или с помощью шаблона.Тогда SSAS самостоятельно создаст таблицы в источнике данных на основе этой схемы, которые нужно будет заполнить данными с помощью службы Integration Services, прежде чем вы сможете просмотреть свой куб.) Нажмите Next.

На странице Select Measure Group Tables (Выбор таблиц групп мер) выберите Internet Sales, Reseller Sales и нажмите Next. (Таблицы групп мер являются синонимами таблиц фактов.) Мастер покажет все числовые колонки, найденные в выбранных таблицах групп мер. В соответствии с простым подходом, которого мы придерживались до сих пор, очистите все меры, убрав флажок Measure, расположенный в верхней части страницы, и затем выберите следующие меры для каждой группы (Internet Sales и Reseller Sales): Order Quantity, Total Product Cost и Sales Amount.

Вы также можете переименовать меры на этой странице. Щелкните правой кнопкой мыши на имени меры и введите новое имя, но убедитесь, что каждое имя будет уникальным. Имя меры должно быть коротким, но не настолько коротким, чтобы быть непонятным. Переименуйте меры в группе Internet Sales: Internet Order Quantity, Internet Cost и Internet Sales. Также переименуйте меры в группе Reseller Sales:Reseller Order Quantity, Reseller Cost и Reseller Sales. Нажмите Next.

На странице Select Existing Dimensions (Выбор существующего измерения), мастер покажет уже созданные измерения. Нажмите Next. Если существуют таблицы в DSV, которые еще не являются таблицами групп мер или существующими измерениями, страница Select New Dimensions (Выбор нового измерения) позволит быстро добавить любое другое необходимое измерение. В этом случае исключите Internet Sales и Reseller Sales, поскольку вам не нужно создавать для этих таблиц измерения. (Хотя технически — это таблицы групп мер, наличие заказов в которых позволит создавать измерения для вывода отчетов или анализа продаж по номеру заказа.)

Нажмите Next, переименуйте куб в Sales и нажмите Finish. Поздравляю!

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

Cube Designer Showing Measure Groups and Dimensions

Рис.5.Конструктор куба показывает группы мер и измерений

Первым шагом после создания куба является настройка свойства FormatString для каждой меры.Это делается для облегчения просмотра куба в браузере. Быстрый способ сделать это — просмотреть меры в таблице. На панели конструктора куба нажмите пятую слева кнопку и переключите вид с дерева на таблицу. В таблице вы можете использовать клавишу Ctrl для выбора нескольких мер одновременно. Для начала выберите Internet Order Quantity и Reseller Order Quantity. В окне Properties, в раскрывающемся списке FormatString, выберите Standard. Затем выберите все оставшиеся меры и установите свойство FormatString в Currency.

Добавление вычислений

Мощной возможностью SSAS является добавление вычислений при помощи Языка многомерных выражений (Multidimensional Expression language — MDX). Если вы умеете писать формулы в Excel, вы можете создавать вычисления в вашем кубе при помощи простых выражений MDX. Для более сложных выражений вам потребуется потратить больше времени на изучение и практику MDX.

Помните, что одна из целей моделирования нашей системы, это измерение рентабельности каналов продаж. Теперь куб включает необходимые меры для вычисления рентабельности: Internet Cost, Internet Sales, Reseller Cost и Reseller Sales. Разница между ценой продажи и стоимостью даст нам валовую прибыль.Но это вычисление дает абсолютную величину, которая не подходит для сравнения между различными каналами. В добавление к валовой прибыли, вам нужно будет вычислить процент валовой прибыли, разделив валовую прибыль на количество продаж.

В конструкторе куба нажмите на закладку Calculations, третья закладка слева. Затем нажмите кнопку New Calculated Member (Создать новый вычисляемый элемент) на панели инструментов, пятая кнопка слева. В текстовом поле Name введите [Internet Gross Margin].

Скобки нужны если имя включает пробелы. В текстовом поле Expression введите [Internet Sales] - [Internet Cost] и затем в выпадающем списке Format String выберите “Currency”. Теперь повторите эти действия для добавления вычислений из табл.1.

Имя Выражение Format String
[Reseller Gross Margin] [Reseller Sales] - [Reseller Cost] «Валюта»(«Currency»)
[Internet Gross Margin Pct] [Internet Gross Margin] / [Internet Sales] «Процент»(«Percent»)
[Reseller Gross Margin Pct] [Reseller Gross Margin] / [Reseller Sales] «Процент»(«Percent»)

Добавление в куб вычислений

 

Развертывание базы данных Analysis Services из BIDS

Несмотря на то, что мы построили объекты системы, теперь необходимо создать базу данных SSAS на сервере, ведь сама по себе она еще не существует. Те задачи проектирования, которые выполнены в BIDS, создают XML-файлы, которые должны быть развернуты на сервере.

Как только эти файлы будут развернуты, вы можете обработать базу данных, которая выполнит команды, необходимые для построения структуры хранилища.

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

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

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

 

Просмотр куба в BIDS

На каждой стадии разработки, а также при успешном развертывании и обработке системы, вы можете просматривать протекающие процессы с точки зрения пользователя. В конструкторе куба выберите закладку Browser. Панель слева отображает объекты базы данных SSAS в дереве метаданных (рис. 7). Верхний узел дерева это куб. Разверните узел Measures и содержащиеся в нем папки для просмотра всех доступных мер, и затем разверните узлы Order Date и Product для просмотра атрибутов этих измерений.

Sales cube

Рис.6.Дерево метаданных куба продаж

Вы можете удивиться, почему куб содержит Due Date, Order Date и Ship Date, если вы создавали лишь измерение Date. Эти измерения называются ролевыми измерениями (role-playing dimensions), поскольку они представляют различные логические версии одних и тех же измерений.

Они появляются автоматически в кубе, когда вы подключаете измерение Date.Таблица фактов содержит три различных столбца с внешними ключами, которые связаны с отдельными таблицами, на которые ссылается измерение Date, чтобы отследить заказ, доставку и отдельные события. (Если эти ролевые данные не используются для анализа, вы можете удалить их на странице Cube Structure (Структура Куба) в конструкторе).

Для просмотра данных куба перетащите объекты из дерева метаданных на таблицу в центре конструктора. Начните перетаскивать Internet Sales на область, помеченную как Drop Totals or Detail Fields Here (Перетащите сюда поля итогов или деталей).

Затем повторите те же действия для добавления Internet Gross Margin Pct, Reseller Sales и Reseller Gross Margin Pct в таблицу. Результаты этого простейшего запроса теперь видны в браузере куба (рис. 8), и вы видите, что интернет-продажи (Internet Sales) более эффективны, чем продажи через посредников (Reseller Sales).

Query result

Рис.Результаты запроса в браузере куба

Вы можете продолжить анализировать эти результаты, перетаскивая атрибуты в секцию для строк, столбцов или фильтра таблицы, которые все вместе называются осями (axes), или убирая меры и атрибуты из таблицы. Процесс добавления пользователями системы бизнес-аналитики объектов на оси для уточнения запроса называется срез и сетка (slice and dice), и это быстрый способ делать запросы к данным без написания кода. Например, для среза по годам перетащите Order Date.Year на секцию, отмеченную как Drop Row Fields Here (Перетащите сюда поля строк).

Поскольку Order Date.Year является иерархией (это обозначено иконкой в виде пирамиды), вы можете детализировать (drill down) срез по кварталам, разворачивая один год или несколько лет. Подобно тому, как вы накладываете сетку по категориям, перетащите Categories (Категории) на ось столбцов над мерами.

После того, как вы поместите объекты на строки или столбцы, вы можете наложить фильтр на список записей, нажав на стрелку в заголовке. Для удаления компонентов из таблицы нажмите стрелку на заголовке Category, очистите флажок Components и затем нажмите OK. Затем, для упрощения просмотра, уберите из таблицы Internet Sales и Reseller Sales. Теперь вы можете легко сравнить доходность каналов продаж через Интернет и посредников по годам, кварталам и категориям продуктов, как показано на рис. 9.

 

Profitability

Рис.8.Доходность каналов продаж по годам, кварталам и категориям

Совместное использование куба пользователями

По умолчанию, куб доступен лишь администратору сервера. Тем не менее, как только куб развернут на Analysis Server, вы можете установить полномочия для предоставления пользователям доступа к нему, позволяя им использовать излюбленные инструменты для просмотра куба. Microsoft Excel 2007 — это популярное средство для интерактивного просмотра.Вы так же можете использовать Службу отчетов для распространения отчетов на основе данных куба, но об этом я расскажу в следующей статье.

Применение полученного опыта

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

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

Вы можете узнать больше об агрегатах и других передовых технологиях, прочитав книгу:«Microsoft SQL Server 2008 Analysis Services Step by Step» (Microsoft Press, 2009), недавно опубликованную моим хорошим другом, Скоттом Камероном (Scott Cameron), который начинал свою карьеру в бизнес-аналитике вместе со мной много лет назад. Теперь вы построили свой первый куб, совершенствуйте свои навыки и вы сможете разрабатывать более сложные кубы и воспользоваться всеми возможностями платформы бизнес-аналитики Microsoft.

 

Стася Миснер (Stacia Misner) — консультант по бизнес-аналитике, педагог и автор, а так же основатель и начальник Data Inspirations. Она имеет 25-летний опыт в IT-индустрии, девять лет из которых она работает над пакетом бизнес-аналитики Microsoft BI . Стася написала несколько книг по бизнес-аналитике и SQL Server. Ее последняя книга Microsoft SQL Server 2008 Reporting Services Step by Step (Microsoft Press, 2009) (Microsoft SQL Server 2008 Reporting Services Шаг за Шагом), была выпущена в прошлом году. Ей можно написать на: smisner@datainspirations.com.

 

Дополнительные ресурсы

Analysis Services Development (Электронная документация)
msdn.microsoft.com/library/bb500183.aspx

Analysis Services Security (Электронная документация)
msdn.microsoft.com/library/ms175386.aspx

Analysis Services 2008 Videos (Электронная документация)
msdn.microsoft.com/library/dd299422.aspx