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


OLAP (On-Line Analytical Processing) – это способ электронной аналитической обработки данных, представляющий организацию данных в иерархические категории с использованием предварительно рассчитанных итоговых значений. Данные OLAP упорядочены иерархически и хранятся не в таблицах, а в кубах. Кубы OLAP представляют собой многомерный набор данных с осями, на которых отложены параметры, и ячейками, содержащими зависящие от параметров агрегатные данные. Кубы предназначены для комплексного многомерного анализа больших объемов данных, поскольку они предоставляют для отчетов только сводные результаты, вместо большого числа отдельных записей.

Концепция OLAP была описана в 1993 г. известным исследователем баз данных и автором реляционной модели данных Э. Ф. Коддом. В настоящее время поддержка OLAP реализована во многих СУБД и иных инструментах.

Куб OLAP содержит два типа данных:

· итоговые значения, значения, для которых требуется подвести итог, представляющие вычисляемые поля данных ;

· описательные сведения, представляющие измерения или размерности . Описательные сведения обычно распределяются по уровням детализации. Например: «Год», «Квартал», «Месяц» и «День» в размерности «Время». Распределение полей по уровням детализации позволяет пользователям, работающим с отчетами, выбирать требуемый уровень детализации для просмотра, начиная с итоговых данных высокого уровня и затем переходя к более подробному представлению, и наоборот.

Средства Microsoft Query также позволяют создавать кубы OLAP из запроса, который загружает данные реляционной базы данных, например Microsoft Access, при этом происходит преобразование линейной таблицы в структурную иерархию (куб).

Мастер создания куба OLAP является встроенным средством Microsoft Query. Для создания куба OLAP на основе реляционной базы данных перед запуском мастера необходимо выполнить следующие действия.

1. Определить источник данных (см. рис. 6.1).

2. С помощью Microsoft Query создать запрос, включая в него только те поля, которые будут являться либо полями данных, либо полями размерностей куба OLAP, если поле в кубе используется больше одного раза, то его необходимо включить в запрос нужное число раз.

3. На последнем шаге мастера создания запросов установить переключатель на пункте Создание куба OLAP из данного запроса (см. рис. 6.2) или после того как запрос создан средствами непосредственно Query в меню Файл выбрать команду Создать куб OLAP , после чего мастер создания куба OLAP будет запущен.

Работа мастера создания куба OLAP состоит из трех шагов.

На первом шаге мастера (см. рис. 6.6) определяются поля данных –вычисляемые поля, для которых необходимо определить итоговые значения.



Рис. 6.6. Определение полей данных

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

При создании OLAP куба можно использовать четыре итоговых функции – Сумма , Число (количество значений), Минимум , Максимум для числовых полей и одну функцию Число для всех остальных полей. Если нужно использовать несколько различных итоговых функций одного и того же поля, это поле должно быть включено в запрос нужное количество раз.

Имя вычисляемого поля можно изменить в столбце Имя поля данных .

На втором шаге мастера определяются описательные данные и их размерности (см. рис. 6.7). Для выбора поля измерения необходимо из списка Исходные поля перетащить нужное поле размерности верхнего уровня в список Измерения в область, помеченную как Перетащите сюда поля для создания размерности . Для создания куба OLAP необходимо определить хотя бы одну размерность. На этом же шаге мастера с помощью контекстного меню можно изменить имя поля размерности или уровня.

Рис. 6.7. Определение полей измерений

Поля, содержащие изолированные или обособленные данные и не принадлежащие к иерархии, можно определить как размерности с одним уровнем. Однако использование куба будет более эффективным, если некоторые из полей организованы в уровни. Чтобы создать уровень в составе размерности, перетащите поле из списка Исходные поля на поле, являющееся размерностью или уровнем. Поля, содержащие более подробные сведения, должны располагаться на более низких уровнях. Например, на рисунке 6.7 поле Должность является уровнем поля НазваниеОтдела .

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

Если в качестве размерности верхнего уровня используются поля даты или времени, мастер создания куба OLAP автоматически создает уровни для этих размерностей. Пользователь может затем выбрать, какие уровни должны присутствовать в отчетах. Например, можно выбрать недели, кварталы и годы, или же месяцы (см. рис. 6.7).

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

На третьем шаге мастера определяется типа куба, создаваемого мастером, при этом возможны три варианта (см. рис. 6.8).

Рис. 6.8. Выбор типа создаваемого куба на третьем шаге мастера

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

По умолчанию файлы определения куба так же, как и файлы запросов, хранятся в папке профиля пользователя в Application Data\Microsoft\Que-ries. При сохранении файла *.oqy в стандартной папке, имя файла определения куба выводится на вкладке Кубы OLAP при открытии нового запроса в Microsoft Query или при выборе команды Создать запрос (меню Данные , подменю Импорт внешних данных ) в Microsoft Excel.

· В случае выбора третьего варианта типа куба Сохранение файла куба, содержащего все данные для куба , извлекаются все данные для куба и в указанном пользователем месте создается файл куба с расширением *.cub , в котором эти данные хранятся. Создание данного файла не происходит немедленно при нажатии кнопки Готово ; файл создается либо при сохранении определения куба в файле, либо при создании отчета на основе куба.

Выбор типа куба определяется несколькими факторами: объемом данных, которые содержит куб; типом и сложностью отчетов, которые будут создаваться на основе куба; ресурсами системы (память и дисковое пространство) и т. п.

Отдельный файл куба *.cub следует создавать в следующих случаях:

1) для часто изменяемых интерактивных отчетов при наличии достаточного дискового пространства;

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

Синие стрелки - пути, которыми информация попадает в систему, зеленными – как информация в дальнейшем используется.

  1. Информация о заказах заносится в систему 1с – dbf версия.
  2. Загрузка данных «автообмен». Вообще – то это лишний шаг. Данные можно получать напрямую из dbf базы. Но программисты 1с решили что стандартный (для 1с) механизм выгрузки данных, принесет меньше вреда.
  3. Раз в сутки изменения за прошедший день выгружаются в специально подготовленную базу MsSql – хранилище. Выгружается не вся информация, а только то, что нужно для кубов.

    В принципе необязательно строить «хранилище». Данные для куба можно получать напрямую из базы 1с (MsSQL или dbf). Но в моем случае из 1с данные прошлых периодов периодически удаляются и очищаются справочники. Кроме того перед загрузкой в хранилище данные немного «чистятся».

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

С кубами работают сотрудники в офисе – руководство, менеджеры, маркетинг, бухгалтерия. Так же информация отправляется поставщикам и торговым представителям в разных городах области.

Любой пользователь может получить информацию разными путями:

  1. Построить отчет самостоятельно на web-странице или в excel

    Сначала использовался только excel, но возникало много проблем с тем, что екселевские файлы «разбредались», нужно было получить одну «точку входа» для выбора информации.
    Поэтому был создан локальный сайт, на котором опубликованы страницы с PivotTable. Сотрудник, который хочет получить пару цифр «здесь и сейчас» заходит на этот сайт и строит отчет в нужной ему форме. Если человеку нужно использовать этот отчет в дальнейшем – он может написать заявку, чтобы его отчет опубликовали в SSRS или сам сохраняет его в excel.

  2. Посмотреть стандартный отчет, опубликованный в SQL Server Reporting Services (SSRS)
  3. Получить локальный куб – и вне офиса «вращать» данные с помощью excel
  4. Подписаться на рассылку и получать стандартные отчеты из SSRS на e-mail
  5. Отдел маркетинга кроме того использует программу CubeSlice. В ней можно создавать локальные кубы самостоятельно и гораздо удобнее, чем в excel

Локальные кубы

Иногда пользователю нужно периодически получать отчеты, содержащие большие объемы данных. Например, отдел маркетинга отправлял отчеты поставщикам в виде екселевских файлов содержащих по несколько десятков страниц.
Olap не «заточен» для получение такой информации – отчеты формировались очень долго.

Как правило, поставщику тоже неудобно работать с большими отчетами. Поэтому большая часть, попробовав работать с локальными кубами, согласилась получать отчетность в таком виде. Список отчетов, которые формировал отдел маркетинга, значительно сократился. Оставшиеся тяжелые отчеты были реализованы в SSRS, созданы подписки (отчеты формируются автоматически и рассылаются поставщикам по расписанию)

Основные параметры системы

Конфигурация сервера:

процессор: 2xAMD Opteron 280
память: 4Gb
дисковые массивы:
операционная система: RAID 1 (зеркало) 2xSCSI 15k
данные: RAID 0+1 4xSCSI 10k

Согласитесь, такую машинку сложно назвать «мощным» сервером

Объем данных:

хранилище 10Гб, данные с 2002 года
агрегация 30%
Размер многомерной базы 350М
кол-во членов «больших измерений»: товары 25 тыс., адреса – 20 тыс.
кол-во документов в день - 400. среднее кол-во строк в документе - 30

Что в итоге получила компания:

Плюсы

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

Минусы:

  • Стоимость внедрения. Необходимо дополнительное оборудование и программное обеспечение.
  • Нехватка подготовленных специалистов. Расходы на обучение сотрудников it-отдела.

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

