Функции группирования

Группирование — способ объединения некоторого числа идущих подряд значений в меньшее количество групп.

Функция Описание
AutoBinNumeric Эта функция пытается сгруппировать значения в указанном столбце в определенное количество групп. Тем не менее групп может больше или меньше, чем задано, потому что результатом применения метода всегда являются группы с ограничениями для удобства чтения (с максимально равномерным распределением чисел).

Первый аргумент — это группируемый столбец, а второй — это целевое количество групп.

Пример.

AutoBinNumeric([Column], 10)

BinByDateTime Группировка значений по иерархии даты, даты и времени или времени.

Первым аргументом является группируемый столбец Date, Time или DateTime. Вторым аргументом является определение уровней в иерархии. Уровни иерархии следует писать в форме строки, содержащей нужные части даты, разделенные точками. Например, Year.Quarter.Month. Третьим аргументом является уровень обрезки, указывающий уровень, до которого будет отображена иерархия.

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

Допустимыми аргументами для Arg2 являются сочетания следующих элементов:

year или yy — год.

quarter или qq — квартал.

month или mm — месяц.

day of year или dy — день в году.

day или dd — день.

week или wk — неделя.

day of week или dw — день недели.

hour или hh — час.

minute или mi — минута.

second или ss — секунда.

millisecond или ms — миллисекунда.

Пример.

BinByDateTime([Column],"Year.Quarter.Month.Day",2)

Если применить приведенное выше выражение к столбцу даты «Дата заказа», результаты появятся в селекторе столбцов и отразятся на ползунке иерархии, приведенном ниже (если выражение пользовательское).

Поскольку задан уровень обрезки 0, ползунок иерархии будет установлен в положение года (значение 1 означало бы квартал, 2 — месяц, а 3 — день).

BinByEvenDistance Группирует значения в указанном столбце так, чтобы между всеми группами было одинаковое расстояние.

Первый аргумент — группируемый столбец, а второй — длина интервала. Третий (опциональный) аргумент указывает на то, где начинать отсчет. Если аргумент начала отсчета не указан, первая группа начинается на нуле.

Примеры.

BinByEvenDistance([Column], 10)

BinByEvenDistance([Column], 10, 5)

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

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

Пример.

BinByEvenDistribution([Column], 5)

BinByEvenDistribution(Rank([Column])*Count() + RowId(), 3)

BinByEvenIntervals Группирует значения в указанном столбце так, что диапазон значений делится на равные интервалы. Первым аргументов является разделенный на контейнеры столбец, а вторым — число групп.

Пример.

BinByEvenIntervals([Column], 5)

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

Пример.

BinBySpecificLimits([Column], 1, 2, 3, 10)

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

Пример.

BinByStdDev([Column], 0.5, 1)

Это выражение создаст группирование для следующих стандартных отклонений:

Стандартное отклонение ≤ -1

Стандартное отклонение -1

Стандартное отклонение -0.5

Стандартное отклонение 0.5

Стандартное отклонение 1

Стандартное отклонение > 1

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

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

Примеры.

BinBySubstring([Column], 1)

BinBySubstring([Column], -4)

BinBySubstring(String([Integer Column]), 1)

BinByTimeSpan Группирует значения по временному интервалу.

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

Допустимыми аргументами для Arg2 являются сочетания следующих элементов:

Days — дни.

Hours — часы.

Minutes — минуты.

Seconds — секунды.

Milliseconds — миллисекунды.

Пример.

BinByTimeSpan([Column],"Days.Hours.Minutes.Seconds",2)

При применении этого выражения к столбцу TimeSpan с именем Time Difference формируется селектор столбцов и ползунок иерархии, приведенные ниже (если выражение является пользовательским).

FiscalBinByDateTime Группирует значения по иерархии даты или даты и времени, при этом уровни смещены на заданное число месяцев.

Первым аргументом является группируемый столбец Date или DateTime. Вторым аргументом является определение уровня иерархии, которое написано в форме строки, содержащей необходимые части даты, разделенные точками (например, Year.Quarter.Month). Поддерживаются только столбцы Year, Quarter и Month. Третьим аргументом является уровень обрезки, указывающий уровень, до которого будет отображена иерархия. Четвертым аргументом (необязательным) является число месяцев, на которое необходимо сместить иерархию.

Если четвертый аргумент не указан, используется значение свойства документа FiscalYearOffset.

Примеры.

FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 1, 2)

FiscalBinByDateTime([Date Column], "Year.Quarter.Month", 2)

Прим.: Если на оси, на которой используется пользовательское выражение, для группирования задано значение Вычислять выражение оси по: только текущая фильтрация (применимо только при использовании клиента для Windows), то группирование вычисляется заново при каждой фильтрации.

Также см. раздел Функции.

Пример

Рассмотрим столбец с такими значениями:

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

Метод группирования Результат
AutoBinNumeric([Column],5)
BinByEvenDistance([Column],5)
BinByEvenDistribution([Column],5)
BinByEvenIntervals([Column],5)
BinBySpecificLimits([Column],-2,4,10,16,22)
Совет. Вы можете изменить форматирование столбца, чтобы на оси отображалось меньше десятичных значений (или не отображалось совсем).