
- •Понятие хранилища данных
- •Физические и виртуальные хранилища данных
- •Проблематика построения хранилищ данных
- •Витрины данных
- •Понятие и модель данных olap
- •Понятие olap
- •Категории данных в хд
- •Информационные потоки в хд
- •Структура olap-куба
- •Иерархия измерений olap-кубов
- •Операции, выполняемые над гиперкубом
- •Архитектура olap-систем
- •1.8.1. Слой извлечения, преобразования и загрузки данных
- •1.8.2. Слой хранения данных
- •1.8.3. Слой анализа данных
- •Клиентские olap-средства
- •Серверные olap-средства
- •Технические аспекты многомерного хранения данных
- •Общие сведения о многомерном анализе данных при помощи службы sql Server 2008 Analysis Services
- •Возможности службы ssas
- •Компоненты bi-решения Microsoft
- •Масштабируемость и производительность
- •Представление источника данных
- •Интеграция с Microsoft Office System 2007
- •Локализация решения посредством использования переводов
- •Инструменты управления службой ssas
- •Планирование и архитектура ssas
- •Логическая архитектура
- •Физическая архитектура
- •Архитектура программирования ssas
- •3.3.1. Объекты amo
- •3.3.2. Язык assl
- •3.3.3. Поставщик данных adomd.Net
- •Разработка многомерных баз данных с использованием ssas
- •Проектирование и реализация многомерных баз данных
- •Решения, проекты и элементы
- •Типы проектов бизнес-аналитики
- •Выбор между ssms и bi Dev Studio
- •Создание проекта служб Analysis Services в среде bi Dev Studio
- •Папки проекта служб Analysis Services
- •Типы файлов проекта Analysis Services
- •Запросы к многомерным базам данных
- •4.2.1. Ключевые понятия многомерных выражений
- •4.2.2. Кортежи
- •4.2.3. Наборы
- •4.2.4. Основные понятия о запросах многомерных выражений
- •4.2.5. Основные понятия о сценариях многомерных выражений
- •Использование служб Integration Services со службами Analysis Services
- •Возможности Integration Services для работы с olap
- •5.1.1. Слияние данных из разнородных хранилищ данных
- •5.1.2. Заполнение хранилищ данных и витрин данных
- •5.1.3. Очистка и стандартизация данных
- •Архитектура служб ssis
- •Пакет ssis
- •5.3.1. Элементы потока управления
- •5.3.1.1. Контейнеры
- •5.3.1.2. Задачи
- •5.3.2. Элементы потока данных
- •5.3.2.1. Источники
- •5.3.2.2. Преобразования
- •5.3.2.3. Целевые объекты (назначения)
- •5.3.2.4. Внешние метаданные
- •5.3.2.5. Входы и выходы
- •5.3.2.6. Пути
- •6.3.2.7. Настройка компонентов потока данных
- •Развертывание служб ssas
- •Планирование развертывания служб Analysis Services
- •6.1.1. Требования к ресурсам
- •6.1.2. Поддержание доступности
- •6.1.3. Инструментарий развертывания служб ssas
- •Настройка безопасности
- •6.2.1. Обеспечение безопасности служб ssas
- •6.2.2. Настройка безопасности служб ssas
- •6.2.3. Предоставление административного доступа
- •6.2.4. Разрешения, которые роль сервера служб ssas может предоставить роли базы данных
- •Требования к файловой системе
- •Требования к программному обеспечению
- •Требования к аппаратному обеспечению
- •Версии sql Server 2008
- •Сценарий цикла лабораторных работ
- •Практические задания
- •Контрольные вопросы
- •Определение представления источника данных в проекте служб Analysis Services Теоретическое введение Выбор метода определения соединения
- •Проектирование представлений источников данных
- •Практические задания
- •Создание проекта служб Analysis Services
- •Определение источника данных
- •Определение нового представления источника данных
- •Изменение имен таблиц по умолчанию
- •Контрольные вопросы
- •Определение и развертывание куба
- •Теоретическое введение
- •Проектирование измерений
- •Развертывание проекта
- •Практические задания Определение измерения
- •Определение куба и его свойств
- •Добавление атрибутов к измерениям
- •Просмотр свойств куба и измерений в конструкторе кубов
- •Развертывание проекта служб Analysis Services
- •Просмотр куба
- •Статистические функции
- •Форматы отображения
- •Определение именованных вычислений в представлении источника данных
- •Связи атрибутов
- •Создание пользовательских иерархий
- •Настройка уровня «All» для иерархий атрибутов
- •Практические задания Изменение мер
- •Изменение измерения «Клиент»
- •Переименование атрибутов
- •Создание иерархии
- •Добавление именованного вычисления
- •Использование именованных вычислений в качестве имен элементов
- •Определение папок отображения
- •Определение составных ключевых столбцов
- •Определение связей атрибутов
- •Развертывание изменений, обработка объектов и просмотр изменений
- •Изменение измерения «Продукт»
- •Добавление именованного вычисления
- •Изменение свойства NameColumn атрибута
- •Создание иерархии
- •Определение имен папок и имени элемента «All»
- •Определение связей атрибутов
- •Просмотр изменений в измерении «Продукт»
- •Изменение измерения «Дата»
- •Добавление именованного вычисления
- •Использование именованных вычислений в качестве имен элементов
- •Создание иерархии
- •Определение связей атрибутов
- •Создание уникальных имен для элементов измерения
- •Определение составного свойства KeyColumns и задание столбца имени
- •Развертывание и просмотр изменений
- •Изменение порядка сортировки путем изменения порядка элементов составных ключей
- •Просмотр развернутого куба
- •Контрольные вопросы
- •Определение расширенных свойств атрибутов и измерений
- •Теоретическое введение Определение иерархии типа «родители-потомки»
- •Группирование элементов атрибутов
- •Скрытие и отключение иерархий атрибутов
- •Сортировка элементов атрибута по вторичному атрибуту
- •Определение связей атрибутов в определенной пользователем иерархии
- •Определение свойств Unknown Member и Null Processing
- •Практические задания Загрузка и обработка улучшенной версии учебного проекта
- •Основные сведения об улучшениях проекта
- •Определение свойств родительского атрибута в иерархии «родители-потомки»
- •Просмотр измерения Employee
- •Изменение свойств родительского атрибута в измерении Employee
- •Просмотр измерения Employee с измененными атрибутами
- •Автоматическое группирование элементов атрибута
- •Группирование элементов иерархии атрибута в измерении Customer
- •Группирование элементов иерархии атрибута в измерении Employee
- •Просмотр измененных иерархий атрибутов
- •Изменение свойств группирования и просмотр результата внесенных изменений
- •Скрытие и отключение иерархий атрибутов
- •Определение свойств иерархии атрибута в измерении «Employee»
- •Настройка свойств иерархии атрибута в измерении «Customer»
- •Сортировка элементов атрибута по вторичному атрибуту
- •Определение связей атрибутов и порядка сортировки в измерении Date
- •Определение связей атрибутов и порядка сортировки в измерении «Customer»
- •Определение связей атрибутов в определенной пользователем иерархии
- •Определение связи атрибутов в иерархии Customer Geography
- •Определение связей атрибутов в иерархии Sales Territory
- •Определение связей атрибутов в иерархии Product Model Lines
- •Определение связей атрибутов в иерархии Fiscal Date
- •Определение связей атрибутов в иерархии Calendar Date
- •Определение связей атрибутов в иерархии Geography
- •Определение свойств Unknown Member и Null Processing
- •Просмотр свойств обработки ошибок и неизвестного элемента в измерении Product
- •Определение атрибутов из связанных по схеме «снежинка» таблиц и пользовательской иерархии Product Category
- •Просмотр пользовательских иерархий в измерении Product
- •Включение неизвестного элемента, определение связи атрибутов и указание свойства пользовательской обработки для значений null
- •Повторный просмотр измерения Product
- •Контрольные вопросы
- •Определение связей между измерениями и группами мер
- •Теоретическое введение Связи измерений
- •Связи обычного измерения
- •Связи ссылочного измерения
- •Связи измерения фактов
- •Связи измерений «многие ко многим»
- •Практические задания Определение ссылочной связи
- •Распределение показателя «Reseller Sales - Sales Amount» по измерению «Geography»
- •Определение атрибута промежуточного измерения и ссылочной связи измерений
- •Распределение показателя «Reseller Sales» по измерению «Geography»
- •Определение связи фактов
- •Определение измерения фактов «Заказы через Интернет»
- •Определение связи фактов для измерений фактов
- •Просмотр куба с использованием измерения фактов
- •Определение связи «многие ко многим»
- •Добавление необходимых таблиц к представлению источника данных
- •Определение промежуточной группы мер
- •Определение измерения «многие ко многим»
- •Определение связи «многие ко многим»
- •Просмотр куба и измерения «многие ко многим»
- •Определение степени гранулярности измерения в группе мер
- •Добавление таблиц и определение группы мер «Sales Quotas»
- •Просмотр мер в группе «Sales Quota» по датам
- •Определение свойств использования измерений для группы мер Sales Quotas
- •Определение связи между атрибутом «Calendar Quarter» и другими атрибутами измерения даты
- •Просмотр мер в группе «Sales Quota» по датам
- •Контрольные вопросы
- •Определение вычислений Теоретическое введение
- •Вычисляемые элементы
- •Именованные наборы
- •Команды сценариев
- •Определение вычислений
- •Практические задания
- •Определение вычисляемых элементов Определение статистических вычислений для физических мер
- •Создание вычислений коэффициента валовой прибыли
- •Создание вычислений «Проценты от общего»
- •Просмотр новых вычисляемых элементов
- •Определение именованных наборов
- •Определение именованного набора «Основные товары»
- •Определение именованного набора «Крупные торговые посредники»
- •Просмотр куба с использованием новых именованных наборов
- •Определение назначений с указанием области с помощью команд сценариев
- •Просмотр распределения квот на количество продаж по датам и сотрудникам
- •Определение области вычисления квоты суммы продаж в финансовом году 2005
- •Определение и проверка нового вычисления квоты продаж для финансового года 2005
- •Распределение квоты суммы продаж по полугодиям и кварталам финансового года 2005
- •Распределение квот продаж по месяцам
- •Контрольные вопросы
- •Определение ключевых индикаторов производительности
- •Теоретическое введение Понятие kpi
- •Общие термины ключевых индикаторов производительности
- •Родительские ключевые показатели производительности
- •Извлечение и отображение ключевых индикаторов производительности
- •Определение kpi
- •Практические задания
- •Определение ключевого индикатора производительности «Доход от продаж через торгового посредника»
- •Просмотр куба с использованием ключевого индикатора производительности «Доход от продаж через торгового посредника»
- •Определение ключевого индикатора производительности «Итоговый коэффициент валовой прибыли»
- •Просмотр куба с использованием ключевого индикатора производительности «Итоговый коэффициент валовой прибыли»
- •Контрольные вопросы
- •Определение перспектив куба и переводов метаданных.
- •Теоретическое введение Перспективы
- •Переводы
- •Практические задания Определение и поиск перспектив
- •Определение перспективы «Продажи через Интернет»
- •Определение перспективы «Продажи через посредников»
- •Определение перспективы «Сводки о продажах»
- •Просмотр куба в каждой из перспектив
- •Определение и просмотр переводов Задание переводов для метаданных измерения «Date»
- •Указание перевода для метаданных куба «Analysis Services Tutorial»
- •Просмотр куба с использованием переводов
- •Настройка безопасности служб ssas
- •Предоставление административного доступа
- •Разрешения, которые роль сервера служб ssas может предоставить роли базы данных
- •Практические задания
- •Определение роли «Обработка объектов базы данных»
- •Контрольные вопросы
- •Заполнение куба при помощи Integration Services
- •Теоретическое введение
- •Практические задания
- •Формат данных источника
- •Формат таблицы-назначения
- •Сопоставление данных источника и назначения
- •Создание нового проекта служб Integration Services
- •Установка свойств проекта, зависящих от языка и региональных стандартов
- •Добавление диспетчера соединений с плоскими файлами
- •Добавление и настройка диспетчера соединений ole db
- •Добавление задачи потока данных в пакет
- •Добавление и настройка источника плоских файлов
- •Добавление и настройка преобразований «Уточняющий запрос»
- •Добавление и настройка преобразования «Уточняющий запрос CurrencyId»
- •Добавление и настройка преобразования «Уточняющий запрос DataId»
- •Добавление и настройка образца назначения ole db
- •Добавление заметки к потоку данных
- •Выполнение пакета
- •Контрольные вопросы
- •Литература
Сопоставление данных источника и назначения
Анализ форматов данных источника и назначения показывает, что для значений CurrencyKey и TimeKey необходимы преобразования «Уточняющий запрос». Преобразования, которые будут выполнены, получат значения CurrencyKey и TimeKey, используя альтернативные ключи из таблиц измерений DimCurrency и DimTime (Таблица 13).
Таблица 13. Сопоставление данных источника и назначения
Столбец плоских файлов |
Имя таблицы |
Имя столбца |
Тип данных |
0 |
FactCurrencyRate |
AverageRate |
Float |
1 |
DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 |
DimTime |
FullDateAlternateKey |
Datetime |
3 |
FactCurrencyRate |
EndOfDayRate |
Float |
Создание нового проекта служб Integration Services
Запустите BI Dev Studio. В меню «Файл» выберите пункт «Создать» и подпункт «Проект», чтобы создать новый проект служб SSIS (Рисунок 553).
Рисунок 553. Создание нового проекта в BI Dev Studio
В диалоговом окне «Создать проект» в области «Шаблоны» выберите вариант «Проект служб SSIS». В поле Имя измените заданное по умолчанию имя на Integration Services Turotial. При необходимости снимите флажок «Создать каталог для решения» (Рисунок 554).
Рисунок 554. Настройка параметров создаваемого проекта
По умолчанию будет создан пустой пакет с именем Package.dtsx, который будет добавлен к проекту (Рисунок 555).
Рисунок 555. Созданный по умолчанию проект
На панели инструментов «Обозреватель решений» щелкните правой кнопкой мыши файл Package.dtsx, выберите команду «Переименовать» и переименуйте пакет по умолчанию в «Lab11.dtsx».
Получив предупреждение о переименовании объекта пакета, нажмите кнопку «Да» (Рисунок 556).
Рисунок 556. Предупреждение о переименовании объекта пакета
Установка свойств проекта, зависящих от языка и региональных стандартов
В меню «Вид» выберите пункт «Окно свойств». В окне «Свойства» присвойте свойству LocaleID значение Английский (США) (Рисунок 557).
Рисунок 557. Окно свойств пакета
Добавление диспетчера соединений с плоскими файлами
Далее к созданному пакету будет добавлен диспетчер соединений с плоскими файлами. Диспетчер соединений с плоскими файлами позволяет пакету извлекать данные из плоских файлов. С помощью диспетчера соединений с плоскими файлами можно указать имя и расположение файла, языковые стандарты и кодовую страницу, а также формат файла, включая разделители столбцов. Эти данные будут использованы при извлечении пакета из плоского файла. Кроме того, можно вручную указать тип данных для каждого столбца или в диалоговом окне «Предлагаемые типы столбцов» указать автоматическое сопоставление столбцов извлекаемых данных с типами данных в службах SSIS.
В данной лабораторной работе предстоит настроить следующие свойства диспетчера соединений с плоскими файлами:
Имена столбцов. Так как в плоском файле не указаны имена столбцов, диспетчер соединений с плоскими файлами создает имена столбцов по умолчанию. Указанные имена по умолчанию не дают представления о содержащихся в столбцах данных. Чтобы сделать имена по умолчанию более понятными, следует заменить их именами, взятыми из таблицы фактов, в которую производится загрузка данных.
Сопоставление данных. Сопоставление типов данных, указанное для диспетчера соединений с плоскими файлами, используется всеми компонентами источников данных «плоский файл», которые обращаются к диспетчеру подключения. Можно сопоставить типы данных вручную с помощью диспетчера соединений с плоскими файлами или использовать «диалоговое окно Предлагаемые типы столбцов». В данной лабораторной работе предстоит просмотреть сопоставления, предложенные в диалоговом окне «Предлагаемые типы столбцов», а затем вручную создать необходимые сопоставления в диалоговом окне «Редактор диспетчера соединений с плоскими файлами».
Щелкните правой кнопкой область «Диспетчеры соединений» и в контекстном меню выберите команду «Создать соединение с плоским файлом» (Рисунок 558).
Рисунок 558. Контекстное меню области "Диспетчер соединений"
В диалоговом окне «Редактор диспетчера соединений с плоскими файлами» в поле «Имя диспетчера соединений» введите «DS Sample». Нажмите кнопку «Обзор». В диалоговом окне «Открыть» найдите папку, содержащую образец данных, а затем откройте файл SampleCurrencyData.txt. По умолчанию образцы данных устанавливаются в папку C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data (Рисунок 559).
Рисунок 559. Редактор диспетчера соединений с плоскими файлами
Убедитесь, что в диалоговом окне «Редактор диспетчера соединений с плоскими файлами» свойство «Языковой стандарт» установлено в значение «Русский (Россия)», а свойство «Кодовая страница» - в значение 1251.
В левой части редактора нажмите пункт «Дополнительно». В области свойств измените свойство «Имя» для столбца 0 на AverageRate, для столбца 1 – на «CurrencyID», для столбца 2 на «CurrencyDate», а для столбца 3 на «EndOfDayRate» (Рисунок 560).
Рисунок 560. Задание имен столбцов
По умолчанию для всех четырех столбцов указан строковый тип данных [DT_STR] со значением параметра «OutputColumnWidth», равным 50.
В диалоговом окне «Редактор диспетчера соединений с плоскими файлами» нажмите кнопку «Предложить типы». Службы SSIS автоматически предлагают большинство соответствующих типов данных на основании первых 100 строк данных. Можно изменить параметры предложения по большему или меньшему количеству данных, чтобы указать тип данных по умолчанию для целочисленных и логических данных или чтобы добавить пробелы в дополнение к строковым столбцам. На данный момент не изменяйте значения параметров в диалоговом окне «Предполагаемые типы столбцов» и нажмите кнопку ОК, чтобы службы SSIS предложили типы данных для столбцов (Рисунок 561).
Рисунок 561. Диалоговое окно «Предполагаемые типы столбцов»
Вернется область «Дополнительно» диалогового окна «Редактор диспетчера соединений с плоскими файлами», где можно просмотреть типы данных столбцов, предложенные службами SSIS (Рисунок 562).
Рисунок 562. Предложенные SSIS типы данных столбцов
В данной лабораторной работе для данных из файла SampleCurrencyData.txt в службах SSIS предлагаются типы данных, приведенные во втором столбце, а типы данных, требуемые для столбцов назначения, которые будут определены позже, приведены в последнем столбце (Таблица 14).
Таблица 14. Предложенные SSIS типы данных источника и типы данных для столбцов назначения
Столбец плоских файлов |
Предложенный тип |
Целевой столбец |
Целевой тип |
AverageRate |
Float [DT_R4] |
FactCurrencyRate.AverageRate |
Float |
CurrencyID |
String [DT_STR] |
DimCurrency.CurrencyAlternateKey |
nchar(3) |
CurrencyDate |
Date [DT_DATE] |
DimTime.FullDateAlternateKey |
datetime |
EndOfDayRate |
Float [DT_R4] |
FactCurrencyRate.EndOfDayRate |
Float |
Типы данных, предложенные для столбцов «CurrencyID» и «CurrencyDate», несовместимы с типами данных в полях целевой таблицы. Необходимо изменить тип данных столбца «CurrencyID» со строкового [DT_STR] на строковый [DT_WSTR], так как типом данных поля «DimCurrency.CurrencyAlternateKey» является nchar (3). В качестве типа данных поля «DimTime.FullDateAlternateKey» задан тип «DateTime», поэтому необходимо изменить тип параметра «CurrencyDate» с типа даты [DT_Date] на тип временной метки базы данных [DT_DBTIMESTAMP].
В окне свойств измените тип данных столбца «CurrencyID» со строкового [DT_STR] на тип «Строка в Юникоде [DT_WSTR]» (Рисунок 563).
Рисунок 563. Изменение типа данных столбца «CurrencyID»
В области свойств измените тип данных столбца «CurrencyDate» с типа даты [DT_DATE] на тип «временная метка базы данных [DT_DBTIMESTAMP]». Нажмите кнопку ОК.