Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» А. Пономарев Анализ банков данных Оперативная аналитическая обработка данных OLAP Интеллектуальный анализ данных Методические указания к выполнению лабораторных работ по курсу «Анализ баз данных» для студентов VI курса специальностей 230105 «Программное обеспечение вычислительной техники и автоматизированных систем». 230201 «Информационные системы и технологии» Издательство Томского политехнического университета 2013 УДК 681.324.016 ББК 00000 П00 Пономарев А.А. П00 Анализ данных: методические указания по выполнению лабораторного практикума для студентов специальностей 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», 230201 «Информационные системы и технологии». /Сост. А. Пономарев. А.А. – Томск: Изд-во ТПУ, 2013. – 91 с. УДК 681.324.016 ББК 00000 Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры автоматики и компьютерных систем « 29 » января 2013 г. Зав. кафедрой АиКС доктор технических наук __________Г.П. Цапко Председатель учебно-методической комиссии __________Е.А. Кочегурова © Томский политехнический университет, 2013 ©Оформление. Издательство Томского политехнического университета, 2013 Оглавление Оперативная аналитическая обработка данных OLAP. ............................ 4 Лабораторная работа №1 «Реляционная база данных, хранимые процедуры, триггеры» ............................................................................................ 8 Лабораторная работа № 2 Подготовка базы данных SQL Server........... 23 Лабораторная работа № 3 «Служба Microsoft SQL Server Analysis Services (SSAS)» .................................................................................................... 34 Лабораторная работа № 4 Построение и работа с моделями Data Mining ................................................................................................................................. 64 Оперативная аналитическая обработка данных OLAP. Интеллектуальный анализ данных OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология обработки информации, включающая составление и динамическую публикацию отчётов и документов. Используется аналитиками для быстрой обработки сложных запросов к базе данных. Служит для подготовки бизнес-отчётов по продажам, маркетингу, в целях управления, т. н. data mining — добыча данных (способ анализа информации в базе данных с целью отыскания аномалий и трендов без выяснения смыслового значения записей). Data Mining - современная технология анализа информации с целью нахождения в накопленных данных ранее неизвестных, нетривиальных и практически полезных знаний, необходимых для принятия оптимальных решений в различных областях человеческой деятельности. Microsoft SQL Server предоставляет интегрированную среду для создания моделей Data Mining и работы с ними. В курсе описаны четыре сценария (адресная рассылка, прогнозирование, анализ покупательской корзины и анализ последовательности покупок) для демонстрации методов использования алгоритмов Data Mining, а также сопутствующего инструментария, входящего в состав SQL Server Analysis Services. Средства анализа данных OLAP и Data Mining объединены в две среды разработки: Business Intelligence Development Studio и SQL Server Management Studio. В Business Intelligence Development Studio можно создавать отсоединенные от сервера проекты. В этом случае готовый проект можно загрузить на сервер, но ничто не мешает работать с проектом, работающим с сервером напрямую. Все средства для управления моделями Data Mining доступны в редакторе моделей. С его помощью можно создавать, просматривать, сравнивать разные модели, а также создавать на их базе прогнозы. После создания модели можно провести ее анализ на предмет выявления интересных для нас шаблонов (паттернов) и правил. В зависимости от применяемого алгоритма в среде разработки используется различные представления просматриваемой модели. Поскольку зачастую проект содержит несколько моделей Data Mining, предварительно созданных на основе наших предположений, то возникает задача определения наиболее адекватной из них. Для решения этой задачи в редакторе присутствует средство сравнения моделей Mining Accuracy Chart. С использованием этого инструмента можно предсказать точность модели и выбрать лучшую их них. Для создания прогнозов используется язык Data Mining Extensions (DMX), который является расширением SQL и содержит команды для создания, изменения и осуществления предсказаний на основании различных моделей. Создание таких прогнозов может быть сложной задачей, поэтому в редакторе присутствует инструмент под названием Prediction Query Builder, которых представляет собой визуальное средство создания DMX-запросов. Кроме инструментария для работы с моделями, не менее значимыми являются и способы создания моделей. Ключевым моментом создания модели является выбор алгоритма обнаружения данных. SQL ServerAnalysis Services включает в себя следующие девять алгоритмов: Дерево решений (Microsoft Decision Trees) Кластеризация (Microsoft Clustering) "Наивный" Байес (Microsoft Native Bayes) Кластеризация последовательностей (Microsoft Sequence Clustering) Временные ряды (Microsoft Time Series) Ассоциативные правила (Microsoft Association) Нейронная сеть (Microsoft Neural Network) Линейная регрессия (Microsoft Linear Regression) Логистическая регрессия (Microsoft Logistic Regression) Используя комбинацию этих алгоритмов можно создавать решения для большей части встречающихся задач по обнаружению скрытых закономерностей в больших объемах данных. Наиболее важные шаги создания модели Data Mining состоят в получении, объединении, очистке и предобработке данных для дальнейшего использования алгоритмом. В состав SQL Server входят средства преобразования данных - SQL Server Integration Services (SSIS), которые позволяют объединять, очищать, проверять и проводить предварительную обработку данных. Для демонстрации возможностей SQL Server мы будем использовать демо-проект AdventureWorksDW. Эта база включена в поставку SQL Server и спроектирована должным образом для работы с OLAP и моделями Data Mining. Чтобы эта база была доступна следует выбрать опцию установки этого проекта во время инсталляции SQL Server. Проект Adventure Works Проект AdventureWorksDW описывает работу производителя велосипедов - компании "Adventure Works Cycles". Компания занимается производством и реализацией велосипедов из металлических и композиционных материалов на территории Северной Америки, Европы и Азии. Головное производство, которое располагает 500 сотрудниками, находится в городе Bothell, штат Вашингтон. Несколько региональных офисов находятся непосредственно на территории рынков сбыта. Компания реализует продукцию оптом для специализированных магазинов и в розницу через интернет. Для решения демонстрационных задач мы будем использовать в базе AdventureWorksDW данные об интернет продажах, поскольку они содержат данные, хорошо подходящие для анализа. Описание базы данных В базе интернет продаж содержатся сведения о 9 242 клиентах, которые живут в 6 странах, относящихся к трем регионам: Серверная Америка (83%) Европа (12%) Австралия (7%) Данные относятся к периоду с 2002 по 2004 годы. Вся продукция классифицирована по категориям, моделям и товарам. Описание среды разработки - Business Intelligence Development Studio Среда разработки "Business Intelligence Development Studio" представляет собой интегрированную среду разработки для создания проектов анализа данных (business intelligence) и включает в себя множество инструментов. Она позволяет работать с моделями в отсоединенном от сервера режиме, а затем развертывать обновленный проект на сервере. Можно отметить следующие преимущества работы в единой среде: Среда является мощным средством управления проектами Вы можете объединять несколько проектов в одно решение (solution) и использовать для них общее представление. Полная интеграция с системой хранения исходного кода позволяет удобно организовывать совместную работу над проектом. Проект Analysis Services является центральным в решении business intelligence. Проект включает в себя модели Data Mining и кубы OLAP, а также вспомогательные объекты наполнения аналитической базы данных. Из студии можно создавать проекты анализа данных и развертывать их на множестве серверов. При работе с ранее созданным проектом, который уже находится на сервере, можно работать с ним напрямую. Среда управления - SQL Server Management Studio Среда SQL Server Management Studio является оболочкой для множества административных функций для управления компонентами SQL Server. Эта среда отличается от Business Intelligence Development Studio в первую очередь тем, что изменения сохраняются на сервер в реальном времени. После предварительной очистки и предобработки данных большая часть всех дальнейших действий по созданию модели выполняется в среде Business Intelligence Development Studio. В ней выполняются действия по созданию и проверке моделей, а также итеративное тестирование для выявления наиболее адекватной модели. После получения нужной модели ее можно развернуть на сервере. После этого фокус смещается с разработки на поддержку и использование модели для чего подходит SQL Server Management Studio. С ее помощью можно администрировать базу данных и выполнять просмотр и создание предсказаний аналогично тому, как это выполняется в среде Business Intelligence Development Studio Сервисы интеграции - Integration Services Integration Services (сервисы интеграции, SSIS) включают в себя средства получения (Extract), преобразования (Transform) и загрузки (Load) (ETL) данных из различных источников. Они используются для некоторых очень важных задач в проектах извлечения данных, таких как извлечение, объединение, очистка и предобработка данных, предшествующие созданию модели. В проектах извлечения данных и в процессе настройки моделей обычно необходимо проводить неоднократную предобработку и очистку данных. С помощью SSIS можно объединить задачи предобработки данных в единый пакет. Среда SSIS содержит визуальный редактор, с помощью которого удобно создавать и отлаживать пакеты преобразования данных. Из него можно загрузить пакеты на сервер и настроить планировщик для их выполнения. Это удобно использовать, к примеру, для автоматической предобработки новых поступающих данных. Курс разделен на три части: 1. подготовка базы данных SQL Server, 2. подготовка базы данных Analysis Services 3. построение и работа с моделями Data Mining. Лабораторная работа №1 «Реляционная база данных, хранимые процедуры, триггеры» Цель работы приобретение практических навыков при работе с СУБД MSSQL в создании процедур и триггеров при работе с OLTP. Задания 1) Написать хранимую процедуру для получения списка сотрудников в формате (Фамилия Имя). 2) Написать хранимую процедуру для получения списка заказчиков, проживающих в городе. 3) Написать хранимую процедуру для получения списка всех наименований валют. 4) Написать хранимую процедуру для получения списка заказчиков – мужчин. 5) Написать хранимую процедуру для получения списка сотрудников – мужчин, имеющих день рождения в течение от 01 января 1979 г. по 01 января 1981 г. 6) Написать триггер, обеспечивающий целостность данных при удалении записи из таблицы DimProductSubcategory. 7) Написать триггер, обеспечивающий целостность данных при удалении записи из таблицы DimProduct. Общие сведения Для проведения данной лабораторной установлены следующие компоненты: работы должны быть SQL Server Management Studio для работы с базами данных; SQL Server ; Образец базы данных AdventureWorksDW. Можно загрузить образец базы данных со страницы SQL Server Samples and Sample Databases (образцы баз данных и другие образцы SQL Server) в центре загрузки Microsoft, либо использовать следующие указания для установки образца базы данных во время или после установки SQL Server. Установка образца во время выполнения программы установки Чтобы установить образец баз данных и сопутствующие примеры с помощью программы установки, выполните следующие действия: на странице Компоненты для установки выберите Компоненты рабочей станции, электронная документация и средства разработки; нажмите кнопку Дополнительно и раскройте пункт Документация, примеры и образцы баз данных; выберите Образцы кода и приложений; раскройте пункт Образцы баз данных и выберите образцы баз данных для установки; для завершения установки примеров после завершения установки выполните следующие шаги: o в меню Пуск последовательно выберите пункты Программы, Microsoft SQL Server, Документация и учебные материалы, Примеры и Примеры Microsoft SQL Server; o либо при помощи проводника Windows перейдите в папку <диск>:\Program Files\Microsoft SQL Server\90\Tools\Samples\ и дважды щелкните файл SqlServerSamples.msi для запуска программы установки. Установка образца после завершения программы установки Если образец базы данных не был установлен во время начальной установки SQL Server, его можно установить позже. в средстве Установка и удаление программ выберите Microsoft SQL Server и нажмите кнопку Изменить. Следуйте инструкциям мастера Обслуживание Microsoft SQL Server; в окне Выбор компонентов выберите Компоненты рабочей станции и нажмите кнопку Дальше; на странице Вас приветствует мастер установки SQL Server нажмите кнопку Далее; на странице Проверка конфигурации системы нажмите кнопку Далее; в окне Изменить или удалить экземпляр выберите Изменить установленные компоненты; в окне Выбор компонентов раскройте узел Документация, примеры и образцы баз данных; выберите Образцы кода и приложений; раскройте пункт Образцы баз данных и выберите образец базы данных для установки. Нажмите кнопку Далее; чтобы установить и подключить образцы баз данных, на странице Установка образцов баз данных выберите Установить и подключить образцы баз данных, а затем нажмите кнопку Далее; Файлы базы данных создаются и сохраняются в папке <диск>:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data. Базы данных активизируются и готовы к использованию. чтобы установить образец базы данных без подключения, на странице Установка образцов баз данных выберите Установить образцы баз данных и нажмите кнопку Далее; Файлы базы данных AdventureWorksDW создаются в папке <диск>:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Data Warehouse. Перед использованием базу данных необходимо подключить. выберите экземпляр SQL Server, куда устанавливаются образцы базы данных и примеры; завершить шаги мастера; для завершения установки примеров после завершения установки выполните следующие шаги: o в меню Пуск последовательно выберите пункты Программы, Microsoft SQL Server, Документация и учебные материалы, Примеры и Примеры Microsoft SQL Server; o либо при помощи проводника Windows перейдите в папку <диск>:\Program Files\Microsoft SQL Server\90\Tools\Samples\ и дважды щелкните файл SqlServerSamples.msi для запуска программы установки. Хранимая процедура - объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере. Хранимые процедуры очень похожи на обыкновенные процедуры языков высокого уровня, у них могут быть входные и выходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. В хранимых процедурах могут выполняться стандартные операции с базами данных (как DDL – Data Definition Language, так и DML - Data Manipulation Language). Кроме того, в хранимых процедурах возможны циклы и ветвления, то есть в них могут использоваться инструкции управления потоком. Реализация хранимых процедур. Хранимые процедуры обычно создаются с помощью языка SQL или конкретной его реализации в выбранной СУБД. Для этих целей в СУБД Microsoft SQL Server существует язык Transact-SQL. Хранимая процедура создается оператором языка SQL CREATE PROCEDURE и имеет следующий синтаксис: CREATE PROCEDURE name [(param <datatype> [, param <datatype> ...])] [RETURNS <datatype> [, param <datatype> ...])] AS <procedure_body> [terminator] <procedure_body> = [<variable_declaration_list>] <block> <variable_declaration_list> = DECLARE VARIABLE var <datatype>; [DECLARE VARIABLE var <datatype>; ...] <block> = BEGIN <compound_statement> [<compound_statement> ...] END <compound_statement> = {<block> | statement;} <datatype> = { {SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION} | {DECIMAL | NUMERIC} [(precision [, scale])] | DATE | {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR} [(int)] [CHARACTER SET charname] | {NCHAR | NATIONAL CHARACTER | NATIONAL CHAR} [VARYING] [(int)]} Листинг 1. Общий шаблон создания хранимой процедуры Ниже будут рассмотрены разновидности хранимых процедур, такие как: базовая хранимая процедура (без параметров); хранимая процедура с использованием входных параметров; хранимая процедура с использованием выходных параметров. a) базовая хранимая процедура Это самая простая хранимая процедура, которая возвращает результаты, не требуя никаких параметров. Для создания хранимой процедуры под названием «EmpBaseInfo», получающей ключевую информацию о сотрудниках, необходимо выполнить следующие шаги: открыть SQL Server Management Studio. В окне Object Explorer развернуть папку БД AdventureWorksDW – Programmability – Stored Procedures; щелкнуть правой кнопкой мыши по папке Stored Procedures и выбрать команду New Stored Procedures. В открывшемся коде удаляем ненужную информацию и в итоге имеем следующий шаблон: CREATE ProcedureName> PROCEDURE <Procedure_Name, sysname, AS BEGIN SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> END GO Листинг 2. Шаблон простейших хранимых процедур далее вместо Procedure_Name указываем имя процедуры (в нашем случае EmpBaseInfo). В поле SELECT пишем необходимый текст запроса. В результате хранимая процедура будет выглядеть следующим образом: CREATE PROCEDURE EmpBaseInfo AS BEGIN SELECT EmployeeKey, LastName, FirstName, MiddleName, BirthDate, EmailAddress, Phone FROM DimEmployee END GO Листинг 3. Структура хранимой процедуры «EmpBaseInfo» выполняем процедуру, нажав на кнопку на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s) completed successfully»; далее сохраняем процедуру, щелкнув по кнопке Save; чтобы протестировать новую процедуру, необходимо создать запрос, нажав на кнопку New Query, следующего содержания: USE AdventureWorksDW; EXEC EmpBaseInfo; Листинг 4. Выполнение хранимой процедуры «EmpBaseInfo» Выполняем запрос, щелкнув по кнопке, в нижней части окна увидим результат обработки процедуры. b) Использование входных параметров в хранимых процедурах Входные параметры хранимых процедур представляют собой указатели мест ввода данных пользователем. Например, на основе предыдущего примера, задача состоится в том, что нужно получить список сотрудников, имеющих день рождения в диапазоне от 01.01.1900 до 01.01.1980. В данном случае необходимо использовать входные параметры, определяющие ограничения по датам рождения. Для создания такой процедуры, нужно повторить все шаги, описанные выше и добавить входные параметры. Получившийся SQL-запрос будет выглядеть следующим образом: CREATE PROCEDURE EmpBaseInfoByBirthDate @SDate DateTime = '01-01-1900', @EDate DateTime = '01-01-1980' AS BEGIN SELECT EmployeeKey, LastName, FirstName, MiddleName, BirthDate, EmailAddress, Phone FROM DimEmployee WHERE (BirthDate >= @SDate) AND (BirthDate <= @EDate) END GO Листинг 5. Структура хранимой процедуры «EmpBaseInfoByBirthDate» Для тестирования необходимо написать следующий SQL-запрос в окне New Query: USE AdventureWorksDW; EXEC EmpBaseInfoByBirthDate '01-01-1950', '01-01-1970'; Листинг 6. Выполнение хранимой процедуры «EmpBaseInfoByBirthDate» Выполняем запрос, щелкнув по кнопке «выполнить». В нижней части окна увидим результат обработки процедуры. c) Использование выходных параметров Основное отличие выходного параметра от входного в том, что с помощью входного параметра вы задаете хранимой процедуре значение для работы, с помощью выходного - хранимая процедура возвращает значение. Выходной параметр определяется с помощью ключевого слова OUTPUT. В качестве продолжения работы, нужно создать новую хранимую процедуру, взяв за основу SQL-код предыдущей процедуры «EmpBaseInfoByBirthDate». В качестве возвращаемого результата, процедура будет возвращать идентификатор сотрудника, таким образом, SQL-запрос в данном случае будет выглядеть следующим образом: CREATE PROCEDURE EmpBaseInfoByBirthDateOutput @SDate DateTime = '01-01-1900', @EDate DateTime = '01-01-1980', @EmpID INT OUTPUT AS BEGIN SELECT @EmpID = EmployeeKey FROM DimEmployee WHERE (BirthDate >= @SDate) AND (BirthDate <= @EDate) END GO Листинг 7. Структура хранимой процедуры «EmpBaseInfoByBirthDateOutput» Для тестирования необходимо написать следующий SQL-запрос в окне New Query: USE AdventureWorksDW; DECLARE @Answer INT; EXEC EmpBaseInfoByBirthDateOutput '01-01-1950', '01-01-1970', @Answer OUTPUT; SELECT @Answer; Листинг 8. Выполнение «EmpBaseInfoByBirthDateOutput» хранимой процедуры Выполняем запрос, щелкнув по кнопке «выполнить», в нижней части окна увидим результат обработки процедуры. Триггер триггером называется именованный набор прекомпилированных команд SQL, хранящийся на сервере, который автоматически выполняется, когда происходит заданное событие. Например, триггер может выполняться при вставке, изменении или удалении строки в существующей таблице. Триггер сообщает СУБД, как нужно выполнять команды SQL INSERT, UPDATE или DELETE, чтобы выполнялись нормальные правила (business rules) организации. Триггер ссылочной целостности - особый вид триггера, используемый для поддержания целостности между двумя таблицами, которые связаны между собой. Если строка в одной таблице вставляется, изменяется или удаляется, то триггер ссылочной целостности сообщает СУБД, что нужно делать с теми строками в других таблицах, у которых значение внешнего ключа совпадает со значением первичного ключа вставленной (измененной, удаленной) строки. Триггер создается оператором языка SQL CREATE TRIGGER: CREATE TRIGGER name FOR table [ACTIVE | INACTIVE] {BEFORE | AFTER} {DELETE | INSERT | UPDATE} [POSITION number] AS <trigger_body> terminator <trigger_body> = [<variable_declaration_list>] <block> <variable_declaration_list> = DECLARE VARIABLE variable <datatype>; [DECLARE VARIABLE variable <datatype>; ...] <block> = BEGIN <compound_statement> [<compound_statement> ...] END <compound_statement> = {<block> | statement;} <datatype> = { {SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION} | {DECIMAL | NUMERIC} [(precision [, scale])] | DATE | {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR} [(1...32767)] [CHARACTER SET char name] | {NCHAR | NATIONAL CHARACTER | NATIONAL CHAR} [VARYING] [(1...32767)]} Листинг 9. Общий шаблон создания триггера Для создания триггера под названием «DeleteProductSubcategory_Tr» чтобы удалить все записи в таблице DimProduct, которые имеют связи с записями в таблице DimProductSubcategory, которые были удалены. Для решения такой задачи необходимо выполнить следующие шаги: открыть SQL Server Management Studio. В окне Object Explorer развернуть папку БД AdventureWorksDW – Tables – dbo.DimProductSubcategory – Triggers; щелкаем правой кнопкой мыши на папке Triggers и выбираем команду New Trigger. В открывшемся коде удаляем ненужную информацию и в итоге имеем следующий шаблон: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name> ON <Schema_Name, Schema_Name>.<Table_Name, sysname, Table_Name> AFTER <Data_Modification_Statements, INSERT,DELETE,UPDATE> AS BEGIN sysname, , -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here END GO Листинг 10. Простейший шаблон создания триггера далее необходимо указать имя триггера (DeleteProductSubcategory_Tr). В поле «Insert statements for trigger here» пишем необходимый текст запроса. В результате триггер будет выглядеть следующим образом: SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [dbo].[DeleteProductSubcategory_Tr] ON [dbo].[DimProductSubcategory] AFTER DELETE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DELETE FROM dbo.DimProduct (dbo.DimProduct.ProductSubcategoryKey IN dbo.DimProduct.ProductSubcategoryKey dbo.DimProductSubcategory)) END WHERE (SELECT FROM Листинг 11. Структура триггера «DeleteProductSubcategory_Tr» выполняем триггер, нажав на кнопку на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s) completed successfully»; далее сохраняем триггер, щелкнув по кнопке Save; чтобы протестировать новый триггер, необходимо удалить несколько записей в таблице DimProductSubcategory. это приведет к тому, что все записи в таблице DimProduct, связанные с только что удаленными записями будут автоматически удалены. Контрольные вопросы 1) 2) 3) 4) 5) 6) 7) 8) 9) Каковы основные конструкции языка SQL? Как создается хранимая процедура? Для чего они нужны? Как создается триггер? Для чего они нужны? Какие оператора языка SQL допустимы внутри триггера? Как реализуется механизм событий? Как указать действия, которые следует предпринять в случае ошибки? Как удалить хранимую процедуру, триггер из базы данных? С какими моделями транзакций связано исполнение триггеров? Объясните структуру файла хранимой процедуры (триггера)? Из каких конструкций он состоит? Лабораторная работа № 2 Подготовка базы данных SQL Server Цель работы познакомиться со средами разработки SQL Management Studio, BIDS. Задание 1 Установить примеры БД Adventure Works. Задание 21 Создание проекта служб Analysis Services Определение источника данных. В этой задаче в качестве источника данных для измерений служб Службы Analysis Services и кубов, которые будут определяться на следующих занятиях, будет определена база данных AdventureWorks2008R2 DW. Определение представления источника данных. В этой задаче будет определен единый вид представления метаданных из выбранных таблиц базы данных AdventureWorks2008R2 DW. Изменение имен таблиц по умолчанию В этой задаче будут изменены имена таблиц в представлении источника данных, чтобы сделать имена последующих определяемых объектов служб Службы Analysis Services более понятными для пользователей. Общие сведения База данных AdventureWorksDW, которая используется в этом курсе, устанавливается вместе с SQL Server (по умолчанию эта опция отключена) и уже содержит представления (views), которые будут использованы для создания моделей. Примеры моделей можно http://sqlserversamples.codeplex.com/. 1 загрузить с сайта компании ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.ru/s10md_1devconc/html/7d3ffabd-78ae-4204-832329949d030c16.htm Рисунок 1. Окно просмотра модели базы Adventure Works DW Для установки БД потребуется включить поддержку FileStream. EXEC sp_configure filestream_access_level, 1 RECONFIGURE Подготовка базы данных Analysis Services2 Разработка приложения бизнес-аналитики в SQL Server 2008 R2 начинается с создания в среде Business Intelligence Development Studio проекта служб SQL Server 2008 Analysis Services (SSAS) на основе шаблона проекта служб Analysis Services. После создания проекта служб Analysis Services необходимо задать один или несколько источников данных. Затем следует указать единое представление метаданных, называемое 2 ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.ru/s10md_1devconc/html/db55e226-601a-4026-8651573195555a59.htm представлением источника данных, из выбранных таблиц и представлений источников данных. На этом занятии предстоит создать проект служб Analysis Services, указать один источник данных и добавить подмножество таблиц в представление источника данных. Для установки БД использования служб Analysis Services потребуется перенести файлы БД в рабочий каталог сервера и подключить их средствами VS. Прежде чем вы начнете создавать и работать с моделями Data Mining, вы должны выполнить следующие действия: 1. Создать новый проект Analysis Services. 2. Создать новый источник данных (data source). 3. Создать новое представление данных (data source view). Создание проекта Analysis Services Каждый проект Analysis Services определяет схему объектов для единственной базы данных Analysis Services, которая описывается моделями Data Mining, OLAP-кубами и дополнительными объектами. 1. Откройте Business Intelligence Development Studio. 2. Выберете New и Project из меню File. 3. Выберете проект Analysis Services в качестве типа нового проекта и назовите его AdventureWorks. 4. Нажмите Ok. Новый проект откроется в Business Intelligence Development Studio. Создание источника данных Источник данных - это данные о соединении с внешним источником данных, которые хранятся в проекте и в базе данных Analysis Services. В источнике данных хранится информация об имени сервера, базы данных, где хранится информация, используемая в проекте, а так же другие свойства соединения. 1. Правой кнопкой мыши щелкните по узлу Data Source вашего решения и выберете New Data Source. 2. На первой странице мастера выберете Next. 3. Щелкните New чтобы добавить соединение к базе данных AdventureWorksDW. 4. В диалоговом окне Connection Manager выберете провайдер данных Microsoft OLE DB Provider for SQL Server, имя сервера - AdventureWorksDW, введите данные о пользователе, под учетной записью которого будет производиться соединение. 5. Щелкните OK. 6. Щелкните Next. По умолчанию источник данных будет назван Adventure Works DW. Щелкните Finish Новый источник данных Adventure Works DW появится в папке источников данных в дереве решения. Создание представления данных Представление данных (Data Source View) обеспечивает уровень абстракции для источника данных, позволяя вам менять структуру исходных данных для удобства вашего проекта. Используя представление данных, вы можете выбрать только относящиеся к вашему проекту таблицы и представления, определить связи между таблицами, добавить вычисляемые поля, а также именованные запросы без необходимости вносить модификации в исходные данные. 1. В дереве решения щелкните правой кнопкой мыши на Data Source View и выберете New Data Source View. 2. На первой странице щелкните Next. 3. Выберете источник данных Adventure Works DW, который вы создали на прошлом шаге в окне Relational data sources. Нажмите Next. 4. Если вы хотите создать новый источник данных, нажмите New Data Source. 5. Выберете таблицы из списка нажмите на правую стрелку для включения их в представление данных: ProspectiveBuyer vAssocSeqLineItems vAssocSeqOrders vTargetMail vTimeSeries 6. Нажмите Next. 7. По умолчанию представление данных будет названо Adventure Works DW. Нажмите Finish. Откроется окно представления данных как показано на рис. 2. Далее можно производить изменения в представлении источника данных. Рисунок 2. Окно просмотра модели базы AdventureWorksDW Редактирование представления источника данных Используя редактор представления источника данных (Data Source View Editor), вы можете вносить изменения в представление данных. Например, вы можете переименовать объект, если его новое название будет больше подходить к модели. При этом оригинальное название не изменится, но появится возможность обращаться к объекту через новое более удобное имя. Для создания сценариев анализа рыночной корзины или кластеризации последовательностей необходимо создать новое соединение многие-кодному между vAssocSeqOrders и vAssocSeqLineItems. Используя эту связь можно сделать vAssocSeqLineItems вложенной таблицей по отношению к vAssocSeqOrders, что необходимо для создания модели. 1. В окне просмотра выбрать поле OrderNumber из таблицы vAssocSeqLineItems 2. Перенести выбранную колонку в таблицу vAssocSeqOrders и поместить ее на колонку OrderNumber Новая связь многие-к-одному vAssocSeqLineItems создана. между vAssocSeqOrders и Контрольные вопросы 1. Какие сведения хранятся в БД AdventureWorksDW? 2. Выделите основные этапы подготовки данных для работы с моделями Data Mining. Алгоритмы Data Mining Алгоритмы Data Mining являются основой для создания моделей. Набор алгоритмов Data Mining, входящих в SQL Server , позволяют производить различные виды анализа данных. Дерево решений - Microsoft Decision Trees Алгоритм "Дерево решений" предназначен для решения задач классификации и регрессии и хорошо подходит для прогнозирования. В алгоритме Microsoft Decision Trees используются как дискретные, так и непрерывные атрибуты. В процессе построения модели алгоритм итеративно вычисляет степень влияния каждого входного атрибута модели на значения выходного атрибута и использует атрибут, влияющий на выходную переменную в наибольшей степени для разбиения узла дерева решений. Узел верхнего уровня описывает распределение значений выходного атрибута по всей совокупности данных. Каждый последующий узел описывается распределением выходного атрибута при соблюдении условий на входные атрибуты, соответствующие этому узлу. Модель продолжает расти до тех пор, пока разбиение узла на последующие узлы увеличивает вероятность того, что выходной атрибут будет принимать какое-то определенное значение по сравнению со всеми другими значениями, т.е. разбиение увеличивает качество прогноза. Алгоритм осуществляет поиск атрибутов и их значений, разбиение по которым позволяет с большей вероятностью правильно предсказать значение выходного атрибута. Кластеризация - Microsoft Clustering Алгоритм кластеризации использует итеративный метод группировки записей набора данных в кластеры, обладающие сходными характеристиками. Используя разбиение на кластеры можно выявить в исследуемом массиве данных такие связи, которые невозможно обнаружить простым просмотром этих данных. Кроме того, с помощью алгоритмов кластеризации можно осуществлять прогнозирование. К примеру, объединить в группу людей, которые живут в одном районе, водят одну марку машин, имеют сходные предпочтения в пище и покупают один тип продукции. Такое объединение и есть кластер. Другой кластер может включать в себя людей, посещающих один ресторан, имеющих один уровень дохода и ездящих дважды в год в отпуск в другие страны. Оценивая распределение данных в этих кластерах, можно лучше понять взаимосвязи различных характеристик исследуемых объектов, а также как эти взаимосвязи влияют на значение прогнозируемого атрибута. В Microsoft Analysis Services 2005 для кластеризации используется модификации алгоритмов максимизации ожидания (Expectation Maximization) и K-ближайших соседей (K-Means). В первом случае каждый кластер характеризуется своей функцией распределения атрибутов входных данных, которые вычисляются в ходе итеративного процесса. В процессе выполнения алгоритма итеративно максимизируется функция правдоподобия на пространстве параметров функций распределения для каждого кластера. При этом предполагается, что непрерывные атрибуты имеют совместное многомерное нормальное распределение, а дискретные - совместное дискретное распределение. Во втором случае итеративно минимизируется сумма квадратов расстояний (в различных метриках) от каждого элемента данных до центра соответствующего кластера. Наивный алгоритм Байеса - Microsoft Native Bayes Наивный алгоритм Байеса предназначен для решения задач классификации и прогнозирования. В процессе его реализации вычисляются вероятности состояний входных атрибутов для каждого состояния выходного атрибута. Эти значения используются для вычисления вероятности того, что выходной атрибут принимает то или иное состояние при заданных значениях входных атрибутов. Алгоритм принимает только дискретные или дискретизированные атрибуты модели, а также исходит из предположения о стохастической независимости входных атрибутов ("наивность" алгоритма как раз обусловлена этими предположениями). Алгоритм Microsoft Native Bayes представляет собой простую модель для анализа данных, которую можно рассматривать как средство первоначального разведочного анализа. Вследствие того, что большинство требуемой для построения модели информации вычисляется в процессе обработки соответствующего куба, результаты алгоритма Байеса возвращаются очень быстро. Это служит еще одним преимуществом использования алгоритма в качестве оптимального разведочного механизма для классификации и прогнозирования. Временные ряды - Microsoft Time Series Алгоритм Microsoft Time Series создает модели, предназначенные для прогнозирования значений непрерывных переменных по времени и использованием как OLAP, так и реляционных источников данных. Например, можно использовать этот алгоритм для прогнозирования объема продаж и прибыли по историческим данных в разрезе регионов продаж. Алгоритм позволяет осуществлять прогнозирование по нескольким непрерывным переменным. Временной ряд должен характеризоваться временной характеристикой по которой осуществляется прогноз, а также может содержать произвольный набор других характеристик, разделяющий ряд на несколько (например, регион, продавца и т.д.). Алгоритм Microsoft Time Series может анализировать и использовать корреляции между различными прогнозируемыми характеристиками. В этом случае результат прогнозирования будет зависеть не только от исторических значений той же переменной, но и значений других прогнозируемых переменных. Например, продажи в определенном магазине могут зависеть от прошлых продаж в другом магазине. Алгоритм Microsoft Time Series является разновидностью алгоритмов ART (Autoregressive Trees - деревья авторегрессии). В процессе реализации алгоритма строится дерево решений, листьям которого соответствуют функции линейной регрессии. Ассоциативные правила - Microsoft Association Алгоритм Microsoft Association предназначен в первую очередь для анализа покупательских корзин. Анализируется каждая пара атрибут=значение (например продукт=велосипед) как значение некой логической переменной. Алгоритм сканирует транзакции в базе данных для определения "частых" наборов таких пар. Набор считается "частым" если его support (поддержка, т.е. число транзакций, в которые входит данный набор) превышает определенный порог. Например, частым набором может быть {Пол="мужской", Семейный статус = "женат", Возраст="30-35"}. Каждый набор имеет размер, например, в этом случае, он составляет 3. Часто транзакции описываются вложенными таблицами, например, строками заказа продажи в заказе. В этом случае ключ вложенной таблицы служит названием атрибута, а факт его наличия - значением. Например {Товар("Велосипед")=existing, Товар("Велосипедная кепка")=existing}. Алгоритм Microsoft Association помимо выявления частых набор предназначен для выявления правил вида A, B=>C, характеризуемых вероятностью выполнения (confidence), где {A, B}, {C} частые наборы. Символ '=>' означает, что появление набора C в транзакции можно предсказать из факта появления наборов A и B. Например, {Фотокамера=exisiting, Батарейки=existing}=>{Фотопленка=existing}. Порог значения вероятности соблюдения правила является параметром модели, определяющим факт рассмотрения каждого правила. Ассоциативные правила используются для оптимизации кросс-продаж, целевых рекламных кампаний, определения политики скидок, в оптимизации размещения товаров на товарных полках в супермаркетах и т.д. Кластеризация последовательностей действий - Microsoft Sequence Clustering Алгоритм Microsoft Sequence Clustering анализирует последовательности каких-либо фактов, представляющих собой временные последовательности дискретных переменных. Обычно такие последовательности атрибутов рассматриваются как происхождение событий в определенном порядке (например, порядок просмотра страниц сайта). Алгоритм предназначен для прогнозирования наступления последующих событий на основании уже осуществленного перехода между состояниями. Алгоритм Microsoft Sequence Clustering является гибридом алгоритма последовательностей действий и алгоритмом кластеризации. В процессе реализации алгоритма выполняется группировка последовательности переходов в типичные кластера, характеризующиеся паттернами переходов. Каждый из этих кластеров анализируется с точки зрения распределения вероятности переходов отдельно. Типичным сценарием использования для этого алгоритма является задача анализа клиентов web-портала. У webпортала имеется набор связанных доменов, таких как новости, погода, финансы, почта, спорт и т.д. Каждый web-посетитель характеризуется последовательностью "кликов" - переходов в рамках каждого из этих доменов. Алгоритм Microsoft Sequence Clustering может сгруппировать этих web-посетителей в более-менее однородные группы на основании их паттернов навигации по порталу. Эти группы могут быть визуализированы, обеспечивая представление шаблонов использования портала каждой группой посетителей. В алгоритме используется алгоритм Expectation Maximization для выявления кластеров, а также Марковские процессы первого порядка для моделирования переходов между состояниями (событиями). Нейронные сети - Microsoft Neural Network Алгоритм Microsoft Neural Network предназначен для создания моделей классификации и регрессии путем конструирования многослойной нейронной сети перцептронов. Как и в случае алгоритма дерева решений, для каждого состояния выходного атрибута алгоритм вычисляет распределение вероятности входных атрибутов. Обрабатывается полный набор записей, при этом итеративно сравниваются предсказанные значения классификатора с известным значением. Ошибки классификации на первой итерации подаются на вход сети для изменения параметров на следующей итерации и т.д. Впоследствии, полученные вероятности используются для прогнозирования значения выходного атрибута на основании значений входных атрибутов. Одно из самых значительных отличий между этим алгоритмом и алгоритмом дерева решений состоит в том, что процесс обучения заключается в оптимизации параметров сети для минимизации ошибки классификации, в то время как алгоритм дерева решений осуществляет разбиение узлов для максимизации информации (минимизации энтропии). Алгоритм поддерживает как непрерывные так и дискретные типы атрибутов. Линейная регрессия - Microsoft Linear Regression Алгоритм Microsoft Linear Regression представляет собой алгоритм регрессии являющийся частным случаем алгоритма Microsoft Decision Trees, получаемый в случае запрета на разбиение узлов в дереве решений. Формула регрессии определена на всем объеме данных, т.е. на корневом узле дерева. Алгоритм предназначен для прогнозирования непрерывных атрибутов. Логистическая регрессия - Microsoft Logistic Regression Алгоритм Microsoft Logistic Regression представляет собой алгоритм регрессии являющийся частным случаем алгоритма Microsoft Neural Network, получаемый в случае удаления скрытого слоя нейросети. Алгоритм поддерживает прогнозирование значений как непрерывных, так и дискретных атрибутов. Лабораторная работа № 3 «Служба Microsoft SQL Server Analysis Services (SSAS)» Цель работы Рассмотреть определение источников данных и их представлений, измерений и кубов в проекте служб Analysis Services в среде BI Development Studio. Также демонстрируется, как просматривать куб с развертыванием проекта служб Analysis Services на экземпляре служб Analysis Services и последующей обработкой развернутых объектов. Задания На основе базы данных AdventureWorkDW постройте проект с использованием служб Analysis Services для получения результата «продажи через Интернет» по разным периодам и по регионам: В феврале 2001 г. для города «Victoria» в Австралии. В январе 2002 г. для города «Nord» во Франции. В июне 2003 г. для всех городов Канады. В периоде от января до декабря 2005 г. для города «Bayern» в Германии. 5) В периоде от 01 января 2002 г. по 01 января 2003 г. для всех городов Великобритании. 6) В периоде от 05 октября 2003 г. по 10 декабря 2003 г. для города «Florida» США. 7) В периоде от 2001 г. по 2009 г. в США. 1) 2) 3) 4) Общие сведения Службы SSAS обеспечивают интерактивную аналитическую обработку (OLAP) и функции интеллектуального анализа данных для приложений бизнес-аналитики. Службы Analysis Services поддерживают OLAP, позволяя разрабатывать и создавать многомерные структуры, которые содержат данные, собранные из других источников, таких как реляционные базы данных, а также управлять этими структурами. Для приложений интеллектуального анализа данных службы Analysis Services позволяют разрабатывать, создавать и наглядно представлять модели интеллектуального анализа данных, построенные на основе других источников данных, используя с этой целью широкий спектр стандартных алгоритмов интеллектуального анализа данных. Для разработки и развертывания проектов служб Analysis Services разработчики хранилищ данных используют среду Business Intelligence Development Studio (в более поздних версиях SQL Server используется SQL Server Data Tools), а для управления этими проектами — среду SQL Server Management Studio. В этом учебнике рассматривается, как использовать среду BI Development Studio при разработке и развертывании проекта служб Analysis Services на примере вымышленной компании Adventure Works Cycles. Требования к системам – для выполнения данной лабораторной работы требуются следующие компоненты: Microsoft SQL Server Database Engine; Microsoft SQL Server Analysis Services (SSAS); Business Intelligence Development Studio; Образец базы данных AdventureWorksDW. a) Создание нового проекта служб Analysis Services Для создания нового проекта, необходимо открыть среду SQL Server Business Intelligence Development Studio, нажав меню File->New->Project, после чего появится новое окно с различными шаблонами проектов. В данном окне нужно выбрать шаблон Analysis Services Project, затем изменить имя проекта на «ЛР по службам Analysis Services», затем нажать кнопку «ОК» чтобы создать новый проект. Рисунок 3. Создание нового проекта под названием «ЛР по службам Analysis Services» b) Определение нового источника данных В обозревателе решений щелкните правой кнопкой мыши элемент Data sources и выберите команду New Data Source, в результате будет открыт мастер источников данных; В новом окне перечисляются все созданные ранее Data connections, если в этом списке отсутствует соединение данных для работы с данной лабораторией, то нужно создать новое соединение данных (Data connection); Нажав на кнопку «New», новый окно Connection Manager появится. В данном окно нужно выбрать поставщик «Native OLE DB\Microsoft OLE DB Provider for SQL Server», затем нужно настроить сервер, базу данных при этом необходимо обеспечить аутентификацию если требуется; Рисунок 4. Настроить соединение к базе данных «AdventureWorksDW» Выбрав созданное соединение, нужно нажать на кнопку «Finish» для завершения этапа определения нового источника данных. После этого новый источник данных появится в папке Data Sources текущего проекта: Рисунок 5. Новый источник данных создан в папке Data Sources c) Определение представления источника данных Представление источника данных является отдельным единым представлением метаданных, определенных в качестве источника данных для проекта, которые указаны в конкретных таблицах и представлениях. В следующей задаче будет определено представление источника данных, которое содержит пять таблиц из базы данных AdventureWorksDW: В обозревателе решений щелкните правой кнопкой мыши Data Source Views и выберите New Data Source View, будет открыт мастер представления источников данных; Далее необходимо выбрать источник данных Adventure Works DW, который был создан в предыдущем шаге, затем нужно нажать кнопку Next; В окне Select Tables and Views из списка доступных объектов выберите следующие таблицы: DimCustomer, DimGeography, DimProduct, DimTime (DimDate в более поздних версиях), FactInternetSales; После выбора таблиц, необходимо нажать на кнопку > чтобы добавить их к списку включенных объектов, в результате получится как показано на рис. 4; Рисунок 6. Выбор таблиц для определения представления источника данных Нажмите Next, затем Finish для завершения процесса определения представления источника данных, результат показывается на следующем рисунке. Рисунок 7. Представление источника данных Содержимое представления источника данных также отображается в конструкторе представлений источников данных в среде Business Intelligence Development Studio. В этом конструкторе содержатся следующие элементы: Панель Diagram, на которой представлены в графическом виде таблицы и их связи; Панель Tables, на которой отображаются в виде дерева таблицы и их элементы схем; Панель Diagram Organizer, на которой можно создавать вложенные диаграммы, позволяющие просматривать поднаборы этого представления источника данных; Панель инструментов конструктора представлений источников данных. Можно изменять значение параметра FriendlyName для объектов в представлении источника данных, чтобы сделать более понятными имена объектов измерения и куба, создаваемых в этом представлении источника данных. Имена этих объектов также можно изменять после того, как они были определены. Для удобства дальнейших работ нужно изменить наименования следующих объектов: Переименовать FactInternetSales на InternetSales; Переименовать DimProduct на Product; Переименовать DimCustomer на Customer; Переименовать DimTime на Time (или DimDate на Date в более поздних версиях SQL Server); Переименовать DimGeography на Geography; В результате будет получать как показано на рис. 6. Рисунок 8. Результирующее представление источника данных d) Определение измерения Date Двойной клик по измерению Date, находящийся в папке Dimension вашего обозревателя решений. В открывшемся конструкторе измерения Date необходимо добавить следующие атрибуты из таблицы Date на панель атрибутов данного измерения: Full Date Alternate Key, English Months Name, Calendar Quarter, Calendar Year, Calendar Semester. Необходимо установить единицы измерения у данных атрибутов. Для этого выберите атрибут Full Date Alternate Key на панели атрибутов. Откройте свойства этого атрибута и в поле Type измените значение с Regular на Date (из выпадающего меню выберите Date->Calendar->Date). Повторите указанные действия для следующих атрибутов на панели атрибутов и установите следующие значения: o English Month Name на Name o Calendar Quarter на Quarter o Calendar Year на Year o Calendar Semester на Half year Нажмите Save All и разверните решение заново. e) Определение измерения Customer Откройте конструктор измерений для измерения Customer (двойной клик по измерению Customer в папке dimensions). Убедитесь, что масштаб установлен на 100% Перетащите следующие атрибуты из таблицы Customer на панели Data Source View на панель атрибутов: o BirthDate o o o o o o o o o o o o o MaritalStatus Gender EmailAddress YearlyIncome TotalChildren NumberChildrenAtHome EnglishEducation EnglishOccupation HouseOwnerFlag NumberCarsOwned Phone DateFirstPurchase CommuteDistance Из таблицы Geography перетащите на панель атрибутов следующие атрибуты: o City o StateProvinceName o EnglishCountryRegionName o PostalCode Нажмите Save All f) Определение атрибутов в измерение Product Откройте конструктор измерения Product в обозревателе решения. Из таблицы Product на панели Data Source View перетащите следующие атрибуты на панель атрибутов: o StandardCost o Color o SafetyStockLevel o ReorderPoint o ListPrice o Size o SizeRange o Weight o DaysToManufacture o ProductLine o DealerPrice o Class o Style o ModelName o StartDate o EndDate o Status Сохраните внесенные изменения. g) Определение и развертывание куба В обозревателе решений щелкните правой кнопкой мыши узел Cubes и выберите команду New Cube. На странице мастера кубов необходимо нажать Next, чтобы начать процесс создания нового куба; На странице Select Build Method убедитесь, что выбраны параметры Build cube using a data source, а затем нажмите кнопку Next; На следующей странице, убедитесь что выбрано представление источника данных Adventure Works DW, затем нажмите на кнопку «Suggest» и после анализа данных служба Analysis Services сама отметит таблицу InternetSales. Затем нажмите Next; Рисунок 9. Определение таблиц факторов и измерений На странице Select Measures уберите отметки со следующих чекбосков: Promotion Key, Currency Key, Sales Terrytory Key, Revision Number и затем нажмите Next. На странице Select New Dimensions выберите следующие измерения: Date, Custome, Geography, Product и уберите выделения с измерения Internet Sales. Нажмите Next. В завершении работы мастера нужно изменить имя куба на AS Cube, затем нажмите Finish, в результате получатся новый куб в папке Cubes, а также три измерения базы данных в папке Dimensions, как показано в рис. 10. Рисунок 10. Новый куб проекта Проект в основном был построен, теперь необходимо развернуть его, для этого выполним следующие шаги: В обозревателе решений щелкните правой кнопкой мыши проект ЛБ по службам Analysis Services и выберите команду Properties; В узле Configuration Properties на левой панели щелкните элемент Deployment, в пункт Deployment Mode нужно выбрать Deploy Changes Only, таким образом, при каждом модификации проекта будут изменяться только те части проекта, где были внесены измененения. На рис. 11 будет показана страница конфигурации проекта; Рисунок 11. Конфигурация проекта В обозревателе решений щелкните правой кнопкой мыши проект и выберите команду Deploy либо выберите команду Deploy «ЛР по службам Analysis Services» в меню Build; Если развертывание выполнено успешно, то результат будет выглядеть следующим образом: Рисунок 12. Развертывание успешно выполнено h) Просмотр развернутого куба После развертывания куба данные куба отображаются на вкладке Обозреватель конструктора кубов, а данные измерений отображаются на вкладке Обозреватель конструктора измерений. Схема обозревателя куба показана на рис. 13. В панели метаданные, нужно раскрыть элемент Measures, затем раскрыть узел Internet Sales, в раскрывающем списке измерений необходимо перетянуть меру Sales Amount в область «Drop total or details here» панели данные; На панели метаданные раскройте узел Customer, затем перетяните поле «English Country Region Name» в область «Drop row fields here» панели данные; На панели метаданные, раскройте элемент Product, щелкните правой кнопкой мыши элемент Product Line и выберите команду Add to Column Area. В результате получится иерархия «Продажи через Интернет», упорядоченная по странам и линиям товаров, как показано на рис. 14. Панель фильтр Пан Панель метаданные Рисунок 13. Схема панелей в обозревателе конструктора куба Рисунок 14. Иерархия «продажи через интернет» ель данные Для того, чтобы добавить фильтр для просмотра результата при ограничении по времени, нужно раскрыть Order Date в панели метаданные и перетащить Order Date.CalendarQuarter в область «Drop filter fields here» панели данные; На панели полей фильтров нажмите «Критерий фильтра» и снемите флажок рядом с критерием All и поставьте его рядом с критерием «1». На панели метаданные раскройте элемент Order Date.CalendarYear, а затем раскройте элемент CalendarYear; Щелкните правой кнопкой мыши элемент 2002 иерархии атрибута CalendarYear и выберите команду Add to Subcube Area; Значения за первый календарный квартал для продаж каждой линии товаров через Интернет, упорядоченные по странам, теперь ограничены 2002 годом, как показано на следующем рисунке: Рисунок 15. Иерархия «продажи через интернет» с ограничением по времени i) Изменение мер куба Меры куба станут более доступными для понимания, если с помощью свойства FormatString определить для каждого из показателей параметры форматирования, которые управляют видом этих мер в клиентских приложениях. В этой задаче предстоит указать свойства форматирования мер валюты и процентов в кубе. Перейдите на вкладку Cube Structure для куба AS Cube, раскройте группу мер Internet Sales на панели Measures, щелкните правой кнопкой мыши элемент Order Quantity и выберите команду Properties; В окне свойств, в списке FormatString выберите значение #,#; На панели инструментов вкладки Cube Structure нужно нажать кнопку Show Measures Grid, чтобы переключить на представление мер в виде сетки. Тем самым, можно выбрать несколько мер одновременно; Выберите следующие меры, удерживая нажатой клавишу CTRL, чтобы выбрать несколько мер одновременно: Unit Price, Extended Amount, Discount Amount, Product Standard Cost, Total Product Cost, Sales Amount, Tax Amt, Freight. Затем в окне свойств в списке FormatString выберите параметр Currency. На рис. 16 показывается список выбранных мер для определения форматов; Рисунок 16. Определение форматов для мер куба Для меры Unit Price Discount Pct необходимо выбрать значение Percent для свойства FormatString; В меню Build среды Business Intelligence Development Studio выберите команду Deploy «ЛР по службам AS»; После успешного развертывания проекта, нужно повторить все шаги в пункте e) – Просмотр развернутого куба, в результате получится таблица иерархии «продажи через интернет», которая показана на рис. 17; Рисунок 17. Иерархия «продажи через интернет» после определения форматов мер j) Модификация измерения Customer Существует много способов повысить удобство использования и функциональность измерений куба. При выполнении задач этого раздела будет выполнена настройка измерения «Заказчик» путем изменения имен атрибутов и иерархий, изменения пользовательских свойств иерархий, определения атрибутов измерения на основе созданных именованных вычислений в представлении источника данных, удаления ненужных атрибутов и группирования атрибутов в логические пользовательские иерархии. Удаление неиспользуемых атрибутов Создание пользовательской иерархии Для создания пользовательских иерархий необходимо перетянуть атрибуты с панели атрибутов на панель иерархий в конструкторе измерения: Перетащите атрибут Country Region Name с панели атрибутов на панель иерархий. Затем, перетащите атрибут State Province с панели атрибутов на панель иерархий и разместите его под элементом Country Region Name. Теперь, перетащите атрибут City и разместите его под элементом State Province. Переименуйте иерархию в Customer Geography и сохраните проект. Добавление именованного вычисления К таблице в представлении источника данных можно добавить именованное вычисление, которое является выражением SQL и представляет собой вычисляемый столбец. Это выражение имеет вид и функции столбца таблицы. Для создания именованного вычисления в среде BI Development Studio нужно открыть представление источника данных Adventure Works DW. На панели Tables необходимо щелкнуть правой кнопкой мыши таблицу Customer и выберите команду New Named Calculation. В появившемся диалоговом окне введите в поле Column Name «FullName», а затем введите в поле Expression следующую инструкцию CASE: CASE WHEN MiddleName IS NULL THEN FirstName + ' ' + LastName ELSE FirstName + ' ' + MiddleName + ' ' + LastName END Листинг 12. SQL-выражение для создания нового поля «FullName» На рис. 19 показано диалоговое окно Create Named Calculation. Нажмите ОК, а затем раскройте таблицу Customer на панели Tables. Именованное вычисление FullName отобразится в списке столбцов таблицы « Customer». Рис. 18. Создание нового именованного вычисления Изменение пользовательской иерархии и свойств атрибутов Помимо удаления из измерения ненужных атрибутов можно изменить их имена, а также добавить и удалить атрибуты из пользовательской иерархии. Для изменения имени атрибута нужно щелкнуть правой кнопкой мыши по атрибуту (например, по атрибутуEnglish Country Region Name) и выберать команду Rename. Измените имя атрибута на Country Region Name. Аналогичным образом, нужно переименовать следующие атрибуты для удобства: English Education->Education, English Occupation->Occupation, State Province Name->State Province; Рисунок 19. Пользовательская иерархия «Customer Geography» Использование элементов именованных вычислений в качестве имен После создания в представлении источника данных именованного вычисления его можно использовать в качестве свойства атрибута, чтобы имя атрибута было более понятным для пользователя. В качестве примера использования именованных выполним следующую последовательность действий: вычислений Переключитесь в конструктор измерений на измерении Customer. На панели. На панели Attributes вкладки Dimension Structure выберите атрибут Customer Key. Откройте свойства Customer Key и в разделе Name введите новое имя - Full Name. Затем откройте свойство NameColumn и нажмите на кнопку обзор (…). В появившемся диалоговом окне выберите атрибут Full Name и нажмите «Ок». Вернувшись снова на вкладку структура измерения перетащите только что созданный элемент Full Name из панели атрибутов на панель иерархий и разместите его под уровнем City. Сохраните получившийся документ. Рисунок 20. Использование именованного вычисления в иерархии данных Определение папок отображения Папки отображения используются для группирования пользовательских иерархий и иерархий атрибутов в древовидную структуру, что делает просмотр и измерение куба более удобным. На панели атрибутов (Attribute Pane) выберете следующие атрибуты, удерживая клавишу CTRL: City, Country-Region, Post Code, State-Province. В окне свойств атрибутов, кликните на свойство AttributeHierarchyDisplayFolder и назовите его Location. На панели иерархий выберете Customer Geography и в окне свойств укажите свойству DisplayFolder значение Location. Теперь, на панеле атрибутов выделите следующие атрибуты: Communicate Distance, Education, Gender, House Owner Flag, Marital Status, Number Car Owned, Number Children At Home, Occupation, Total Children, Yearly Income. Теперь, в окне свойств атрибутов укажите в свойстве AttributeHierarchyDisplayFolder значение Demographic. Точно также, атрибутам Email Address и phone укажите значение Contacts в качестве значения свойства AttributeHierarchyDisplayFolder. После чего сохраните получившийся документ. Таким образом мы сгруппировали различные атрибуты по более логичным категориям. Развертывание изменений изменений, обработка объектов и просмотр После успешного завершения развертывания перейдите на вкладку Обозреватель конструктора измерений для измерения «Заказчик». Как показано на рис. 21, теперь иерархия имеет уровень «Country Region Name» и уровень «City», на уровне «Customer» отображается имя каждого заказчика. В конструкторе куба AS Cube, нужно переключиться на закладку обозревателя. На этой странице будет видно что, вместо длинного списка пользовательских иерархий и иерархий атрибутов для измерения «Заказчик» отображаются только папки отображения и те иерархии, для которых не указана папка отображения. На рис. 22 показывается панель метаданные куба AS Cube: Рисунок 21. Просмотр иерархии данных заказчиков Рисунок 22. Панель метаданные куба AS Cube k) Изменения измерения времени В задачах этого раздела предстоит изменить имя пользовательской иерархии, имена элементов, отображаемые для атрибутов «Дата», «Месяц», «Календарный квартал» и «Календарное полугодие», определить составные ключи для атрибутов EnglishMonthName, CalendarQuarter и CalendarSemester, а затем изменить порядок элементов составных ключей, чтобы управлять порядком сортировки элементов измерения. Создание пользовательской иерархии: Откройте вкладку структуры измерений конструктора измерения Date и перетащите атрибут Calendar Year с панели атрибутов на панель иерархий. Перетащите атрибут Calendar Semester с панели атрибутов на новый уровень панели иерархий (прямо под уровнем Calendar Year). Перетащите атрибут Calendar Quarter с панели атрибутов на новый уровень иерархии (под элементом Calendar Semester) Перетащите атрибут English Month Name с панели атрибутов на новый уровень иерархии (под элементом Calendar Quarter) Перетащите атрибут Date Key с панели атрибутов на новый уровень иерархии (под элементом English Month Name) Нажмите правой клавишей мыши по заголовку только что созданной иерархии и переименуйте ее в Calendar Date Переименуйте уровень English Month Name в English Month, Date Key – в Date Удалите аттрибут Full Date Alternaty Key, так как он более не нужен. Сохраните текущий документ. Изменение пользовательской иерархии Перейдите в конструктор измерений на измерение времени в среде Business Intelligence Development Studio и откройте вкладку Dimension Structure; На панели Hierarchies and Levels выберите иерархию CalendarYearCalendarSemester-CalendarQuarter-EnglishMonthName-Date, затем в окне свойств измените значение свойства Name на CalendarDate; В конструкторе представлений источника данных переключитесь на представление источника данных базы данных DW Adventure Works, на панели Tables щелкните правой кнопкой мыши элемент Date (dbo.DimDate) и выберите команду Create Named Calculation; В диалоговом окне Create Named Calculation в поле Column name введите SimpleDate, а затем в поле Expression введите следующий сценарий SQL: DATENAME(mm, FullDateAlternateKey) + ' ' + DATENAME(dd, FullDateAlternateKey) + ', ' + DATENAME(yy, FullDateAlternateKey) Листинг 13. SQL-выражение для создания нового поля «SimpleDate» Этот сценарий SQL получает значения года, месяца и дня из столбца FullDateAlternateKey. Требуется изменить уровень атрибута «Date» в иерархии «Calendar Date» измерения времени, чтобы вывести значение этого нового столбца вместо первоначального значения, хранящегося в столбце FullDateAlternateKey таблицы DimDate. Выберите строку Date в иерархии Calendar Time и просмотрите свойства уровня «Date» в окне свойств. Нужно изменить значение свойства SourceAttribute уровня Date на DateKey; Выберите на панели Attributes элемент DateKey и в окне свойств раскройте коллекцию свойств NameColumn, а затем — коллекцию свойств Source. Измените значение свойства ColumnID на SimpleDate; В меню Build среды BI Development Studio выберите команду Build «ЛР по службам Analysis Services». После успешного завершения развертывания в конструкторе измерений перейдите на вкладку Обозреватель и выберите измерение времени; Раскройте уровни в иерархии CalendarDate, чтобы просмотреть элементы уровня Date. На следующем рисунке показаны элементы уровня «Date»; Рисунок 23. Иерархия измерения времени в проекте Создание уникальных имен для элементов измерения В конструкторе представлений источника данных переключитесь на представление источника данных DW Adventure Works, щелкните правой кнопкой мыши пункт Date (dbo.DimDate) на панели Tables и выберите команду Create Named Calculation; В диалоговом окне Create Named Calculation в поле Column name введите MonthName, а затем в поле Expression — следующий сценарий SQL: EnglishMonthName+' '+ CONVERT(CHAR (4), CalendarYear) Листинг 14. SQL-выражение для создания нового поля «MonthName» Этот сценарий SQL помещает в новый столбец сцепление месяца и года по каждому месяцу в таблице DimDate. Щелкните правой кнопкой мыши элемент Date (dbo.DimDate) на панели Tables и выберите команду Create Named Calculation. В диалоговом окне введите CalendarQuarterDesc в поле Column name, а затем в поле Expression введите следующий сценарий SQL: 'Q' + CONVERT(CHAR (1), CalendarQuarter) +' '+ 'CY ' + CONVERT(CHAR (4), CalendarYear) Листинг 15. SQL-выражение «CalendarQuarterDesc» для создания нового поля Этот сценарий SQL помещает в новый столбец сцепление календарного квартала и года по каждому кварталу в таблице DimDate. Щелкните правой кнопкой мыши элемент Date на панели Tables и выберите команду Create Named Calculation. В диалоговом окне в поле Column name введите CalendarSemesterDesc, а затем в поле Expression введите следующий сценарий SQL: CASE WHEN CalendarSemester = 1 THEN 'H1' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear) ELSE 'H2' + ' ' + 'CY' + ' ' + CONVERT(CHAR(4), CalendarYear) END Листинг 16. SQL-выражение «CalendarSemesterDesc» для создания нового поля Этот сценарий SQL помещает в новый столбец связку календарного полугодия и года по каждому полугодию в таблице DimDate. Теперь необходимо изменить атрибуты EnglishMonthName, CalendarQuarter и CalendarSemester в измерении времени, чтобы использовать эти значения в новых столбцах как значения элементов. На панели Attributes выберите элемент EnglishMonthName. В окне свойств раскройте свойства NameColumn и Source, а затем измените значение свойства ColumnID на MonthName. Затем в свойстве KeyColumn нажите кнопку Brouse(…) и выберите в списке доступных столбцов атрибут Calendar Year и переместите его в список ключевых столбцов.; Повторите эти действия, изменив значение свойства ColumnID для атрибутов CalendarQuarter -> CalendarQuarterDesc и CalendarSemester -> CalendarSemesterDesc; В меню Build среды BI Development Studio выберите команду Build «ЛР по службам Analysis Services». После успешного завершения развертывания в конструкторе измерений перейдите на вкладку Обозреватель и выберите измерение времени. На рис. 24 показывается результат изменения атрибутов измерения времени: Рисунок 24. Иерархия измерения времени после модификации Обратите внимание, что, хотя имена элементов иерархии атрибута CalendarQuarter стали более понятны, иерархия атрибутов по-прежнему содержит четыре элемента, а не по отдельному элементу для каждого сочетания года и квартала. В иерархиях атрибута EnglishMonthName и CalendarSemester элементы представлены таким же образом. В следующей задаче этого раздела поведение этих иерархий атрибутов будет изменено с использованием составных ключей. Определение значений составных ключей Выберите на вкладке «Структура измерения» конструктора измерений измерение времени, выделите атрибут EnglishMonthName и нажмите кнопку с многоточием (…) в ячейке свойства KeyColumns окна «Свойства», чтобы изменить значение этого атрибута. Будет открыт DataItem Collection Editor, в котором будет отображен ключевой столбец элемента для этого атрибута; Нажмите кнопку Add, чтобы указать второй ключ-элемент для атрибута измерения. В списке элементов будет отображен новый ключ-элемент. Необходимо определить свойства этого нового ключа-элемента; В поле New Binding (WChar) properties нажмите кнопку с многоточием (...) в ячейке свойства Source, чтобы изменить его значение. Будет открыто диалоговое окно Object Binding. В этом диалоговом окне укажите существующий столбец в заданной таблице либо укажите тип столбца, который необходимо создать, если разработка реляционной схемы ведется методом нисходящего проектирования; В списке Binding type выберите значение Column binding. Убедитесь, что в списке Source table выбрана таблица Time. Затем в списке Source column выберите значение CalendarYear, как показано на следующем рисунке; Рисунок 25. Определение привязки объекта Рисунок 26. Иерархия измерения времени в удобном виде Рисунок 27. Иерархия календарного квартала Обратите внимание, что элементы этих иерархий также не отсортированы в хронологическом порядке. Вместо этого они отсортированы сначала соответственно по месяцам или полугодиям, а затем — по годам. В следующей задаче этого раздела поведение этих иерархий атрибутов будет изменено, чтобы изменить порядок сортировки. Изменение порядка сортировки путем изменения порядка элементов составных ключей Перейдите в конструктор измерений на вкладку Структура измерения измерения времени и выберите на панели Атрибуты атрибут CalendarSemester; В окне свойств просмотрите значение свойства OrderBy. Элементы иерархии атрибута CalendarSemester отсортированы по значению их ключа. При составном ключе сортировка ключей элементов ведется сначала по значению первого ключа элемента, а затем — по значению второго ключа элемента. Иными словами, элементы иерархии атрибута CalendarSemester сортируются сначала по полугодиям, а затем по годам; В окне свойств нажмите кнопку с многоточием (...), чтобы изменить значения свойства KeyColumns. Будет открыто окно DataItem Collection Editor; Убедитесь, что выбран атрибут DimTime.CalendarSemester (UnsignedTinyInt), а затем щелкните указывающую вниз стрелку, чтобы изменить порядок элементов этого составного ключа на обратный. Нажмите кнопку ОК; Таким же образом, нужно изменить порядок атрибутов в коллекции атрибутов для уровня CalendarQuarter и EnglishMonthName; Теперь нужно развертывать проект еще раз и просмотреть обозреватель измерения времени. Результат модификации атрибутов в иерархии времени будет выглядеть как на рис. 28. Рисунок 28. Данные по времени сортированы по времени l) Изменение измерения «Product» Измерение можно сделать более удобным для пользователя одним из следующих способов: использовать именованные вычисления для создания описательных имен элементов измерения, задать дополнительные пользовательские иерархии, а также определить имя элемента уровня «(Все)». Имя элемента «Все» иерархий атрибутов необходимо указывать отдельно от имени элемента «Все» каждой из пользовательских иерархий. В ходе выполнения задач данного раздела будет определена пользовательская иерархия измерения «Product», с помощью именованных вычислений будут присвоены имена линиям товаров, а также будет указано имя элемента «(Все)» для иерархий атрибутов и для новой пользовательской иерархии. Кроме того, будут удалены лишние атрибуты измерения и сгруппированы атрибуты в папки отображения. Определение именованных вычислений, изменение значений свойства «Name» и определение пользовательской иерархии Переключитесь в конструктор представлений источника данных на представление источника данных Adventure Works DW; На панели Table щелкните правой кнопкой мыши таблицу Product и выберите пункт Create Named Calculation. В диалоговом окне в поле Column name введите ProductLineName, а в поле Expression введите следующий сценарий SQL: CASE ProductLine WHEN 'M' THEN 'Mountain' WHEN 'R' THEN 'Road' WHEN 'S' THEN 'Accessory' WHEN 'T' THEN 'Touring' ELSE 'Components' END Листинг 17. «ProductLineName» SQL-выражение для создания нового поля Данный сценарий SQL создает понятные пользователю имена для каждой линии товара в кубе. Переключитесь в конструктор измерений на измерение «Product», выберите параметр Product Line на панели Attributes вкладки Dimension Structure, после этого в окне отображения свойств измените значение свойства NameColumn на DimProduct.ProductLineName (WChar) и нажмите кнопку ОК; На панели Attributes выберите атрибут Product Key, а затем в окне свойств измените значение свойства NameColumn на DimProduct.EnglishProductName (WChar); Перетяните атрибут Product Line с панели Attributes на панель Hierarchies and Levels, таким образом будет создана пользовательская иерархия с именем по умолчанию Hierarchy, нужно изменить имя на Product Line Model; Перетяните атрибут Model Name с панели Attributes в иерархию под уровень Product Line; Перетяните атрибут Product Name с панели Attributes в иерархию под уровень Model Name; Определение имен папок и имени элемента «Все» На панели Атрибуты выберите следующие атрибуты: Class, Color, Days to Manufacture, Reorder Point, Safety Stock Level, Size, Size Range, Style, Weight. В ячейке свойства AttributeHierarchyDisplayFolder окна свойств введите Storage; На панели Атрибуты выберите следующие атрибуты: Dealer Price, List Price, Standard Cost. В ячейке свойства AttributeHierarchyDisplayFolder окна свойств введите значение Financial; На панели Атрибуты выберите следующие атрибуты: End Date, Start Date, Status. В ячейке свойства AttributeHierarchyDisplayFolder окна свойств введите Log; Выберите пользовательскую иерархию Product Line Model на панели Hierarchies and Levels, после чего измените в окне свойств значение свойства AllMemberName на All Products; Просмотр изменений в измерении «Product» В меню Build среды Business Intelligence Development Studio выберите команду Deploy «ЛР по службам Analysis Services»; После успешного окончания развертывания перейдите на вкладку Обозреватель конструктора измерений и выберите измерение «Product». Убедитесь, что в списке Иерархия выбрана вкладка Product Line Model и раскройте узел All Products. На следующем рисунке будет показана иерархии данных продуктов: Рисунок 29. Иерархия данных продуктов m) Просмотр изменений в конструкторе кубов Переключитесь в конструктор кубов для куба AS Cube, перейдите на вкладку Обозреватель и нажмите кнопку Reconnect; На панели метаданные, расположенной в левой части конструктора, раскройте Product, чтобы получить доступ к иерархии атрибута Product Line. Обратите внимание, что члены иерархии атрибута Product Line теперь имеют понятные имена; Удалите все меры и иерархии атрибута на панели данные, затем удалите все члены измерения на панели фильтр; Добавьте в области данных меру Sales Amount; На панели метаданные раскройте узел Product, затем нужно перетянуть пользовательскую иерархию Product Line Model в область «Drop column field here» панели данные; На панели метаданные раскройте узел Customer, раскройте узел Location и перетяните иерархию Customer Geography в область «Drop row field here» панели данные; На оси строк раскройте узел United States, чтобы просмотреть подробные сведения о продажах на территории Соединенных Штатов по регионам; Раскройте узел Oregon, чтобы просмотреть сведения о продажах по городам в штате Oregon; На панели метаданные раскройте узел Order Date и перетяните иерархию Order Date.Calendar Dateв область «Drop filter fields here» панели данные; Щелкните стрелку справа от фильтра Order Date.Calendar Date на панели данные, снимите флажок уровня (All), последовательно раскройте узлы 2002, H1 CY 2002 и Q1 CY 2002, установите флажок февраль 2002 и нажмите кнопку ОК; Будут выведены на экран продажи через интернет по регионам и товарным линиям в феврале 2002 года, как показано на следующем рисунке: Рисунок 30. Результат продаж через интернет по регионам и товарным линиям в феврале 2002 г. Контрольные вопросы Что такие OLTP и OLAP системы? Средства OLAP? OLAP клиент с локальным кубом? OLAP клиент и ROLAP сервер? OLAP клиент с OLAP машиной? Что такое измерения и для чего они нужны? Какие типы измерений Вы использовали в этой лабораторной работе? 7) Что такое источник данных, представление источника данных и куб? 8) Что такие пользовательские иерархии и для чего они нужны? 1) 2) 3) 4) 5) 6) Лабораторная работа № 4 Построение и работа с моделями Data Mining Цель работы: знакомство с методами решения задач Data Mining. Задание 1. Изучить различные алгоритмы для создания моделей Data Mining, позволяющих производить различные виды анализа данных, на основе базы данных AdventureWorksDW. 2. Построение классификатора для индивидуального набора данных при помощи следующих алгоритмов: a. Наивный байесовский классификатор (Naive Bayes); b. Деревья решений (Classification tree). 3. Тестирование эффективности алгоритмов для анализа индивидуального набора данных. Редактор Data Mining (показан на рисунке 4) содержит все инструменты и средства отображения для построения и работы с моделями Data Mining. Дополнительная информация по редактору доступна в разделе "Using the Data Mining Tools" в SQL Server Books Online. Рисунок 31 Редактор Data Mining На протяжении этого руководства вы будете работать со следующими сценариями: Целевая отправка писем (Targeted mailing) Прогнозирование (Forecasting) Рыночная корзина (Market basket) Кластеризация последовательностей (Sequence clustering) В сценарии «Целевая отправка писем» вы будете заниматься построением моделей, сравнением их ожидаемых возможностей (при помощи окна Mining Accuracy Chart), а также созданием прогнозов с использованием Prediction Query Builder. Адресная рассылка Отдел маркетинга компании Adventure Works заинтересован в увеличении продаж при помощи проведения почтовой кампании, нацеленной на определённых покупателей. Исследуя их характеристики, они хотят обнаружить некоторый шаблон, применимый к потенциальным клиентам, который мог бы впоследствии использоваться для определения наиболее вероятных покупателей. Кроме того, отдел маркетинга намеревается выявить логические группы среди уже существующих в их базе данных клиентов. Например, группа может содержать покупателей, объединённых по демографическому признаку, обладающих схожим набором покупок. Adventure Works располагает потенциальных клиентов. списком как бывших, так и В процессе решения этой задачи, отделу маркетинга потребуется выполнить следующие действия: Установить модели, способные выявить наиболее вероятных клиентов из списка потенциальных покупателей Кластеризовать своих существующих клиентов Для выполнения этого сценария вам потребуется использовать Microsoft Native Bayes, Microsoft Decision Trees, и Microsoft Clustering алгоритмы. Сценарий содержит в себе 5 задач: Создание проекта служб Analysis Services Откройте SQL Server Data Tools; Создайте новый проект типа Analysis Services Multidimensional and Data Mining Project; В строке название проекта укажите BasicDataMining и нажмите готово Создание источника данных Правой кнопкой мыши щелкните по узлу Data Source в обозревателе решений вашего проекта и выберите New Data Source; На стартовой странице мастера создания источников данных нажмите Next; На странице Select how to define the connection нажмите New, чтобы добавить новое соединение к базе данных AdventureWorksDW; В появившемся окне Connection Manager в списке Provider выберите Native OLE DB\SQL Server Native Client 11.0; В поле для ввода имени сервера укажите Ваш сервер, на котором стоит база данных AdventureWorksDW; На странице Log onto the server выберите Use Windows Authentication; На странице Select or enter a database name выберите имя AdventureWorksDW и нажмите Finish.Создание представления источника данных Правой кнопкой мыши щелкните по узлу Data Source View и выберите New Data Source View; На стартовой странице мастера установки представлений источников данных нажмите Next; На странице Select a Data Source выберите источник данных AdventureWorksDW, кторый Вы создали на предыдущем шаге; На странице Select Tables and Views выберите таблицы ProspectiveBuyer (dbo) и vTargetMail (dbo) и нажмите Next; На странице Completing the Wizard замените текущее имя представления на Targeted Mailing и нажмите Finish. Создание структуры модели Data Mining Первый шаг заключается в создании новой структуры Data mining модели при помощи Mining Model Wizard. При этом также создаётся начальная модель, основанная на алгоритме Microsoft Decision Trees. Для того чтобы создать структуру модели: 1. В Solution Explorer кликните правой кнопкой мыши на MiningStructure, выберите New MiningStructure. Откроется Mining Model Wizard. 2. Нажмите Next на странице приветствия. 3. Выберите From existing relational database or data warehouse, затем Next. 4. В разделе Which data mining technique do you want to use? выберите Microsoft Decision Trees. Вы создадите несколько моделей, опирающихся на эту начальную структуру, в основе которой лежит алгоритм Microsoft Decision Trees. 5. Нажмите Next. По умолчанию в качестве источника данных здесь выбран Adventure Works DW. 6. На странице Select Datasource View Page в списке доступных представлений выберите Targeted Mailing. Нажмите Next. 7. Пометьте флагом Case таблицу vTargetMail, затем нажмите Next. 8. На странице Specify the Training Data необходимо определить по крайней мере один столбец predictable column, одну Key Column и одну input column; В качестве predictable column выберите BikeBuyer; 9. В качестве Key Column установите атрибут CustomerKey; 10.В роли Input Column задайте следующие атрибуты: o Age o CommuteDistance o EnglishEducation o EnglishOccupation o Gender o GeographyKey o HouseOwnerFlag o MaritalStatus o NumberCarsOwned o NumberChildrenAtHome o Region o TotalChildren o YearlyIncome 11.В самой левой колонке отметьте следующие атрибуты: o AddressLine1 o AddressLine2 o DateFirstPurchase o EmailAddress o FirstName o LastName 11. Нажмите Next. 12.В поле Specify Columns Content and Data Type нажмите Detect. При этом автоматически определяется, содержат ли столбцы с численными данными дискретные, либо непрерывные значения. Например, столбец может содержать информацию о заработной плате с непосредственными значениями сумм (непрерывные значения) или в нём могут содержаться целые числа, отвечающие неким диапазонам значений (1 = <$25,000; 2 = от $25,000 до $50000 и так далее), то есть дискретные значения. После того как будет проведено автоматическое определение типов данных убедитесь, что все поля имеют такие же типы данных, как показанно в следующей таблице: Column Content Type Data Type Address Line1 Discrete Text Address Line2 Discrete Text Age Continuous Long Bike Buyer Discrete Long Commute Distance Discrete Text CustomerKey Key Long DateLastPurchase Continuous Date Email Address Discrete Text English Education Discrete Text English Occupation Discrete Text FirstName Discrete Text Gender Discrete Text Geography Key Discrete Text House Owner Flag Discrete Text Last Name Discrete Text Marital Status Discrete Text Number Cars Owned Discrete Long Number Children At Discrete Long Region Discrete Text Total Children Discrete Long Home Yearly Income Continuous Double 13.Нажмите Next; 14.На странице Create Testing Set для поля Percentage of data for testing оставьте значение по умолчанию равное 30. В строке Maximum number of cases in testing data set установите значение 1000. Нажмите Next; 15.На странице Completing the Wizard в строке Mining structure name введите Targeted Mailing; 16.В строке Mining model name введите TM_Decision_Tree; 17.Установите чекбокс рядом с надписью Allow drill through в состояние selected. 18.Нажмите Finish. При этом откроется редактор Data mining, отображающий структуру Targeted Mailing, которую вы только что создали, см. Рисунок 34. Рисунок 32 Страница структуры Targeted Mailing Редактирование Data Mining моделей Начальная Data Mining структура содержит единственную модель, основанную на Microsoft Decision Trees. В этой части вы, при помощи страницы редактора Mining Models определите две дополнительные модели (Microsoft Native Bayes и Microsoft Clustering). Чтобы создать модель Microsoft Clustering 1. Откройте конструктор модели Targeted Mailing и перейдите на вкладку Mining Models. 2. Кликните правой кнопкой мыши по надписи структура в заголовке таблицы с моделями и выберите New Mining Model. 3. В поле Model Name введите TM_Clustering. 4. В поле Alogithm Name выберите Microsoft Clustering. 5. Нажмите OK. Новая модель появится на странице Mining Models. Модель Microsoft Clustering позволяет группировать и прогнозировать непрерывные и дискретные атрибуты. Вы можете изменить используемые столбцы и свойства для новой модели. Установка столбца как Predict (прогнозируемого) не оказывает никакого эффекта на этапе обучения модели; но позволяет вам указать этот столбец в запросе на прогнозирование PREDICTION JOIN. При создании кластеров алгоритм игнорирует столбцы, помеченные как PredictOnly. Статистика для PredictOnly столбцов в кластерной модели определяется на финальном шаге, после того как операция кластеризации завершена. Это имеет смысл, если вы хотите видеть распределение атрибута по кластерам, созданным на основании других атрибутов и позволяет выявить более глубокие взаимосвязи. Теперь создадим модель Microsoft Native Bayes. Для этого необходимо выполнить следующую последовательность действий: 1. Откройте конструктор модели Targeted Mailing и перейдине на вкладку Mining Models. 2. Кликните правой кнопкой мыши по надписи структура в заголовке таблицы с моделями и выберите New Mining Model. 3. В поле Model Name введите TM_Naive Bayes. 4. В поле Algorithm Name выберите Microsoft Naive Bayes. После чего появится диалоговое окно с текстом, объясняющим, что алгоритм Microsoft Naive Bayes не поддерживает работу со столбцами Age, и Yearly Income, содержащими непрерывные значения, и они будут проигнорированы. 5. Нажмите Yes. 6. Нажмите OK. 7. После чего, новая модель появится на странице Mining Models. Хотя вы можете менять используемые столбцы и свойства для всех моделей на этой странице, в данном случае оставьте всё без изменений. Обработка Data Mining моделей Теперь, после того как структура и параметры моделей определены, вы можете осуществить развёртывание и обработку моделей. Для того чтобы развернуть проект и обработать модели нажмите F5. Теперь база данных Analysis Services выложена на сервер и модели обработаны. Если база данных уже была на сервере, вы можете осуществить только обработку моделей, следуя следующему алгоритму. Для обработки data mining моделей В меню Mining Model выберите пункт Process All Models.Откроется диалоговое окно Process Targeted Mailing. Нажмите Run. Откроется диалоговое окно Process Progress, отображающее информацию об обработке модели. В зависимости от производительности вашего компьютера, процесс может занять некоторое время. После того как завершится обработка, закройте оба диалоговых окна. Контрольные вопросы 1. Data Mining. Основные понятия и определения. Шкалы. Задачи анализа данных. 2. Классификация. Основные понятия и определения. Правила и деревья классификации. Их соответствие. 3. Классификация. Правила классификации. Алгоритм построения 1правил. Сверхчувствительность. 4. Классификация. Правила классификации. Алгоритм Naive Bayes. 5. Классификация. Деревья классификации. Алгоритм ID3. Недостатки алгоритма ID3. 6. Классификация. Деревья классификации. Недостатки алгоритма ID3. Алгоритм C4.5. 7. Классификация. Правила и деревья классификации. Алгоритм покрытия. Лабораторная работа № 5 Исследование моделей Цель работы: рассмотреть возможности SSAS по предоставлению сведений о разработанной модели данных. После того как модели обработаны, вы можете просмотреть их, используя закладку Mining Model Viewer в редакторе Data Mining. При помощи выпадающего списка Mining Model в верхней части закладки можно исследовать модели, входящие в структуру. Модель Microsoft Decision Trees Mining Model Viewer по умолчанию открывает модель Targeted Mailing первой в структуре. Tree viewer содержит две закладки, Decision Tree (дерево решений) и Dependency Network (сеть зависимостей). Decision Tree (Дерево решений) На странице Decision Tree вы можете просмотреть все модели деревьев, составляющие модель Targeted_Mailing. Для каждого прогнозируемого атрибута модели существует одно дерево, если только не задействовано feature selection. Так как ваша модель содержит всего один прогнозируемый атрибут, Bike Buyer, то и дерево тоже одно. Если бы их было несколько, можно было бы выбрать нужное при помощи Tree box. Tree viewer по умолчанию показывает только первые три уровня дерева. Чтобы увидеть больше используйте Show Level slider или Default Expansion box. Для более подробной информации по настройке Tree viewer, обратитесь к разделу "Viewing with Tree Viewer" в SQL Server Books Online. Чтобы создать дерево, показанное на Рисунок 33. Установите Show Level 5 в списке Background нажмите 1. Здесь задаётся состояние прогнозируемого атрибута. Изменяя это свойство, вы можете быстро узнать число случаев попадания покупателя велосипеда в каждый узел. Чем темнее узел, тем больше случаев попадания он содержит. Рисунок 33 - Страница Decision Tree для модели Targeted Mailing Каждый узел в дереве решений несёт в себе следующую информацию: Условие, по которому попадаем в этот узел из предыдущего. Полный путь к узлу можно узнать из легенды или из подсказки. Гистограмма, описывающая распределение состояний для прогнозируемого столбца. Число состояний, отображаемых на гистограмме, регулируется при помощи Histogram control. Концетрацию случаев попадания, если состояние предсказываемого значения определено в контроле Background. Если включен режим drillthrough ("проваливание" в исходные данные), вы можете просмотреть варианты для узла, кликнув по нему правой кнопкой мыши и выбрав Drillthrough. Сеть зависимостей (Dependency Network) На странице Dependency Network показаны отношения между атрибутами, влияющими на прогнозирующую способность модели. Сеть зависимостей для модели Targeted Mailing представлена на Рисунок 34. Рисунок 34 - Страница Dependency Network модели Targeted Mailing Центральный узел на Рисунок 34, Bike Buyer, представляет прогнозируемый атрибут модели. Каждый из узлов вокруг него отображает атрибут, влияющий на прогнозируемый. При помощи ползунка на левой стороне страницы можно указать силу показываемых связей. При перемещении ползунка вниз будут показываться только сильные связи. По легенде цветов внизу окна можно узнать, какой узел является прогнозируемым и какие узлы его определяют. Модель Microsoft Clustering Используйте combo box Mining Model для перехода к модели TM_Clustering. Окно этой модели, Cluster viewer, содержит четыре закладки: Cluster Diagram, Cluster Profiles, Cluster Characteristics, и Cluster Discrimination. По умолчанию при первом открытии отображается страница Cluster Diagram. Для более подробной информации по использованию Cluster viewer, обратитесь к разделу " Viewing with Cluster Viewer " в SQL Server Books Online. Кластерная диаграмма (Cluster Diagram) На странице Cluster Diagram вы можете изучить отношения между кластерами, обнаруженными алгоритмом. Длина линий, соединяющих кластеры, отображает "близость", а их интенсивность показывает, насколько они схожи. Цвет кластера отвечает за частоту появления переменной и состояния (выбранные в полях Shading Variable и State вверху экрана) в каждом кластере. Переменная по умолчанию population, но вы можете поменять её на любую другую из модели и найти нужные вам кластеры. Используя полосу прокрутки в левой части экрана, вы можете отфильтровать слабые связи и найти кластеры, расположенные наиболее близко к друг другу. Например, установите поле Bike Buyer в качестве Shading Variable и State в 1. Как показано на Рисунок 35, кластер №5 содержит наибольшее число покупателей велосипедов. А самая сильная связь - между 4 и 7 кластерами. Рисунок 35 - Кластерная диаграмма модели TM_Clustering Профили кластеров (Cluster Profiles) Страница Cluster Profiles предоставляет общий вид модели TM_Clustering. Как показано на Рисунок 36, каждому кластеру модели на этой странице соответствует столбец с описывающими его данными. В первом столбце находится список атрибутов, с которыми связан по крайней мере один кластер. Все оставшиеся столбцы отображают распределение состояний этих атрибутов для каждого кластера. Распределение дискретной переменной показывается цветным столбцом, максимальное число отображаемых цветов-состояний определяется в поле Bars per histogram. Непрерывные значения отображаются diamond диаграммой, показывающей среднее и стандартное отклонение в каждом кластере. Характеристики кластеров (Cluster Characteristics) Cтраница Cluster Characteristics позволяет более детально рассмотреть характеристики кластера. Для примера, на Рисунок 36, вы можете видеть, что люди из Кластера №5 (покупатели велосипедов) обладают следующими характеристиками: они передвигаются на короткие дистанции (0-1 миля), у них нет машины и они женаты. Рисунок 36 - Окно характеристик кластера модели TM_Clustering Cluster Discrimination На странице Cluster Discrimination вы можете посмотреть характеристики, отличающие один кластер от другого. После выбора кластеров (поля First cluster и Second cluster) система определяет различия и показывает их, сортируя по атрибутам, наиболее сильно отличающим кластеры. На Рисунок 37 приведено сравнение Кластера №5 и Кластера №7 модели TM_Clustering. В кластере №5 наиболее высокая плотность покупателей велосипедов, а в №10, напротив, самая низкая. Видно, к примеру, что люди, попавшие в Кластер №10 скорее всего из Северной Америки и моложе (23-31), чем жители Европы из Кластера №5. Рисунок 37 - Страница Cluster Discrimination модели TM_Clustering Модель Microsoft Native Bayes Используйте выпадающий список Mining Model для перехода к модели TM_NaiveBayes. Окно этой модели, Naive Bayes viewer, содержит четыре закладки: Dependency Network, Attribute Profiles, Attribute Characteristics, и Attribute Discrimination. Для более подробной информации по использованию Naive Bayes viewer, обратитесь к разделу " Viewing with NaiveBayes viewer " в SQL Server Books Online. Сеть зависимостей (Dependency Network) Страница Dependency Network в NaiveBayes viewer организована также как одноимённая страница в Tree viewer. Каждый узел представляет атрибут, а линии, связывающие узлы соответствуют отношениям. На Рисунок 38 показаны все атрибуты, влияющие на состояние прогнозируемого атрибута, Bike Buyer. Рисунок 38 - Страница Dependency Network для модели TM_NativeBayes По мере передвижении ползунка вниз, остаются атрибуты, наиболее сильно влияющие столбец Bike Buyer (являющийся прогнозируемым). Действуя таким образом, вы обнаружите, что самым сильным фактором, определяющим, купит ли человек велосипед, является число принадлежащих ему машин. Профили атрибута (Attribute Profiles) Страница Attribute Profiles описывает как различные состояния входных атрибутов влияют на значение прогнозируемого атрибута. В поле Predictable выберите Bike Buyer. Атрибуты, влияющие на состояние прогнозируемого атрибута, перечислены вместе со значениями каждого состояния входных атрибутов и их распределениями для каждого состояния прогнозируемого атрибута. В поле Predictable выберите Bike Buyer. Атрибуты, влияющие на состояние прогнозируемого атрибута, перечислены для всех значений входных параметров совместно с их распределением для каждого состояния прогнозируемого атрибута. На Рисунок 39 показана страница Attribute Profiles для столбца Bike Buyer для модели TM_NaiveBayes model. Рисунок 39 - Страница Attribute Profiles для модели TM_NativeBayes Характеристики атрибута (Attribute Characteristics) Используя страницу Attribute Characteristics, вы можете выбрать атрибут и его значение, чтобы увидеть, значения каких атрибутов меняются при этом в большей или меньшей степени. В поле атрибут выберите Bike Buyer, в поле значение - 1. Например, из Рисунок 40 видно, что люди, не имеющие детей, покупают наибольшее количество велосипедов. Рисунок 40 -Страница Attribute Characteristics для модели TM_NativeBayes Attribute Discrimination На странице Attribute Discrimination вы можете исследовать отношение между двумя дискретными значениями выбранного прогнозируемого атрибута и значениями других атрибутов. Поскольку модель TM_NaiveBayes имеет всего два состояния, 1 и 0, вам не придётся совершать каких-либо дополнительных действий по настройке окна. К примеру, из Рисунок 41 видно, что те, у кого нет машины более склонны к покупке велосипеда, а люди, имеющие две машины скорее не будут этого делать. Рисунок 41 - Страница Attribute Discrimination для модели TM_NaiveBayes Контрольные вопросы 1. Для чего предназначены средства по исследованию моделей? 2. Какие сведения они могут предоставить, как это может пригодиться в СППР? 3. Какие из рассмотренных алгоритмов предпочтительны для использования, в каких областях? Лабораторная работа № 6 Тестирование точности Data Miningмоделей Цель работы: выполнить проверку точности моделей. Теперь модели обработаны и исследованы. Но насколько хорошо они предсказывают ситуацию? Работает ли какая-нибудь из моделей лучше, чем другие? Используя страницу Mining Accuracy Chart, вы можете вычислить, как хорошо каждая из моделей предсказывает результат и сравнить их между собой. Этот метод сравнения также иногда называется диаграммой роста (lift chart). На странице The Mining Accuracy Chart использует данные, отделённые от первоисточника, что позволяет сравнивать прогнозы с известными результатами. Затем результаты сортируются и отображаются на графике вместе с идеальной моделью, показывая, насколько хорошо каждая модель делает прогноз. График идеальной модели соответствует теоретической модели, предсказывающей результат со 100% точностью. Диаграмма роста является важным инструментом, поскольку она помогает различать модели практически идентичные по структуре, показывая, какая делает лучший прогноз. Подобным образом, из её рассмотрения можно сделать вывод о том, какие типы алгоритмов делают лучшие предсказания в данной ситуации. Для более подробной информации по использованию Mining Accuracy Chart, обратитесь к разделу "Comparing Data Mining Models with the Lift Chart" в SQL Server Books Online. Страница Mining Accuracy Chart показана на Рисунок 42. Рисунок 42 - Mining Accuracy Chart Задание Для того чтобы создать новую диаграмму выполните следующие шаги: 1. Свяжите столбцы модели с соответствующими столбцами во входных данных. 2. Установите фильтр на входные данные. 3. Выберите сравниваемые модели, а также поля для которых делается прогнозирование и их значения. Примечание: Для использования mining accuracy chart модели должны быть обработаны. Отображение входных столбцов На первом шаге необходимо связать столбцы, используемые в модели со столбцами во входных данных. В том случае, если имена столбцов совпадают, связи создадутся автоматически. Чтобы соотнести входные столбцы со структурой модели: 1. В поле Select Input Table(s) выберите Select case table. Откроется диалоговое окно выбора таблицы, где вы можете выбрать таблицу, содержащую данные, которые вы хотите использовать для прогнозирования и определения точности моделей. В этом руководстве используются те же данные, что и для обработки моделей. 2. В диалоговом окне Select table, раскройте базу AdventureWorks и выберите источник данных Adventure Works DW. 3. Нажмите vTargetMail. Столбцы data mining структуры автоматически будут соответствовать столбцам с теми же именами таблицы с исходными данными, как показано на Рисунок 43. Рисунок 43 - Связанные столбцы Запрос на прогноз генерируется для каждой модели Mining Structure на основании связанных столбцов. Вы можете удалить связь, выбрав линию, связывающую поля в Mining Structure и Select Input Table(s) и нажав DELETE. Также вы можете создать связь вручную, выбрав столбец в Select Input Table(s) и перетащив его на соответствующий столбец в Mining Structure. Фильтрация входных столбцов Для установки фильтров на входные данные вы можете использовать таблицу Filter the input data used to generate the lift chart. Вы можете перетащить столбцы из Select Input Table(s) на таблицу с результатами или выбрать значения в выпадающих списках. Например, если необходимо учитывать только те строки в столбце Income, где его значение больше х, выберите Income в поле Field, а в поле Criteria/Argument введите >x. Для выполнения данного упражнения вам не потребуется фильтровать данные. Выбор моделей, прогнозируемых полей и их значений Следующий шаг заключается в выборе моделей, которые вы хотите включить в рассмотрение, и прогнозируемого поля, по которому они будут сравниваться. По умолчанию, выбраны все модели. Вы можете создавать два типа диаграмм. Если указано значение прогнозируемого атрибута, вы увидите график вроде того, что показан на Рисунок 44, из которого видно какая из моделей показывает лучший результат (lift chart). Чтобы показать диаграмму lift chart: 1. Для каждой модели в поле Predictable Column Name выберите Bike Buyer. 2. Для каждой модели в поле Predict Value выберите 1. Чтобы показать диаграмму точности моделей: В поле Predictable Column Оставьте поле Predict Value пустым. Name, выберите Bike Buyer. Если установлен флаг Synchronize Prediction Columns and Values, прогнозируемый столбец синхронизируется для каждой модели в структуре Data Mining. Примечание: Список столбцов модели Predictable Column Name, ограничен полями с типом Predict и Predict Only, содержащими дискретные или дискретизированные данные. В некоторых более сложных случаях, вам может понадобиться создать диаграмму роста для двух моделей анализа, но в которых значения прогнозируемого атрибута берутся из разных столбцов структуры Data Mining. Если выключить флаг Synchronize Prediction Columns and Values, можно выбрать любой доступный прогнозируемый столбец и значение. Результаты отображаются вместе, вне зависимости от того как они получены. Диаграмма роста Кликните на закладку Lift Chart чтобы просмотреть диаграмму роста. При выполнении этого действия на сервере выполняется запрос на прогнозирование. Полученные результаты прогноза сравниваются с известными значениями и сортируются по вероятности, после чего отображаются на графике. Для более подробной информации по использованию диаграммы, обратитесь к разделу "Lift Chart" в SQL Server Books Online. При условии указанного значения прогнозируемого диаграмма роста имеет вид показанный на Рисунок 44. столбца, Рисунок 44 - Рост для каждой модели в сравнении с идеальной моделью Если значение прогнозируемого атрибута не было указано, диаграмма роста показывает точность предсказаний моделей (см. рисунок 45). Рисунок 45 - Точность каждой модели в сравнении с идеальной моделью Контрольные вопросы 1. Прокомментируйте полученные результаты 2. Что такое идеальная модель 3. Какая из моделей наиболее близка к идеальной, как вы думаете почему? Лабораторная работа № 7 Создание прогнозов Цель работы Рассмотреть возможности пакета BI по решению задач прогнозирования Задание Теперь, после того как вы закончили с моделями анализа, можете перейти к созданию DMX запросов, используя Prediction Query Builder. Prediction Query Builder аналогичен Access Query Builder, где вы можете использовать drag-and-drop для построения запросов. Инструмент содержит три окна: Design Query Result Рисунок 46 - Prediction Query Builder - вид по умолчанию Используя окна Design и Query, вы можете создавать и просматривать запросы. Результаты выполнения отображаются на странице Result. Создание запросов Первым шагом при создании запроса является выбор модели анализа и таблицы с исходными данными. Чтобы выбрать модель и таблицу с исходными данными 1. В окне Mining Model нажмите Select model. Откроется диалоговое окно Select Mining Model. По умолчанию выбрана первая модель в структуре. 2. Переместитесь по дереву к пункту Targeted Mailing и нажмите на него. 3. В поле Select Input Table(s) нажмите Select case table. Откроется диалоговое окно Select Table. 4. Спуститесь по дереву к таблице ProspectBuyer из data source AdventureWorksDW. После того, как вы указали таблицу с исходными данными, Prediction Query Builder создаст связи по умолчанию между моделью и таблицей, основанные на совпадении имён столбцов, как показано на рисунке 38. Рисунок 47 - Соответствие столбцов на странице Mining Model Prediction Чтобы построить запрос на прогноз 1. В поле Source, нажмите на ячейку в первой пустой строке, затем кликните на ProspectBuyer table. 2. В поле Field, рядом с записью, созданной на первом шаге, кликните ProspectKey. При этом добавится уникальный идентификатор к запросу, так что вы сможете определить кто склонен или наоборот, несклонен к покупке велосипеда. 3. Нажмите на следующей ячейке в столбце Source, затем кликните на Targeted Mailing. 4. В ячейке Field, выберите Bike Buyer. Таким образом, определяется, что для создания прогнозов будет использована модель Microsoft Clustering из структуры Targeted Mailing. 5. Нажмите на следующей ячейке в столбце Source, затем нажмите Prediction Function. 6. Рядом с Prediction Function, в поле Field, нажмите PredictProbability. Функции прогнозирования дают информацию о том, о том как делается прогноз. Функция PredictProbability предоставляет информацию о вероятности правильного прогноза. Вы можете определить параметры функции в столбце Criteria/Argument. 7. В поле Criteria/Argument, наберите [Targeted Mailing].[Bike Buyer]. Этим действием назначается целевой столбец для функции PredictProbability. Для более подробной информации о функциях, обратитесь к разделу " DMX Function Reference " в SQL Server Books Online. На вашем экране должно отобразиться следующее (см. рисунок 39). Рисунок 48 Prediction Query Builder на странице Mining Model Prediction. Нажав на иконку в левом верхнем углу, можно переключиться в Query view и просмотреть DMX код, созданный Prediction Query Builder. Кроме того, вы можете исполнить запрос, изменить и затем исполнить его, однако изменённый запрос не отобразится при переходе назад в Design View. Просмотр результатов Вы можете исполнить запрос, нажав на стрелку рядом с иконкой левом верхнем углу страницы, затем нажмите Result. На рисунке 40 показаны результаты запроса. Рисунок 49 Страница результатов. Столбцы ProspectKey, BikeBuyer и Expression отвечают соответственно идентификатору потенциальных покупателей, купят ли они велосипед (1 или 0) и вероятности правильности прогноза. Вы можете использовать эти результаты, чтобы определить, кому следует разослать письма с предложением. Контрольные вопросы 1. Для решения каких практических задач используется прогнозирование? 2. Какие инструменты для этого предлагается использовать в составе ПО от Microsoft? Учебное издание ПОНОМАРЕВ Алексей Анатольевич Оперативная аналитическая обработка данных OLAP Интеллектуальный анализ данных Методические указания к выполнению лабораторных работ по курсу «Базы данных» для студентов III курса специальностей 230105 «Программное обеспечение вычислительной техники и автоматизированных систем». 230201 «Информационные системы и технологии». Научный редактор доктор технических наук, профессор Г.П. Цапко Подписано к печати XX.XX.20XX. Формат 60х84/16. Бумага «Снегурочка». Печать Xerox. Усл. печ. л. 000. Уч.-изд. л. 000. Заказ ХХХ. Тираж ХХХ экз. Томский политехнический университет Система менеджмента качества Томского политехнического сертифицирована университета NATIONAL QUALITY ASSURANCE стандарту ISO 9001:2000 по