Главная » Microsoft SQL Server, Базы данных » Создание базы данных – ЧАСТЬ 7

0

Независимо от своего имени, член (All) является одновременно членом, заданным по умолчанию, неявно включаемым в любой запрос, для которого данное измерение явно не определено. Член, заданный по умолчанию, можно изменить с помощью параметра измерения Default Member. Однако к изменению данного параметра следует подходить с осторожностью. В частности, если установить этот параметр для атрибута года в 2 005, то любой запрос, в котором явно не указан год, будет возвращать данные только для этого года. Установка членов по умолчанию может также вызвать конфликт. Например, если параметр DefaultMember для года установить в значение 2005 год, а для месяца — в август 2004 года, запросы, в которых явно не будут указаны месяц и год, вообще не вернут результатов.

Члены по умолчанию обычно устанавливают, когда не все данные, включенные в куб, часто используются. В качестве примера рассмотрим куб, в который включены все продажи, подавляющее количество которых были успешными, и только небольшая часть их сорвалась из-за возникновения каких-либо проблем (например, проблем с кредитной линией заказчика). В данном случае подавляющее большинство запросов будет интересовать данные об объемах успешных продаж. К завершившимся неудачей сделкам могут обратиться только работники, проводящие маркетинговый или другой анализ. Таким образом, установка члена по умолчанию в измерении статуса транзакции продажи в успешный вариант упростит запросы, выполняемые абсолютным большинством пользователей.

Еще одно решение заключается в полном исключении уровня (All) с помощью установки для параметра атрибута IsAggregatable значения false. Когда уровень (All) исключен, следует определить параметр DefaultMember; в противном случае уровень, заданный по умолчанию. будет выбираться случайным образом во время выполнения запроса. К тому же этот атрибут должен участвовать в пользовательских иерархиях только на верхнем уровне.

Группировка членов измерения

Создание групп членов, или дискретизация, представляет собой процесс группировки значений многозначного атрибута в своеобразные блоки данных. Этот подход может оказаться особенно полезным при представлении больших массивов последовательных значений, например расстояний коммуникаций или годовых доходсгв. Эта функция включается для атрибута путем установки для параметра DiseretizationBucketCount количества создаваемых групп и выбора метода дискретизации (параметр Discretization Method) из списка. Автоматический метод дискретизации (значение Automatic) приведет к подобающей группировке в большинстве приложений. Установка автоматического метода отдает выбор алгоритма на откуп службе анализа, которая сама выполняет анализ группируемых данных. Если результаты автоматической группировки вас не устраивают, воспользуйтесь другими методами, за исключением UserDefined, который зарезервирован для локальных кубов. После создания группировка не обязательно будет статичной — при каждой обработке куба будет осуществляться перегруппировка с учетом изменений в исходных данных.

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

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

Кубы

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

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

Использование мастера кубов было рассмотрено в предыдущих разделах как в направлении “сверху вниз” (см. раздел “Знакомство со службой анализа”), используя модель куба для генерации соответствующих реляционных пакетов и пакетов службы интеграции, так и в направлении “снизу вверх” (см. раздел “Создание куба”). После того как структура куба создана, ее можно настроить с помощью конструктора кубов (Cube Designer).

Откройте любой куб в Solution Explorer, чтобы вызвать окно конструктора, показанное на рис. 43.8. Как видите, конструктор кубов содержит несколько вложенных представлений, которые будут описаны далее.

Puc. 43.8. Конструктор кубов

Представление Cube Structure

Представление Cube Structure является главной панелью проектирования. Наряду с вездесущими панелями Solution Explorer и Properties следующие три панели представляют структуру куба.

?               Панель Data Source View, находящаяся в центре, отображает фрагмент представления источника данных, на основе которого построен куб. Каждая таблица окрашена в определенный цвет, соответствующий ее функциональности: в желтый окрашены таблицы фактов, в синий — измерений, в белый — те, которые нельзя причислить ни к одной из этих категорий. Обычно на этой панели отображается только часть представления; чтобы отобразить все таблицы, нужно выбрать в контекстном меню пункт Show All Tables или Show Tables. Можно также использовать диаграммы, определенные в представлении источника данных. Для этого нужно выбрать пункт Copy Diagram From контекстного меню. Для переключения между древовидным представлением данных таблиц и отношений и диаграммой можно использовать панель инструментов.

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

?               На панели Dimensions, расположенной в нижней левой части окна, перечислены все измерения, ассоциированные с кубом. Эта панель содержит две вкладки. Во вкладке Hierarchies отображаются все измерения и пользовательские иерархии в этом измерении. Во вкладке Attributes отображаются все измерения и содержащиеся в них атрибуты. Каждое измерение в обеих вкладках имеет ссылку, используемую для его редактирования в конструкторе измерений.

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

Меры

Каждая мера основана на столбце представления источника данных и на некоторой итоговой функции. Итоговая функция определяет порядок обработки данных фактической таблицы и их консолидации. В качестве примера рассмотрим простую таблицу фактов, содержащую столбцы значений дня, магазина и объема продаж. Она считывается в куб с мерой объема продаж, измерением магазинов и временным измерением с атрибутами года, месяца и дня. Если в качестве итоговой функции для меры объема продаж используется Sum, то строки считываются в листовой уровень куба, суммируя все строки исходной таблицы с одинаковыми комбинациями значений магазина/дня. После этого они консолидируются на более высокий уровень путем суммирования суточных объемов продаж. Однако если итоговой функцией является Min, то алгоритм будет совершенно иной. Из всех строк с дублирующейся комбинацией магазина и дня выбирается наименьший объем продаж, который сохраняется на листовом уровне. При консолидации на более высокий уровень среди листовых значений также ищется минимальное.

Среди итоговых функций можно выделить следующие.

?               Sum. Сумма значений всех потомков.

?               Min. Минимальное значение среди всех потомков.

?               Мах. Максимальное значение среди всех потомков.

?               Count. Количество соответствующих строк таблицы фактов.

?               Distinct Count. Количество уникальных значений в столбце (например, число уникальных заказчиков).

?               None. Не выполняется никакой консолидации. Любое значение, не прочитанное непосредственно из таблицы фактов, будет пустым.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии