Опубликован: 15.03.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Волгоградский государственный университет
Самостоятельная работа 4:

Изменение мер, атрибутов и иерархий

Аннотация: В данной лабораторной работе будет произведено улучшение куба с точки зрения работы пользователя, развертывание изменений, связанных с обработкой куба и его измерений.

Теоретическое введение

Настройка свойств мер

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

Таблица 8.1. Свойства мер
Свойство Определение
AggregateFunction Определяет, как выполняется статистическое вычисление мер.
DataType Указывает тип данных столбца базовой таблицы фактов, к которым привязана мера.
Description Содержит описание меры, которое может быть видно в клиентских приложениях.
DisplayFolder Указывает папку отображения, в которой будет представлена мера при подключении пользователя к кубу. Если куб содержит множество мер, папки отображения позволяют разбить их по категориям мер, упростив доступ к ним.
FormatString Определяет формат представления.
ID Отображает уникальный идентификатор (ID) меры. Это свойство доступно только для чтения.
MeasureExpression Многомерное выражение (MDX), определяющее меру.
Name Имя меры.
Source Столбец в представлении источника данных, к которому привязана мера.
Visible Определяет, отображается мера или скрыта.

Статистические функции

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

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

В Таблица 8.2 приведен список статистических функций в службах SSAS и описание аддитивности, а также ожидаемого результата функции.

Таблица 8.2. Статистические функции SSAS
Статистическая функция Аддитивность Возвращаемое значение
Sum Аддитивная Вычисляет сумму значений всех дочерних элементов. Это статистическое вычисление по умолчанию.
Count Аддитивная Получает количество всех дочерних элементов.
Min Полуаддитивная Получает самое низкое значение для всех дочерних элементов.
Max Полуаддитивная Получает самое высокое значение для всех дочерних элементов.
DistinctCount Неаддитивная Получает количество всех уникальных дочерних элементов.
None Неаддитивная Статистическое вычисление не выполняется, и все значения для конечных и неконечных элементов в измерении получаются непосредственно из таблицы фактов для группы мер, содержащей эту меру. Если из таблицы фактов невозможно считать значение для элемента, то значение для этого элемента устанавливается равным NULL.
ByAccount Полуаддитивная Вычисляет агрегат в соответствии со статистической функцией, присвоенной типу счета для элемента измерения счетов. Если в группе мер не существует измерения типа счета, то обрабатывается так же, как статистическая функция None.
AverageOfChildren Полуаддитивная Вычисляет среднее значений всех непустых дочерних элементов.
FirstChild Полуаддитивная Получает значение первого дочернего элемента.
LastChild Полуаддитивная Получает значение последнего дочернего элемента.
FirstNonEmpty Полуаддитивная Получает значение первого непустого дочернего элемента.
LastNonEmpty Полуаддитивная Получает значение последнего непустого дочернего элемента.

Форматы отображения

Можно выбрать формат, используемый для отображения значений меры пользователям, используя свойство FormatString меры.

Помимо имеющегося списка форматов отображения, можно указать множество дополнительных форматов, не содержащихся в этом списке. Можно указать любой именованный или определенный пользователем формат, допустимый в языке Microsoft Visual Basic.

Определение именованных вычислений в представлении источника данных

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

Именованные вычисления также часто используются для создания понятного имени для элемента измерения.

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

SELECT 
   <Table Name in Data Source>;.*, 
   <Expression>  AS <Column Name>  
FROM 
   <Table Name in Data Source>  AS <Table Name in Data Source View>

Тип данных столбца определяется типом данных скалярного значения, возвращенного выражением. Если поставщик не обнаружит каких-либо ошибок в выражении, то столбец будет добавлен к таблице.

Столбцы, указанные в выражении, не должны иметь квалификатора вовсе или должны иметь только такой квалификатор, который соответствует имени таблицы. Например, для ссылки на столбец SaleAmount в таблице можно использовать SaleAmount или Sales.SaleAmount, но dbo.Sales.SaleAmount возвращает ошибку.

Связи атрибутов

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

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

Связь атрибутов дает следующие преимущества:

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

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

  • между ключевым атрибутом и каждым не ключевым атрибутом, привязанным к столбцу главной таблицы измерения;
  • между ключевым атрибутом и атрибутами, привязанными к внешнему ключу вспомогательной таблицы, которая связывает таблицы базового измерения;
  • между атрибутом, привязанным к внешнему ключу вспомогательной таблицы, и каждым не ключевым атрибутом, привязанным к столбцам вспомогательной таблицы;

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

Иерархия является естественной, когда каждый атрибут пользовательской иерархии имеет связь типа "один ко многим" с атрибутом, находящимся непосредственно под ним. Допустим, измерение "Customer" основано на реляционной таблице, содержащей восемь столбцов:

  • CustomerKey ;
  • CustomerName ;
  • Age ;
  • Gender ;
  • Email ;
  • City ;
  • Country ;
  • Region ;

Соответствующее измерение служб SSAS содержит семь атрибутов:

  • Customer (основанное на CustomerKey и CustomerName );
  • Age, Gender, Email, City, Region, Country.

Представляющие естественные иерархии связи создают, связывая атрибуты текущего и нижестоящего уровня. В службах SSAS это свойство определяет естественную иерархию и возможное статистическое вычисление. В измерении " Customer " естественная иерархия применяется для атрибутов " Country ", " Region ", " City " и" Customer ". Естественная иерархия атрибутов { Country, Region, City, Customer } описывается добавлением следующих связей атрибутов:

  • атрибут " Country " как связь атрибутов к атрибуту " Region ";
  • атрибут " Region " как связь атрибутов к атрибуту " City ";
  • атрибут " City " как связь атрибутов к атрибуту " Customer ".

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

Свойство " SourceAttribute " уровня определяет, какой из атрибутов описывает уровень. Свойство " KeyColumns " атрибута определяет столбец в представлении источника данных, который является источником элементов. Свойство " NameColumn " атрибута может указывать на другой столбец имен для элементов.

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

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

Создание пользовательских иерархий

SSAS позволяют создавать пользовательские иерархии. Иерархия - это набор уровней на основе атрибутов. Например, иерархия, связанная со временем, может содержать такие уровни, как "Год", "Месяц" и "День". В некоторых иерархиях каждый атрибут однозначно задает атрибут родительского элемента. Такую иерархию иногда называют естественной. Конечные пользователи могут использовать иерархии для просмотра данных в кубе. Иерархии задаются с помощью области "Иерархии" конструктора измерений в среде разработки BI Dev Studio.

Настройка уровня "All" для иерархий атрибутов

В службах SSAS уровень " All " является дополнительным, сформированным системой. Он содержит только один элемент, значение которого является результатом статистической обработки значений всех членов на ближайшем подчиненном уровне. Этот элемент называется " All ". Он создается системой и отсутствует в таблице измерений. Поскольку элемент уровня " All " находится на вершине иерархии, его значение является результатом статистической обработки значений всех элементов иерархии. Элемент ( All ) часто служит в качестве члена иерархии по умолчанию.

Ксения Кожанова
Ксения Кожанова

Здравствуйте! Я прошла 1 лекцию и 1 самостоятельную работу. В конце контрольные вопросы, их надо для как-то ответить или куда-то отослать?

Андрей Павлов
Андрей Павлов
Виталий Апухтин
Виталий Апухтин
Россия
Александр Билибин
Александр Билибин
Россия, г. Москва