Функции анализа и создания отчетов для решений бизнес-аналитики на базе Microsoft SQL Server. Часть 2

Независимо от того, используете ли вы в качестве хранилища данных реляционный склад данных или размещаете данные непосредственно в компоненте Analysis Services (SSAS) Microsoft SQL Server, в первую очередь вы думаете о доставке данных бизнес-пользователям, то есть о заключительном звене в цепочке программ решения бизнес-аналитики. 

ВЫПОЛНЕНИЕ ВЫЧИСЛЕНИЙ

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

Вычисление среднего значения эффективности продаж в динамике по времени

Нахождение стандартных статистических отклонений

Подведение итогов продаж продукции по регионам

Прогнозирование тенденций в области финансовой эффективности

Как правило, все математические вычисления будут выполняться в вашем хранилище после загрузки данных с помощью любого языка программирования, который используется хранилищем. Для SSAS это будут многомерные выражения (Multidimensional Expressions, MDX); если вы разместили хранилище в реляционном ядре SQL Server, вы, вероятно, воспользуетесь комбинацией языков T-SQL и CLR (C#, VB .NET). В любом случае, мы имеем дело с большим объемом трудоемкой разработки, которая должна осуществляться в хранилище.

Рисунок 4. Измерение Geography в кубе.

Одним из главных моментов в разработке вычислений в хранилищах данных является возможность единообразно применять такие вычисления по мере добавления новых данных. Например, вы можете каждую неделю загружать данные из источников неупорядоченных данных в ваше хранилище и сразу после этого выполнять все вычисления после загрузки. Однако вы можете столкнуться с ситуациями, в которых устаревшие данные будут загружены после более новых данных, которые уже использовались для вычислений. Убедитесь в том, что логика вашего решения рассчитана на обработку устаревших данных и может обновлять, к примеру, средние значения в производных столбцах без добавления неверных данных. Вам нужно будет не только построить все необходимые выражения: уже в конце работы, когда куб построен и обработан, могут встретиться ситуации, в которых необходимо разработать порядок вычислений и манипуляций куба. При помощи служб Analysis Services вся работа делается через сценарий MDX, который выполняет все фрагменты логики, встроенной в куб. Если вы уже знакомы с многомерными выражениями, вы можете изучить выполняемые команды и понять, что в этот момент происходит. И все же не каждый из нас является экспертом по многомерным выражениям.

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

Слева расположены панель Script Organizer (вверху) и панель Calculation Tools (внизу). В нижней панели имеются все встроенные инструменты, такие, как агрегации и шаблоны. В верхней панели демонстрируется, буквально команда за командой, что именно будет делать сценарий обработки. В данном случае выделен шестой шаг обработки. Это шаг "Internet Gross Profit". Вид центральной панели на этом шаге вычислений крупным планом показан на рисунке 6.

Здесь мы видим имя шага сценария, а также его позицию в иерархии и используемое выражение. Ниже показаны свойства и метаданные, имеющие отношение к данному шагу. Сравните этот рисунок с рисунком 7, на котором показан вид Script для того же шага (этот вид можно активировать при помощи панели инструментов вдоль верхнего края панели).

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

Рисунок 5. Интерфейс Visual Studio для работы с вычислениями и сценариями

Рисунок 6. Вычисления для манипуляции данными в Visual Studio.

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

Читать часть 3


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=21711