Если вам все же необходимо анализировать OLAP-данные после отключения от сети, создайте автономный куб данных. Автономный куб данных - это отдельный файл, который представляет собой кеш сводной таблицы и хранит OLAP-данные, просматриваемые после отключения от локальной сети. OLAP-данные, скопированные в сводную таблицу, можно распечатать, на сайте http://everest.ua подробно об этом рассказано.

Чтобы создать автономный куб данных, сначала создайте сводную таблицу OLAP. Поместите курсор в пределах сводной таблицы и щелкните на кнопке Средства OLAP (OLAP Tools) контекстной вкладки Параметры (Tools), входящей в группу контекстных вкладок Работа со сводными таблицами (PivotTable Tools). Выберите команду Автономный режим OLAP (Offline OLAP) (рис. 9.8).

На экране появится диалоговое окно настроек автономного куба данных OLAP. Щелкните в нем на кнопке Создать автономный файл данных (Create Offline Data File). Вы запустили мастер создания файла куба данных. Щелкните на кнопке Далее (Next), чтобы продолжить процедуру.

Cначала необходимо указать размерности и уровни, которые будут включаться в куб данных. В диалоговом окне необходимо выбрать данные, которые будут импортироваться из базы данных OLAP. Идея состоит в том, чтобы указать только те размерности, которые понадобятся после отключения компьютера от локальной сети. Чем больше размерностей укажете, тем больший размер будет иметь автономный куб данных.

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

На последнем этапе укажите расположение и имя куба данных. В нашем случае файл куба будет назван MyOfflineCube.cub и будет располагаться в папке Work.

Файлы кубов данных имеют расширение .cub

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

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

автономный файл куба (.cub) хранит данные в форму в кубе интерактивной аналитической обработки (OLAP). Эти данные могут представлять часть базы данных OLAP с сервера OLAP или она может были созданы независимо от любой базы данных OLAP. Чтобы продолжить работу с отчетами сводных таблиц и сводных диаграмм, если сервер недоступен или при отключении от сети с помощью файла автономного куба.

Дополнительные сведения об автономных кубах

При работе с отчетом сводной таблицы или сводной диаграммы, основанную на источнике данных с сервера OLAP, с помощью мастера автономного куба для копирования исходных данных отдельный автономный файл куба на вашем компьютере. Чтобы создать эти автономные файлы, необходимо иметь поставщика данных OLAP, который поддерживает эти возможности, такие как MSOLAP из Microsoft SQL Server Analysis Services, установленных на компьютере.

Примечание: Создание и использование файлов автономного куба из Microsoft SQL Server Analysis Services, распространяется действие термин и лицензирования установки Microsoft SQL Server. Просмотрите соответствующие сведения о лицензировании вашей версии SQL Server.

С помощью мастера автономного куба

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

Перевод данных в автономный режим, а затем перенос данных обратно в Интернете

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

Ниже описаны основные этапы перевода данных в автономный режим и их возврата в оперативный режим.

Примечание:

    Щелкните отчет сводной таблицы. Если это отчет сводной диаграммы, выберите связанный отчет сводной таблицы.

    На вкладке " Анализ " в группе вычисления нажмите кнопку Сервис OLAP и нажмите кнопку Автономно OLAP .

    Выберите пункт OLAP при наличии связи , а затем нажмите кнопку ОК .

    Если будет предложено найти источник данных, нажмите кнопку Найти источник и найдите OLAP-сервер в сети.

    Щелкните отчет сводной таблицы, основанный на файле автономного куба.

    В Excel 2016: На вкладке " данные " в группе запросы и подключения Обновить все и нажмите кнопку Обновить .

    В Excel 2013: На вкладке " данные " в группе подключения щелкните стрелку рядом с кнопкой Обновить все и нажмите кнопку Обновить .

    На вкладке " Анализ " в группе вычисления нажмите кнопку Сервис OLAP и нажмите кнопку Автономно OLAP .

    Нажмите кнопку Автономный режим OLAP , а затем - .

Примечание: Остановить в диалоговом окне .

Предупреждение:

Создание автономного файла куба из базы данных OLAP-сервера

Примечание: Если база данных OLAP имеет большой объем, а файл куба нужен для обеспечения доступа к большому подмножеству данных, потребуется много свободного места на диске, а сохранение файла может занять много времени. Для повышения производительности автономные файлы кубов рекомендуется создавать с использованием сценария многомерных выражений.

Проблема: Моя компьютера недостаточно места на диске при сохранении куба.

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

Освобождение места на диске или выбор другого диска Прежде чем сохранять файл куба, удалите с диска ненужные файлы или сохраните файл на сетевом диске.

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

Подключение автономного файла куба к базе данных OLAP-сервера

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

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

Проблема: Новые данные не отображается в отчете, когда обновлять.

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

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

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

Включение в файл автономного куба других данных

Сохранение измененного файла автономного куба может потребовать много времени, при этом работа в Microsoft Excel во время сохранения файла невозможна. Запускайте этот процесс, когда не нужен немедленный доступ к другим файлам, предварительно убедившись в наличии достаточного места на жестком диске.

    Убедитесь, что существует соединение с сетью и что доступна исходная база данных сервера OLAP, из которой автономный файл куба получил данные.

    Щелкните отчет сводной таблицы, созданный на основе автономного файла куба, или связанный отчет сводной таблицы для отчета сводной диаграммы.

    На вкладке Параметры в группе Сервис нажмите кнопку Сервис OLAP и нажмите кнопку Автономный режим OLAP .

    Нажмите кнопку Автономный режим OLAP , а затем - Изменить автономный файл данных .

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

Примечание: Чтобы отменить сохранение файла, нажмите кнопку Остановить в диалоговом окне Создание файла куба - ход выполнения .

Удаление автономного файла куба

Предупреждение: Если удалить файл автономного куба для какого-либо отчета, больше нельзя будет использовать этот отчет автономно и создать файл автономного куба для этого отчета.

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

    В Microsoft Windows найдите и удалите автономный файл куба (файл CUB).

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community , попросить помощи в сообществе Answers community , а также предложить новую функцию или улучшение на веб-сайте

В предыдущей статье данного цикла (см. № 2’2005) мы рассказали об основных новшествах аналитических служб SQL Server 2005. Сегодня мы подробнее рассмотрим средства создания OLAP-решений, входящие в этот продукт.

Коротко об основах OLAP

режде чем начать разговор о средствах создания OLAP-решений, напомним, что OLAP (On-Line Analytical Processing) — это технология комплексного многомерного анализа данных, концепция которой была описана в 1993 году Э.Ф.Коддом, знаменитым автором реляционной модели данных. В настоящее время поддержка OLAP реализована во многих СУБД и иных инструментах.

OLAP-кубы

Что представляют собой OLAP-данные? В качестве ответа на этот вопрос рассмотрим простейший пример. Предположим, в корпоративной базе данных некоего предприятия имеется набор таблиц, содержащих сведения о продажах товаров или услуг, и на их основе создано представление Invoices с полями Country (страна), City (город), CustomerName (название компании-клиента), Salesperson (менеджер по продажам), OrderDate (дата размещения заказа), CategoryName (категория товара), ProductName (наименование товара), ShipperName (компания-перевозчик), ExtendedPrice (оплата за товар), при этом последнее из перечисленных полей, собственно, и является объектом анализа.

Выбор данных из такого представления можно осуществить с помощью следующего запроса:

SELECT Country, City, CustomerName, Salesperson,

OrderDate, CategoryName, ProductName, ShipperName, ExtendedPrice

FROM Invoices

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

SELECT Country, SUM (ExtendedPrice) FROM Invoices

GROUP BY Country

Результатом этого запроса будет одномерный набор агрегатных данных (в данном случае — сумм):

Country SUM (ExtendedPrice)
Argentina 7327.3
Austria 110788.4
Belgium 28491.65
Brazil 97407.74
Canada 46190.1
Denmark 28392.32
Finland 15296.35
France 69185.48
209373.6
...

Если же мы хотим узнать, какова суммарная стоимость заказов, сделанных клиентами из разных стран и доставленных различными службами доставки, мы должны выполнить запрос, содержащий два параметра в предложении GROUP BY:

SELECT Country, ShipperName, SUM (ExtendedPrice) FROM Invoices

GROUP BY COUNTRY, ShipperName

Исходя из результатов этого запроса можно создать таблицу следующего вида:

Такой набор данных называется сводной таблицей (pivot table).

SELECT Country, ShipperName, SalesPerson SUM (ExtendedPrice) FROM Invoices

GROUP BY COUNTRY, ShipperName, Year

На основании результатов этого запроса можно построить трехмерный куб (рис. 1).

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

Иерархии в измерениях

Предположим, нас интересует не только суммарная стоимость заказов, сделанных клиентами в разных странах, но и суммарная стоимость заказов, сделанных клиентами в разных городах одной страны. В этом случае можно воспользоваться тем, что значения, наносимые на оси, имеют различные уровни детализации — это описывается в рамках концепции иерархии изменений. Скажем, на первом уровне иерархии располагаются страны, на втором — города. Отметим, что начиная с SQL Server 2000 аналитические службы поддерживают так называемые несбалансированные иерархии, содержащие, например, такие члены, «дети» которых содержатся не на соседних уровнях иерархии или отсутствуют для некоторых членов изменения. Типичный пример подобной иерархии — учет того факта, что в разных странах могут существовать, либо отсутствовать такие административно-территориальные единицы, как штат или область, размещающиеся в географической иерархии между странами и городами (рис. 2).

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

Создание OLAP-кубов в SQL Server 2005

SQL Server 2005 кубы создаются с помощью SQL Server Business Intelligence Development Studio. Этот инструмент представляет собой специальную версию Visual Studio 2005, предназначенную для решения данного класса задач (а при наличии уже установленной среды разработки список шаблонов проектов пополняется проектами, предназначенными для создания решений на основе SQL Sever и его аналитических служб). В частности, для создания решений на основе аналитических служб предназначен шаблон Analysis Services Project (рис. 3).

Для создания OLAP-куба в первую очередь следует решить, на основе каких данных его формировать. Наиболее часто OLAP-кубы строятся на основе реляционных хранилищ данных со схемами «звезда» или «снежинка» (о них мы рассказывали в предыдущей части статьи). В комплекте поставки SQL имеется пример такого хранилища — база данных AdventureWorksDW, для использования которой в качестве источника следует найти в Solution Explorer папку Data Sources, выбрать пункт контекстного меню New Data Source и последовательно ответить на вопросы соответствующего мастера (рис. 4).

Затем рекомендуется создать Data Source View — представление, на основе которого будет создаваться куб. Для этого необходимо выбрать соответствующий пункт контекстного меню папки Data Source Views и последовательно ответить на вопросы мастера. Результатом указанных действий станет схема данных, с помощью которых будет построено представление источников данных, при этом в полученной схеме вместо исходных можно указать «дружественные» имена таблиц (рис. 5).

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

При создании кубов в настоящее время используются многие особенности новой версии SQL Server, такие, например, как представление источников данных. Описание исходных данных для построения куба, равно как и описание структуры куба, теперь производится с помощью знакомого многим разработчикам инструмента Visual Studio, что является немалым достоинством новой версии этого продукта — изучение разработчиками аналитических решений нового инструментария в этом случае сведено к минимуму.

Отметим, что в созданном кубе можно менять состав мер, удалять и добавлять атрибуты измерений и добавлять вычисляемые атрибуты членов измерений на основе имеющихся атрибутов (рис. 8).

Рис. 8. Добавление вычисляемого атрибута

Кроме того, в кубах SQL Server 2005 можно осуществлять автоматическую группировку или сортировку членов измерения по значению атрибута, определять связи между атрибутами, реализовывать связи «многие ко многим», определять ключевые показатели бизнеса, а также решать многие другие задачи (подробности о том, как выполняются все эти действия, можно найти в разделе SQL Server Analysis Services Tutorial справочной системы данного продукта).

В последующих частях данной публикации мы продолжим знакомство с аналитическими службами SQL Server 2005 и выясним, что нового появилось в области поддержки Data Mining.

Выбор редакции
В Россию паштет пришел из Германии. В немецком языке это слово имеет значение «пирожок». И первоначально это был мясной фарш,...

Простое песочное тесто, кисло-сладкие сезонные фрукты и/или ягоды, шоколадный крем-ганаш — совершенно ничего сложного, а в результате...

Как приготовить филе минтая в фольге - вот что необходимо знать каждой хорошей хозяйке. Во-первых, экономно, во-вторых, просто и быстро,...

Салат «Обжорка «, приготовленный с мясом — по истине мужской салат. Он накормит любого обжору и насытит организм до отвала. Этот салат...
Такое сновидение означает основу жизни. Сонник пол толкует как знак жизненной ситуации, в которой ваша основа жизни может показывать...
Во сне приснилась крепкая и зеленая виноградная лоза, да еще и с пышными гроздьями ягод? В реале вас ждет бесконечное счастье во взаимной...
Первое мясо, которое нужно давать малышу для прикорма, это – крольчатина. При этом очень важно знать, как правильно варить кролика для...
Ступеньки… Сколько десятков за день нам приходится их преодолевать?! Движение – это жизнь, и мы не замечаем, как пешим ходом наматываем...
Если во сне ваши враги пытаются помешать вам, то вас ждет успех и благополучие во всех ваших делах. Разговорить во сне со своим врагом -...