Поделиться через


Использование агрегатных функций

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

В службах Analysis Services каждая созданная мера архивируется с помощью статистической функции, определяющий операции меры. Типы стандартной статистической обработки включают следующие функции: Sum, Min, Max, Count, Distinct Count и несколько более специализированных функций. Кроме того, если требуются агрегаты на основе сложных или пользовательских формул, можно создавать вычисления многомерных выражений вместо готовых статистических функций. Например, если необходимо определить меру для процентного значения, следует сделать это в многомерном выражении с помощью вычисляемой меры. См. раздел Инструкция CREATE MEMBER (многомерные выражения).

Мерам, которые создаются с помощью мастера кубов, тип статистической обработки назначается в процессе определения меры. Тип статистической обработки всегда равен Sum, если исходный столбец содержит числовые данные. Sum назначается независимо от типа данных исходного столбца. Например, если используется мастер кубов для создания меры и извлечены все столбцы из таблицы фактов, можно увидеть, что все результирующие меры имеют тип статистической обработки Sum, даже если в качестве источника выступает столбец даты/времени. Обязательно проверяйте назначенные методы статистической обработки мер, созданных с помощью мастера, чтобы убедиться в том, что статистическая функция подходит.

Можно назначить или изменить метод статистической обработки в любом определении куба через SQL Server Data Tools — Business Intelligence или с помощью многомерных выражений. Дальнейшие инструкции см. в разделе Создание мер и групп мер или Aggregate (многомерные выражения).

Агрегатные функции

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

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

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

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

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

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

Аддитивность

Возвращаемое значение

Sum

Аддитивный

Вычисляет сумму значений всех дочерних элементов. Это функция статистического вычисления по умолчанию.

Count

Аддитивный

Получает количество всех дочерних элементов.

Min

Полуаддитивная

Получает самое низкое значение для всех дочерних элементов.

Max

Полуаддитивная

Получает самое высокое значение для всех дочерних элементов.

DistinctCount

Неаддитивная

Получает количество всех уникальных дочерних элементов. Дополнительные сведения см. в подразделе About Distinct Count Measures следующего раздела.

None

Неаддитивная

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

ByAccount

Полуаддитивная

Вычисляет агрегат в соответствии со статистической функцией, присвоенной типу счета для элемента измерения счетов. Если в группе мер не существует измерения типа счета, то обрабатывается так же, как статистическая функция None.

Дополнительные сведения об измерениях счетов см. в разделе Создание учетной записи Finance с измерением типа «родитель-потомок».

AverageOfChildren

Полуаддитивная

Вычисляет среднее значений всех непустых дочерних элементов.

FirstChild

Полуаддитивная

Получает значение первого дочернего элемента.

LastChild

Полуаддитивная

Получает значение последнего дочернего элемента.

FirstNonEmpty

Полуаддитивная

Получает значение первого непустого дочернего элемента.

LastNonEmpty

Полуаддитивная

Получает значение последнего непустого дочернего элемента.

Сведения о мерах числа различных объектов

Мера, у которой для свойства Aggregate Function установлено значение Distinct Count, называется мерой числа различных объектов. Мера числа различных объектов может быть использована для подсчета вхождений элементов измерений самого низкого уровня в таблице фактов. Так как подсчитываются только уникальные объекты, то элемент, встречающийся несколько раз, посчитается только однажды. Мера числа различных объектов всегда помещается в специальной группе мер. Размещение меры числа различных объектов в своей собственной группе мер является лучшим способом оптимизации производительности, встроенным в конструктор.

Меры числа различных объектов обычно используются, чтобы определить, сколько различных элементов другого измерения самого низкого уровня приходится на каждый элемент некоторого измерения в таблице фактов. Например, в кубе «Продажи», как много различной продукции было приобретено каждым покупателем или группой покупателей. (Т. е. сколько различных элементов измерения «Продукция» самого низкого уровня приходится на каждый элемент измерения «Заказчики» в таблице фактов.) Или, например, в кубе Internet Site Visits: как много разных сайтов приходится на каждого посетителя или группу посетителей? (Т. е. сколько различных элементов измерения «Страницы» самого низкого уровня приходится на каждый элемент измерения «Посетители сайта» в таблице фактов.) В каждом из этих примеров элементы самого низкого уровня вторых измерений подсчитаны как мера числа различных объектов.

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

Мера числа различных объектов, которая подсчитывает элементы, основана на внешнем ключевом столбце в таблице фактов. (Т. е. свойство меры Исходный столбец определяет этот столбец.) Этот столбец соединяет столбец таблицы измерения, который определяет элементы, подсчитываемые мерой числа различных объектов.

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Основные понятия

Меры и их группы

Определение полуаддитивного режима