Знайомимося з BI, Windows IT Pro

Інструментарій доступу до функцій бізнес-аналітики SQL Server 2005

Зізнаюся, я був одним із тих фахівців з реляційних баз даних, які не надавали великого значення Analysis Services. Я думав, що куб O. LAP це місце перебування Олівера Лапа, співробітника фінансового відділу, з 8:00 до 17:00. Розмірності (dimension), як мені здавалося, можуть цікавити лише фізиків та шанувальників «Сутінкової зони».

Трансформації SSIS

Спочатку розглянемо два завдання трансформації SSIS. Служба SSIS змінила DTS (Data Transformation Services — служба перетворення даних). Вона виконує ту ж функцію, що й DTS, а саме переносить дані з одного місця в інше. Однак можливості SSIS ширші, вона простіша у використанні, вимагає менше зусиль у плані програмування та відрізняється дуже високою швидкодією.

Насамперед ми поговоримо про такі завдання трансформації, як Fuzzy Lookup (нечіткий пошук) та Fuzzy Grouping (нечітке угруповання). Як видно з назв, за допомогою цих операцій можна групувати та виконувати пошук без точного збігу даних. Ці функції можуть бути корисними під час імпорту інформації з успадкованих систем або полів введення даних довільного формату.

Fuzzy Lookup.Функція Fuzzy Lookup зчитує стовпці даних і шукає значення таблиці посилань потоку даних SSIS. Повного збігу не потрібно. Fuzzy Lookup нагадує поблажливого вчителя: виставляє бали за криволінійною шкалою та дає частковий кредит довіри. Fuzzy Lookup веде пошук близьких збігів між значеннями у стовпці та елементами таблиці.

знайомимося

Важлива особливість Fuzzy Lookup: передбачається, що слова, що повністю складаються з великих літер, є акроніми. Значимістькожної літери акроніма вище, ніж в окремих літер у звичайному слові; FCC і FTC – дві різні речі. Хоча кількість змін цих акронімів дорівнює одиниці, Fuzzy Lookup не намагається зіставити їх. Якщо успадковані дані введені виключно великими літерами, їх слід перед запуском Fuzzy Lookup перетворити на малі.

знайомимося

Наекрані 5показано пакет SSIS, який використовує трансформацію Fuzzy Grouping для пошуку потенційних дублікатів у процесі імпорту. Наекрані 6показані результати імпорту та відзначені потенційні дублікати. Операція Fuzzy Grouping не видаляє дублікати автоматично; це робиться у ході окремої операції.

