Использование MS SQL Server Analysis Services 2008 для построения хранилищ данных

Определение и развертывание куба

Разбить на страницы
Показывать лекцию целиком

Теоретическое введение

OLAP-куб

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

Проектирование измерений

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

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

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

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

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

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

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

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

Развертывание проекта

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

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

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

    После первоначального развертывания в папке <Имя проекта>\obj создается файл IncrementalSnapshot.xml. Этот файл нужен для определения, изменялась ли база данных или ее объекты на целевом сервере вне проекта. Если изменение имело место, система предложит переписать все объекты в целевой базе данных. Если все изменения были сделаны в проекте и проект настроен для добавочного развертывания, на целевом сервере будут развернуты только изменения.

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

    Практические задания

    Определение измерения

    С помощью мастера измерений создадим измерение Date.

    В обозревателе решений щелкните правой кнопкой мыши узел "Измерения" и выберите команду "Создать измерение" (рисунок 7.1).

    (рис 7.1) Контекстное меню узла "Измерения"

    На странице "Мастер измерений" нажмите кнопку "Далее" (рисунок 7.2 ).

    (рис 7.2) Мастер измерений

    На странице "Выбор метода создания" выберите параметр "Использовать существующую таблицу" (рисунок 7.3 ) и нажмите кнопку "Далее".

    (рис 7.3) Выбор метода создания

    На странице "Определение исходных сведений" убедитесь, что выбрано представление источника данных Adventure Works DW. В списке "Основная таблица" выберите таблицу "Дата" (рисунок 7.4).

    (рис 7.4) Определение исходных данных

    Нажмите кнопку "Далее". На странице "Выбор атрибутов измерения" установите флажки для перечисленных ниже атрибутов (рисунок 7.5):

  • Date Key ;
  • Full Date Alternate Key ;
  • English Month Name ;
  • Calendar Quarter ;
  • Calendar Year ;
  • Calendar Semester.
  • (рис 7.5) Выбор атрибутов измерения

    Для атрибута Full Date Alternate Key в столбце "Тип атрибута" вместо значения "Обычный" выберите "Дата". Для этого щелкните значение "Обычный" в столбце "Тип атрибута". Щелкните стрелку, чтобы раскрыть список параметров. Затем выберите значение "Дата | Календарь | Дата" (рисунок 7.6). Нажмите кнопку ОК.

    (рис 7.6) Выбор типа атрибута для столбца Full Date Alternate Key

    Повторите эти шаги, чтобы изменить тип следующих атрибутов (рисунок 7.7):

  • English Month Name на Месяц;
  • Calendar Quarter на Квартал;
  • Calendar Year на Год;
  • Calendar Semester на Полугодие;
  • (рис 7.7) Заданные типы атрибутов для столбцов измерения "Дата"

    Нажмите кнопку "Далее". На странице "Завершение работы мастера" в области просмотра будет отображено измерение "Дата" и его атрибуты (рисунок 7.8 ).

    (рис 7.8) Измерение "Дата" и его атрибуты

    Чтобы завершить работу мастера, нажмите кнопку "Готово". В обозревателе решений в проекте "Analysis Services Tutorial" в папке "Измерения" появится измерение "Дата" (рисунок 7.9 ).

    (рис 7.9) Измерение "Дата" в обозревателе решений

    В центральной части окна среды разработки это измерение отображается в конструкторе измерений (рисунок 7.10).

    (рис 7.10) Измерение "Дата" в конструкторе измерений

    В меню "Файл" выберите команду "Сохранить все".

    Определение куба и его свойств

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

    В обозревателе решений щелкните правой кнопкой мыши узел "Кубы" и выберите команду "Создать куб" (рисунок 7.11).

    (рис 7.11) Команда "Создать куб" контекстного меню узла "Куб"

    На странице "Мастер кубов" ( рисунок 7.12) нажмите кнопку "Далее".

    (рис 7.12) Мастер кубов

    На странице "Выбор метода создания" (рисунок 7.13) убедитесь, что выбран параметр "Использовать существующие таблицы", а затем нажмите кнопку "Далее".

    (рис 7.13) Выбор метода создания куба

    На странице "Выбор таблиц групп мер" убедитесь, что выбрано представление источника данных Adventure Works DW (рисунок 7.14).

    (рис 7.14) Выбор таблиц групп мер

    Нажмите кнопку "Предложить", чтобы мастер кубов предложил таблицы для создания групп мер. Мастер просматривает все таблицы и предлагает "Продажи через Интернет" в качестве таблицы группы мер (рисунок 7.15). Таблицы групп мер, также называемые таблицами фактов, содержат меры, которые могут представлять интерес (например, число проданных единиц).

    (рис 7.15) Предлагаемая мастером таблица группы мер

    Нажмите кнопку "Далее". На странице "Выбор мер" просмотрите выбранные меры в группе мер Продажи через Интернет и снимите флажки для следующих мер (рисунок 7.16):

  • Promotion Key ;
  • Currency Key ;
  • Sales Territory Key ;
  • Revision Number.
  • (рис 7.16) Выбор мер для включения в куб

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

    Нажмите кнопку "Далее". На странице "Выбор существующих измерений" выберите ранее созданное измерение "Дата" (рисунок 7.17) и нажмите кнопку "Далее".

    (рис 7.17) Выбор существующего измерения "Дата"

    На странице "Выбор новых измерений" выберите новые измерения, которые необходимо создать. Для этого убедитесь, что установлены флажки "Клиент", "География" и "Продукт", а флажок "Продажи через Интернет" снят (рисунок 7.18).

    (рис 7.18) Выбор измерений, которые будут созданы

    Нажмите кнопку "Далее". На странице "Завершение работы мастера" измените имя куба на "Analysis Services Tutorial". В области просмотра будет отображена группа мер "Продажи через Интернет" и входящие в нее меры. Кроме того, будут показаны измерения "Дата", "Клиент" и "Продукт" (рисунок 7.19).

    (рис 7.19) Имя куба и его структура

    Для завершения работы мастера нажмите кнопку "Готово". В обозревателе решений в проекте Analysis Services Tutorial в папке "Кубы" появится куб с именем "Analysis Services Tutorial", а в папке "Измерения" появятся измерения базы данных "Продукт" и "Клиент" (рисунок 7.20).

    (рис 7.20) Куб и дополнительные измерения в обозревателе решений

    Кроме того, в центре среды разработки в конструкторе кубов будет отображен куб Analysis Services Tutorial (рисунок 7.21).

    (рис 7.21) Куб Analysis Services Tutorial

    В меню "Файл" выберите команду "Сохранить все".

    Добавление атрибутов к измерениям

    Далее с помощью конструктора измерений в измерения "Клиент" и "Продукт" будут добавлены атрибуты.

    Откройте в конструкторе измерений измерение "Клиент". Для этого дважды щелкните измерение "Клиент" в узле "Измерения" обозревателя решений (рисунок 7.22).

    (рис 7.22) Измерение "Клиент" в узле "Измерения" обозревателя решений

    В области "Атрибуты" обратите внимание на атрибуты "Customer Key" и "Geography Key", созданные мастером кубов (рисунок 7.23).

    (рис 7.23) Измерение "Клиент"

    Перетащите следующие столбцы из таблицы "Клиент" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.24):

  • BirthDate ;
  • MaritalStatus ;
  • Gender ;
  • EmailAddress ;
  • YearlyIncome ;
  • TotalChildren ;
  • NumberChildrenAtHome ;
  • EnglishEducation ;
  • EnglishOccupation ;
  • HouseOwnerFlag ;
  • NumberCarsOwned ;
  • Phone ;
  • DateFirstPurchase ;
  • CommuteDistance.
  • (рис 7.24) Измерение "Клиент" с добавленными атрибутами из таблицы "Клиент"

    Перетащите следующие столбцы из таблицы "География" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.25):

  • City ;
  • StateProvinceName ;
  • EnglishCountryRegionName ;
  • PostalCode.
  • (рис 7.25) Измерение "Клиент" с добавленными атрибутами из таблицы "География"

    Откройте в конструкторе измерений измерение "Продукт".

    (рис 7.26) Измерение "Продукт" в конструкторе измерений

    В области "Атрибуты" обратите внимание на атрибут "Product Key", созданный мастером кубов.

    Перетащите следующие столбцы из таблицы "Продукт" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.27):

  • StandardCost ;
  • Color ;
  • SafetyStockLevel ;
  • ReorderPoint ;
  • ListPrice ;
  • Size ;
  • SizeRange ;
  • Weight ;
  • DaysToManufacture ;
  • ProductLine ;
  • DealerPrice ;
  • Class ;
  • Style ;
  • ModelName ;
  • StartDate ;
  • EndDate ;
  • Status.
  • (рис 7.27) Измерение "Продукт" с добавленными атрибутами

    В меню "Файл" выберите команду "Сохранить все".

    Просмотр свойств куба и измерений в конструкторе кубов

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

    Чтобы открыть конструктор кубов, в обозревателе решений в узле "Кубы" дважды щелкните куб Analysis Services Tutorial (рисунок 7.28).

    (рис 7.28) Куб Analysis Services Tutorial в обозревателе решений

    Чтобы просмотреть определенные меры, в области "Меры" вкладки "Структура куба" конструктора кубов раскройте группу мер "Продажи через Интернет" (рисунок 7.29).

    (рис 7.29) Группа мер "Продажи через Интернет" в конструкторе кубов

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

    На панели "Измерения" вкладки "Структура куба" конструктора кубов просмотрите измерения куба Analysis Services Tutorial (рисунок 7.30).

    (рис 7.30) Измерения в конструкторе кубов

    Обратите внимание, что в кубе Analysis Services Tutorial доступно пять измерений, хотя на уровне базы данных было создано только три измерения, что отражено в обозревателе решений. Куб имеет больше измерений, чем база данных, потому что измерение "Дата" в базе данных служит основой для трех отдельных измерений куба, связанных с датами. Эти измерения основаны на разных связанных с датами фактах из таблицы фактов. Эти измерения даты называются также ролевыми измерениями.

    Три измерения даты куба дают пользователям возможность разделить куб по трем отдельным фактам, связанным с каждой продажей: дате заказа товара ( Order Date ), сроку выполнения заказа ( Due Date ) и дате отгрузки заказа ( Ship Date ).

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

    В области "Измерения" вкладки "Структура куба" раскройте измерение "Клиент", а затем нажмите ссылку "Изменить Клиент" (рисунок 7.31), чтобы открыть это измерение в конструкторе измерений (рисунок 7.32).

    (рис 7.32) Ссылка "Изменить Клиент"(рис 7.31) Измерение "Клиент" в конструкторе измерений

    Конструктор измерений содержит следующие вкладки: "Структура измерения", "Связи атрибутов", "Переводы" и "Обозреватель". Обратите внимание, что вкладка "Структура измерения" содержит три области: "Атрибуты", "Иерархии" и "Представление источника данных". Атрибуты, содержащиеся в измерении, отображаются в области "Атрибуты".

    Переключитесь в конструктор кубов, щелкнув правой кнопкой мыши Analysis Services Tutorial в узле "Кубы" обозревателя решений и выбрав пункт "Открыть в конструкторе" (рисунок 7.33).

    (рис 7.33) Контекстное меню куба "Analysis Services Tutorial" в обозревателе решений

    В конструкторе кубов перейдите на вкладку "Использование измерения" (рисунок 7.34).

    (рис 7.34) Вкладка "Использование измерения" в конструкторе кубов

    В этом представлении куба Analysis Services Tutorial показаны измерения куба, используемые группой мер "Продажи через Интернет". Также можно определить тип связи между каждым измерением и каждой группой мер, в которой оно используется.

    Перейдите на вкладку "Секции" (рисунок 7.35).

    (рис 7.35) Вкладка "Секции" в конструкторе кубов

    В мастере кубов была определена единственная секция для куба с использованием режима хранения результатов многомерной интерактивной аналитической обработки данных (MOLAP) без статистических выражений. Для обработки MOLAP все данные конечного уровня и все статистические выражения хранятся в кубе, чтобы обеспечить максимальную производительность. Статистические выражения представляют собой предварительно вычисленные сводные данные, которые содержат ответы на еще не заданные вопросы, что позволяет сократить время до получения ответа на запрос. На вкладке "Секции" можно определять дополнительные секции, параметры хранения и настройки обратной записи.

    Перейдите на вкладку "Обозреватель" (рисунок 7.36).

    (рис 7.36) Вкладка "Обозреватель" в конструкторе кубов

    Обратите внимание, что куб нельзя просмотреть, поскольку он еще не был развернут на экземпляре служб Analysis Services. На данном этапе куб в проекте Analysis Services Tutorial представляет собой лишь определение куба, его можно развернуть на любом экземпляре служб Analysis Services. Во время развертывания и обработки куба пользователь создает определенные объекты в экземпляре служб Analysis Services и заполняет эти объекты данными из базовых источников данных.

    В обозревателе решений щелкните правой кнопкой мыши Analysis Services Tutorial в узле "Кубы" и выберите пункт "Перейти к коду" (рисунок 7.37).

    (рис 7.37) Контекстное меню куба Analysis Services Tutorial в обозревателе решений

    На вкладке "Analysis Services Tutorial.cube [ XML ]" отображается XML -код куба Analysis Services Tutorial (рисунок 7.38). Это фактический код, используемый для создания куба в экземпляре служб Analysis Services в процессе развертывания.

    (рис 7.38) XML-код куба Analysis Services Tutorial

    Закройте вкладку XML -кода.

    Развертывание проекта служб Analysis Services

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

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

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

    В обозревателе решений щелкните правой кнопкой мыши проект Analysis Services Tutorial и выберите пункт "Свойства" (рисунок 7.39).

    (рис 7.39) Контекстное меню проекта Analysis Services Tutorial

    Откроется диалоговое окно "Страницы свойств Analysis Services Tutorial " (рисунок 7.40), содержащее свойства конфигурации Active(Development).

    (рис 7.40) Диалоговое окно "Страницы свойств Analysis Services Tutorial"

    Можно определить несколько конфигураций, каждая из которых будет иметь собственные значения свойств. Например, разработчик может по-разному настроить один и тот же проект для его развертывания на разных компьютерах с разными свойствами среды разработки, такими как имена баз данных или свойства обработки. Обратите внимание на значение свойства "Путь вывода". Это свойство указывает расположение, в котором сохраняются XMLA -сценарии развертывания проекта при его сборке. Это сценарии, используемые для развертывания содержащихся в проекте объектов для экземпляра служб Analysis Services.

    В узле "Свойства конфигурации" в левой области щелкните элемент "Развертывание" (рисунок 7.41).

    (рис 7.41) Элемент "Развертывание" страниц свойств Analysis Services Tutorial

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

    Если необходимо развернуть проект на именованном экземпляре служб Analysis Services на локальном компьютере или на экземпляре удаленного сервера, то следует задать для свойства Server соответствующее имя экземпляра, например <ИмяСервера>\<ИмяЭкземпляра>.

    Нажмите кнопку ОК.

    В обозревателе решений щелкните правой кнопкой мыши проект Analysis Services Tutorial и выберите пункт "Развертывание" (рисунок 7.42).

    (рис 7.42) Контекстное меню проекта Analysis Services Tutorial в

    В среде BI DevStudio собирается и развертывается проект Analysis Services Tutorial на указанном экземпляре служб Analysis Services с использованием сценария развертывания. Ход выполнения развертывания отображается в двух окнах: Вывод и Выполнение развертывания - Analysis Services Tutorial (рисунок 7.43).

    (рис 7.44) Окно "Вывод" (рис 7.43) Окно "Выполнение развертывания"

    Откройте окно "Вывод", если необходимо, выбрав пункт "Вывод" в меню "Вид". В окне "Вывод" отображается общий ход выполнения развертывания. В окне "Выполнение развертывания - Analysis Services Tutorial" отображаются подробные сведения о каждом шаге, выполняемом в процессе развертывания.

    Развертывание куба Analysis Services Tutorial для локального экземпляра Analysis Services и его обработка успешно завершены.

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

    После развертывания куба данные куба отображаются на вкладке "Обозреватель" конструктора кубов (рисунок 7.45), а данные измерений отображаются на вкладке "Обозреватель" конструктора измерений (рисунок 7.46).

    (рис 7.46) Вкладка"Обозреватель" конструктора кубов (рис 7.45) Вкладка "Обозреватель" конструктора измерений

    В конструкторе измерений среды BI Dev Studio откройте измерение "Продукт" (рисунок 7.47). Для этого дважды щелкните измерение "Продукт" в узле "Измерения" обозревателя решений (рисунок 7.48).

    (рис 7.48) Измерение "Продукт" в конструкторе измерений (рис 7.47) Измерение "Продукт" в обозревателе решений

    Перейдите на вкладку "Обозреватель", чтобы просмотреть элемент All иерархии атрибутов Product Key (рисунок 7.49).

    (рис 7.49) Элемент All иерархии атрибутов ProductKey

    В лабораторной работе № 4 будет определена пользовательская иерархия для измерения "Продукт", позволяющая просматривать это измерение.

    Перейдите в конструктор кубов среды BI DevStudio (рисунок 7.45). Для этого в обозревателе решений в узле Кубы дважды щелкните куб Analysis Services Tutorial (рисунок 7.50).

    (рис 7.50) Куб Analysis Services Tutorial в обозревателе решений

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

    Разверните измерение " Order Date " (Дата заказа) в левой части закладки "Обозреватель" конструктора кубов и выделите измерение Order Date. English Month Name (Дата заказа - Англоязычное название месяца) (рисунок 7.51).

    (рис 7.51) Измерение Order Date.English Month Name

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

    (рис 7.52) Выбранное измерение-столбец

    Аналогичным образом выделите измерение Продукт. Model Name (Название модели) и перетащите его в прямоугольник "Перетащите сюда поля для строк" (рисунок 7.53).

    (рис 7.53) Выбранное измерение-строка

    Далее выберите меру Продажи через Интернет. Sales Amount (Сумма продаж) и перетащите ее в прямоугольник "Перетащите сюда поля итогов или деталей" (рисунок 7.54).

    (рис 7.54) Добавленная мера

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

    Контрольные вопросы

  • Дайте определения понятиям " OLAP -куб", "измерение", "мера", "элемент измерения", "иерархия измерения".
  • Какие действия производятся при развертывании проекта?
  • Страницы:

    Теоретическое введение

    OLAP-куб

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

    Проектирование измерений

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

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

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

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

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

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

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

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

    Развертывание проекта

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

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

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

    После первоначального развертывания в папке <Имя проекта>\obj создается файл IncrementalSnapshot.xml. Этот файл нужен для определения, изменялась ли база данных или ее объекты на целевом сервере вне проекта. Если изменение имело место, система предложит переписать все объекты в целевой базе данных. Если все изменения были сделаны в проекте и проект настроен для добавочного развертывания, на целевом сервере будут развернуты только изменения.

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

    Практические задания

    Определение измерения

    С помощью мастера измерений создадим измерение Date.

    В обозревателе решений щелкните правой кнопкой мыши узел "Измерения" и выберите команду "Создать измерение" (рисунок 7.1).

    (рис 7.1) Контекстное меню узла "Измерения"

    На странице "Мастер измерений" нажмите кнопку "Далее" (рисунок 7.2 ).

    (рис 7.2) Мастер измерений

    На странице "Выбор метода создания" выберите параметр "Использовать существующую таблицу" (рисунок 7.3 ) и нажмите кнопку "Далее".

    (рис 7.3) Выбор метода создания

    На странице "Определение исходных сведений" убедитесь, что выбрано представление источника данных Adventure Works DW. В списке "Основная таблица" выберите таблицу "Дата" (рисунок 7.4).

    (рис 7.4) Определение исходных данных

    Нажмите кнопку "Далее". На странице "Выбор атрибутов измерения" установите флажки для перечисленных ниже атрибутов (рисунок 7.5):

  • Date Key ;
  • Full Date Alternate Key ;
  • English Month Name ;
  • Calendar Quarter ;
  • Calendar Year ;
  • Calendar Semester.
  • (рис 7.5) Выбор атрибутов измерения

    Для атрибута Full Date Alternate Key в столбце "Тип атрибута" вместо значения "Обычный" выберите "Дата". Для этого щелкните значение "Обычный" в столбце "Тип атрибута". Щелкните стрелку, чтобы раскрыть список параметров. Затем выберите значение "Дата | Календарь | Дата" (рисунок 7.6). Нажмите кнопку ОК.

    (рис 7.6) Выбор типа атрибута для столбца Full Date Alternate Key

    Повторите эти шаги, чтобы изменить тип следующих атрибутов (рисунок 7.7):

  • English Month Name на Месяц;
  • Calendar Quarter на Квартал;
  • Calendar Year на Год;
  • Calendar Semester на Полугодие;
  • (рис 7.7) Заданные типы атрибутов для столбцов измерения "Дата"

    Нажмите кнопку "Далее". На странице "Завершение работы мастера" в области просмотра будет отображено измерение "Дата" и его атрибуты (рисунок 7.8 ).

    (рис 7.8) Измерение "Дата" и его атрибуты

    Чтобы завершить работу мастера, нажмите кнопку "Готово". В обозревателе решений в проекте "Analysis Services Tutorial" в папке "Измерения" появится измерение "Дата" (рисунок 7.9 ).

    (рис 7.9) Измерение "Дата" в обозревателе решений

    В центральной части окна среды разработки это измерение отображается в конструкторе измерений (рисунок 7.10).

    (рис 7.10) Измерение "Дата" в конструкторе измерений

    В меню "Файл" выберите команду "Сохранить все".

    Определение куба и его свойств

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

    В обозревателе решений щелкните правой кнопкой мыши узел "Кубы" и выберите команду "Создать куб" (рисунок 7.11).

    (рис 7.11) Команда "Создать куб" контекстного меню узла "Куб"

    На странице "Мастер кубов" ( рисунок 7.12) нажмите кнопку "Далее".

    (рис 7.12) Мастер кубов

    На странице "Выбор метода создания" (рисунок 7.13) убедитесь, что выбран параметр "Использовать существующие таблицы", а затем нажмите кнопку "Далее".

    (рис 7.13) Выбор метода создания куба

    На странице "Выбор таблиц групп мер" убедитесь, что выбрано представление источника данных Adventure Works DW (рисунок 7.14).

    (рис 7.14) Выбор таблиц групп мер

    Нажмите кнопку "Предложить", чтобы мастер кубов предложил таблицы для создания групп мер. Мастер просматривает все таблицы и предлагает "Продажи через Интернет" в качестве таблицы группы мер (рисунок 7.15). Таблицы групп мер, также называемые таблицами фактов, содержат меры, которые могут представлять интерес (например, число проданных единиц).

    (рис 7.15) Предлагаемая мастером таблица группы мер

    Нажмите кнопку "Далее". На странице "Выбор мер" просмотрите выбранные меры в группе мер Продажи через Интернет и снимите флажки для следующих мер (рисунок 7.16):

  • Promotion Key ;
  • Currency Key ;
  • Sales Territory Key ;
  • Revision Number.
  • (рис 7.16) Выбор мер для включения в куб

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

    Нажмите кнопку "Далее". На странице "Выбор существующих измерений" выберите ранее созданное измерение "Дата" (рисунок 7.17) и нажмите кнопку "Далее".

    (рис 7.17) Выбор существующего измерения "Дата"

    На странице "Выбор новых измерений" выберите новые измерения, которые необходимо создать. Для этого убедитесь, что установлены флажки "Клиент", "География" и "Продукт", а флажок "Продажи через Интернет" снят (рисунок 7.18).

    (рис 7.18) Выбор измерений, которые будут созданы

    Нажмите кнопку "Далее". На странице "Завершение работы мастера" измените имя куба на "Analysis Services Tutorial". В области просмотра будет отображена группа мер "Продажи через Интернет" и входящие в нее меры. Кроме того, будут показаны измерения "Дата", "Клиент" и "Продукт" (рисунок 7.19).

    (рис 7.19) Имя куба и его структура

    Для завершения работы мастера нажмите кнопку "Готово". В обозревателе решений в проекте Analysis Services Tutorial в папке "Кубы" появится куб с именем "Analysis Services Tutorial", а в папке "Измерения" появятся измерения базы данных "Продукт" и "Клиент" (рисунок 7.20).

    (рис 7.20) Куб и дополнительные измерения в обозревателе решений

    Кроме того, в центре среды разработки в конструкторе кубов будет отображен куб Analysis Services Tutorial (рисунок 7.21).

    (рис 7.21) Куб Analysis Services Tutorial

    В меню "Файл" выберите команду "Сохранить все".

    Добавление атрибутов к измерениям

    Далее с помощью конструктора измерений в измерения "Клиент" и "Продукт" будут добавлены атрибуты.

    Откройте в конструкторе измерений измерение "Клиент". Для этого дважды щелкните измерение "Клиент" в узле "Измерения" обозревателя решений (рисунок 7.22).

    (рис 7.22) Измерение "Клиент" в узле "Измерения" обозревателя решений

    В области "Атрибуты" обратите внимание на атрибуты "Customer Key" и "Geography Key", созданные мастером кубов (рисунок 7.23).

    (рис 7.23) Измерение "Клиент"

    Перетащите следующие столбцы из таблицы "Клиент" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.24):

  • BirthDate ;
  • MaritalStatus ;
  • Gender ;
  • EmailAddress ;
  • YearlyIncome ;
  • TotalChildren ;
  • NumberChildrenAtHome ;
  • EnglishEducation ;
  • EnglishOccupation ;
  • HouseOwnerFlag ;
  • NumberCarsOwned ;
  • Phone ;
  • DateFirstPurchase ;
  • CommuteDistance.
  • (рис 7.24) Измерение "Клиент" с добавленными атрибутами из таблицы "Клиент"

    Перетащите следующие столбцы из таблицы "География" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.25):

  • City ;
  • StateProvinceName ;
  • EnglishCountryRegionName ;
  • PostalCode.
  • (рис 7.25) Измерение "Клиент" с добавленными атрибутами из таблицы "География"

    Откройте в конструкторе измерений измерение "Продукт".

    (рис 7.26) Измерение "Продукт" в конструкторе измерений

    В области "Атрибуты" обратите внимание на атрибут "Product Key", созданный мастером кубов.

    Перетащите следующие столбцы из таблицы "Продукт" в области "Представление источника данных" в область "Атрибуты" (рисунок 7.27):

  • StandardCost ;
  • Color ;
  • SafetyStockLevel ;
  • ReorderPoint ;
  • ListPrice ;
  • Size ;
  • SizeRange ;
  • Weight ;
  • DaysToManufacture ;
  • ProductLine ;
  • DealerPrice ;
  • Class ;
  • Style ;
  • ModelName ;
  • StartDate ;
  • EndDate ;
  • Status.
  • (рис 7.27) Измерение "Продукт" с добавленными атрибутами

    В меню "Файл" выберите команду "Сохранить все".

    Просмотр свойств куба и измерений в конструкторе кубов

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

    Чтобы открыть конструктор кубов, в обозревателе решений в узле "Кубы" дважды щелкните куб Analysis Services Tutorial (рисунок 7.28).

    (рис 7.28) Куб Analysis Services Tutorial в обозревателе решений

    Чтобы просмотреть определенные меры, в области "Меры" вкладки "Структура куба" конструктора кубов раскройте группу мер "Продажи через Интернет" (рисунок 7.29).

    (рис 7.29) Группа мер "Продажи через Интернет" в конструкторе кубов

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

    На панели "Измерения" вкладки "Структура куба" конструктора кубов просмотрите измерения куба Analysis Services Tutorial (рисунок 7.30).

    (рис 7.30) Измерения в конструкторе кубов

    Обратите внимание, что в кубе Analysis Services Tutorial доступно пять измерений, хотя на уровне базы данных было создано только три измерения, что отражено в обозревателе решений. Куб имеет больше измерений, чем база данных, потому что измерение "Дата" в базе данных служит основой для трех отдельных измерений куба, связанных с датами. Эти измерения основаны на разных связанных с датами фактах из таблицы фактов. Эти измерения даты называются также ролевыми измерениями.

    Три измерения даты куба дают пользователям возможность разделить куб по трем отдельным фактам, связанным с каждой продажей: дате заказа товара ( Order Date ), сроку выполнения заказа ( Due Date ) и дате отгрузки заказа ( Ship Date ).

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

    В области "Измерения" вкладки "Структура куба" раскройте измерение "Клиент", а затем нажмите ссылку "Изменить Клиент" (рисунок 7.31), чтобы открыть это измерение в конструкторе измерений (рисунок 7.32).

    (рис 7.32) Ссылка "Изменить Клиент"(рис 7.31) Измерение "Клиент" в конструкторе измерений

    Конструктор измерений содержит следующие вкладки: "Структура измерения", "Связи атрибутов", "Переводы" и "Обозреватель". Обратите внимание, что вкладка "Структура измерения" содержит три области: "Атрибуты", "Иерархии" и "Представление источника данных". Атрибуты, содержащиеся в измерении, отображаются в области "Атрибуты".

    Переключитесь в конструктор кубов, щелкнув правой кнопкой мыши Analysis Services Tutorial в узле "Кубы" обозревателя решений и выбрав пункт "Открыть в конструкторе" (рисунок 7.33).

    (рис 7.33) Контекстное меню куба "Analysis Services Tutorial" в обозревателе решений

    В конструкторе кубов перейдите на вкладку "Использование измерения" (рисунок 7.34).

    (рис 7.34) Вкладка "Использование измерения" в конструкторе кубов

    В этом представлении куба Analysis Services Tutorial показаны измерения куба, используемые группой мер "Продажи через Интернет". Также можно определить тип связи между каждым измерением и каждой группой мер, в которой оно используется.

    Перейдите на вкладку "Секции" (рисунок 7.35).

    (рис 7.35) Вкладка "Секции" в конструкторе кубов

    В мастере кубов была определена единственная секция для куба с использованием режима хранения результатов многомерной интерактивной аналитической обработки данных (MOLAP) без статистических выражений. Для обработки MOLAP все данные конечного уровня и все статистические выражения хранятся в кубе, чтобы обеспечить максимальную производительность. Статистические выражения представляют собой предварительно вычисленные сводные данные, которые содержат ответы на еще не заданные вопросы, что позволяет сократить время до получения ответа на запрос. На вкладке "Секции" можно определять дополнительные секции, параметры хранения и настройки обратной записи.

    Перейдите на вкладку "Обозреватель" (рисунок 7.36).

    (рис 7.36) Вкладка "Обозреватель" в конструкторе кубов

    Обратите внимание, что куб нельзя просмотреть, поскольку он еще не был развернут на экземпляре служб Analysis Services. На данном этапе куб в проекте Analysis Services Tutorial представляет собой лишь определение куба, его можно развернуть на любом экземпляре служб Analysis Services. Во время развертывания и обработки куба пользователь создает определенные объекты в экземпляре служб Analysis Services и заполняет эти объекты данными из базовых источников данных.

    В обозревателе решений щелкните правой кнопкой мыши Analysis Services Tutorial в узле "Кубы" и выберите пункт "Перейти к коду" (рисунок 7.37).

    (рис 7.37) Контекстное меню куба Analysis Services Tutorial в обозревателе решений

    На вкладке "Analysis Services Tutorial.cube [ XML ]" отображается XML -код куба Analysis Services Tutorial (рисунок 7.38). Это фактический код, используемый для создания куба в экземпляре служб Analysis Services в процессе развертывания.

    (рис 7.38) XML-код куба Analysis Services Tutorial

    Закройте вкладку XML -кода.

    Развертывание проекта служб Analysis Services

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

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

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

    В обозревателе решений щелкните правой кнопкой мыши проект Analysis Services Tutorial и выберите пункт "Свойства" (рисунок 7.39).

    (рис 7.39) Контекстное меню проекта Analysis Services Tutorial

    Откроется диалоговое окно "Страницы свойств Analysis Services Tutorial " (рисунок 7.40), содержащее свойства конфигурации Active(Development).

    (рис 7.40) Диалоговое окно "Страницы свойств Analysis Services Tutorial"

    Можно определить несколько конфигураций, каждая из которых будет иметь собственные значения свойств. Например, разработчик может по-разному настроить один и тот же проект для его развертывания на разных компьютерах с разными свойствами среды разработки, такими как имена баз данных или свойства обработки. Обратите внимание на значение свойства "Путь вывода". Это свойство указывает расположение, в котором сохраняются XMLA -сценарии развертывания проекта при его сборке. Это сценарии, используемые для развертывания содержащихся в проекте объектов для экземпляра служб Analysis Services.

    В узле "Свойства конфигурации" в левой области щелкните элемент "Развертывание" (рисунок 7.41).

    (рис 7.41) Элемент "Развертывание" страниц свойств Analysis Services Tutorial

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

    Если необходимо развернуть проект на именованном экземпляре служб Analysis Services на локальном компьютере или на экземпляре удаленного сервера, то следует задать для свойства Server соответствующее имя экземпляра, например <ИмяСервера>\<ИмяЭкземпляра>.

    Нажмите кнопку ОК.

    В обозревателе решений щелкните правой кнопкой мыши проект Analysis Services Tutorial и выберите пункт "Развертывание" (рисунок 7.42).

    (рис 7.42) Контекстное меню проекта Analysis Services Tutorial в

    В среде BI DevStudio собирается и развертывается проект Analysis Services Tutorial на указанном экземпляре служб Analysis Services с использованием сценария развертывания. Ход выполнения развертывания отображается в двух окнах: Вывод и Выполнение развертывания - Analysis Services Tutorial (рисунок 7.43).

    (рис 7.44) Окно "Вывод" (рис 7.43) Окно "Выполнение развертывания"

    Откройте окно "Вывод", если необходимо, выбрав пункт "Вывод" в меню "Вид". В окне "Вывод" отображается общий ход выполнения развертывания. В окне "Выполнение развертывания - Analysis Services Tutorial" отображаются подробные сведения о каждом шаге, выполняемом в процессе развертывания.

    Развертывание куба Analysis Services Tutorial для локального экземпляра Analysis Services и его обработка успешно завершены.

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

    После развертывания куба данные куба отображаются на вкладке "Обозреватель" конструктора кубов (рисунок 7.45), а данные измерений отображаются на вкладке "Обозреватель" конструктора измерений (рисунок 7.46).

    (рис 7.46) Вкладка"Обозреватель" конструктора кубов (рис 7.45) Вкладка "Обозреватель" конструктора измерений

    В конструкторе измерений среды BI Dev Studio откройте измерение "Продукт" (рисунок 7.47). Для этого дважды щелкните измерение "Продукт" в узле "Измерения" обозревателя решений (рисунок 7.48).

    (рис 7.48) Измерение "Продукт" в конструкторе измерений (рис 7.47) Измерение "Продукт" в обозревателе решений

    Перейдите на вкладку "Обозреватель", чтобы просмотреть элемент All иерархии атрибутов Product Key (рисунок 7.49).

    (рис 7.49) Элемент All иерархии атрибутов ProductKey

    В лабораторной работе № 4 будет определена пользовательская иерархия для измерения "Продукт", позволяющая просматривать это измерение.

    Перейдите в конструктор кубов среды BI DevStudio (рисунок 7.45). Для этого в обозревателе решений в узле Кубы дважды щелкните куб Analysis Services Tutorial (рисунок 7.50).

    (рис 7.50) Куб Analysis Services Tutorial в обозревателе решений

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

    Разверните измерение " Order Date " (Дата заказа) в левой части закладки "Обозреватель" конструктора кубов и выделите измерение Order Date. English Month Name (Дата заказа - Англоязычное название месяца) (рисунок 7.51).

    (рис 7.51) Измерение Order Date.English Month Name

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

    (рис 7.52) Выбранное измерение-столбец

    Аналогичным образом выделите измерение Продукт. Model Name (Название модели) и перетащите его в прямоугольник "Перетащите сюда поля для строк" (рисунок 7.53).

    (рис 7.53) Выбранное измерение-строка

    Далее выберите меру Продажи через Интернет. Sales Amount (Сумма продаж) и перетащите ее в прямоугольник "Перетащите сюда поля итогов или деталей" (рисунок 7.54).

    (рис 7.54) Добавленная мера

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

    Контрольные вопросы

  • Дайте определения понятиям " OLAP -куб", "измерение", "мера", "элемент измерения", "иерархия измерения".
  • Какие действия производятся при развертывании проекта?
  • Вернуться к учебному плану