Значення в стовпці Key_In, що генерується в процесі операції Fuzzy Grouping, є унікальним ідентифікатором для кожного запису в потоці даних. У процесі нечіткого зіставлення значення в стовпці Key_Out, поряд із чистим значенням для кожного стовпця, що обробляється SSIS, показує групи виявлених потенційно дубльованих записів. У цьому прикладі були згруповані рядки зі значеннями Key_In 2, 3 і 4, а рядок 4 ідентифіковано як Model Row (рядок, в якому слід об'єднати дубльовані записи). Як і в операції Fuzzy Lookup, стовпець Similarity/Score показує рівень збігу на основі величини редагування. Рівень збігу 1 вказує на точну відповідність. Рівні збігу менше 1 вказують на нечітку відповідність.

Добуваємо золото

Завдання трансформації Data Mining Prediction Query - ще одна операція SSIS, яка допоможе прогнозувати значення невідомих даних у процесі завантаження інформації. Іноді мене запитують: «Вилучення даних – це такий метод, у якому використовуються складні математичні алгоритми та хитромудрий мовузапитів?» Це дійсно так. Однак, перш ніж в очах читача з'явиться нудьга і він перейде до наступної статті, хочу зазначити, що користувачу зовсім не обов'язково вникати математичні тонкощі. Крім того, мова запитів Data Mining Extensions (DMX) є розширенням T-SQL. Тому багато елементів запиту DMX виглядають дуже знайомими.

Методи отримання даних дозволяють шукати закономірності і будувати прогнози всередині набору даних. Наприклад, за допомогою алгоритму вилучення даних можна дослідити тенденції у поведінці покупців та визначити, які товари та послуги той чи інший клієнт може придбати наступного разу чи хтось із споживачів може звернутися до іншого постачальника. У цій статті інструментарій вилучення даних використовується для вибору продуктів, які можуть мати попит у роздрібному магазині.

Щотижня електронна книгарня отримує від дистриб'ютора список книг. Магазин платить за кожну книгу, яка публікується на сайті, тому він зацікавлений у тому, щоб у списку були лише книги, які, напевно, будуть продані. Аналітик з продажу щомісяця переглядає інформацію про продаж та визначає, які книги слід розмістити на сайті. Керівництво книгарні бажає організувати автоматизований процес вибору книг, аналогічних поточним бестселерам у національних списках. Це можна зробити за допомогою трансформації Data Mining Prediction Query.

Для трансформації Data Mining Prediction Query потрібна модель вилучення даних. Моделі отримання даних розміщуються в базі даних Analysis Services, тому необхідно мати доступ до сервера Analysis Services. Використання Analysis Services входить до ліцензії SQL Server 2005, і службу неважко додати до існуючого екземпляра SQLServer 2005

Mining Model Viewer (екран 7) показує закономірності, виявлені навченою моделлю вилучення даних. Затінення означає концентрацію бестселерів у певному вузлі дерева: що темніше фон, то вища концентрація. Помітною є висока концентрація бестселерів серед книг видавництва Random House. Ще вища концентрація лідерів продажу серед детективів, випущених цим видавництвом. Отже, у цей час доцільно представляти на книжковому сайті більше детективів Random House. Звичайно, популярність книг змінюється від місяця до місяця, тому рекомендується частіше перенавчати модель даних, щоб точніше відслідковувати тенденції попиту.

windows

Навчену модель вилучення даних можна використовувати у складі пакета SSIS, який імпортує список книг дистриб'ютора. Як показано на екрані 8, логіка процесу, що управляє, отримує текстовий файл з FTP-вузла дистриб'ютора, перенавчає модель вилучення даних з використанням інформації про поточні продажі і, нарешті, запускає процес обробки даних, в ході якого виконується власне імпорт.

знайомимося

Процес обробки даних (екран 9) зчитує список наявних книг із текстового файлу, а потім використовує завдання трансформації Data Mining Prediction Query для прогнозування статусу продажу кожної нової книги. Книги, що відповідають критерію бестселерів (зі статусом продажів 1), вносяться до таблиці Books та пропонуються в електронному магазині.

windows

На екрані 10 показаний запит DMX, який використовується у трансформації Data Mining Prediction Query. Запит виглядає дуже схожим на пропозицію SELECT, яка виконує злиття двох таблиць. Відмінність полягає у використанні PREDICTION JOIN замість INNER або LEFT OUTER JOIN у типовихпропозиціях T-SQL. У цьому випадку PREDICTION JOIN отримує критерій потоку даних @InputRowset пакета SSIS і посилає його в модель вилучення даних Books-DecisionTrees. Оператор JOIN встановлює відповідність між полями таблиці даних та входами моделі вилучення даних. Ключове слово FLATTENED налаштовує запит DMX на генерацію набору даних зі стовпцями та рядками замість звичайного ієрархічного набору даних. Функція Predict() зі списком полів видає прогнозований рівень продажів.

Наекрані 11наведено результати прогностичного запиту: бестселери, додані до онлайнового магазину цього тижня. Не дивно, що всі поповнення цього тижня є детективами видавництва Random House. Але наступного тижня бестселери можуть відповідати іншому набору критеріїв і бути зовсім іншими. У цьому полягає перевага алгоритмів вилучення даних і автоматизації процесів в SSIS — у зручності адаптації до ситуації шляхом постійного перенавчання моделі.

Нагорода за сміливість

Для фахівців, які звикли до реляційних компонентів SQL Server, інструментарій BI може здатися складним, неприступним або просто непотрібним. Однак функціональність SQL Server 2005 має сподобатися розробникам як BI, так і реляційних моделей. Просто не треба боятись експериментувати з адаптивними можливостями функцій Fuzzy Lookup та Fuzzy Grouping, а також трансформацією Data Mining Prediction Query. За допомогою нового інструментарію можна швидко автоматизувати складний процес аналізу існуючих даних та видобути з них актуальні відомості. Хороший приклад застосування цих інструментів наведено у Web-презентації Джеймса Макленнана "Technology Overview: Business Technology Data Mining" на диску SQL Server 2005 Beta Resource Kit DVD. BI,безумовно, заслуговує на увагу — завантажте новий CTP, і ваша мужність буде гідно винагороджена.

Браян Ларсон- Директор з технологій у Superior Consulting Services, шт. Міннесота. Протягом 13 років займався розробкою програм для баз даних. Допомагає консультантам та групі розробників Reporting Services у Microsoft.[email protected]

Поділіться матеріалом з колегами та друзями