Перейти к основному содержимому

Fractile — функция диаграммы

Функция Fractile() находит значение, соответствующее квантилю агрегированных данных в диапазоне, полученном из выражения, выполняющего итерации по измерениям диаграммы (метод включения).

Подсказка: Используйте функцию FractileExc — функция диаграммы для расчета квантиля по методу исключения.

Syntax:  

Fractile([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] expr, fraction)

Return data type: числовое значение

Функция возвращает значение, соответствующее порядку, который определяется уравнением: порядок = квантиль * (N+1), где N — набор значений, задаваемый выражением expr. Если порядок не является целым числом, выполняется интерполяция между двумя ближайшими целыми числами.

Arguments:  

Аргументы
АргументОписание
exprВыражение или поле, содержащие данные, которые используются для вычисления квантиля.
fractionЧисло от 0 до 1, соответствующее квантилю (выраженному в дробном виде), которое подлежит вычислению.
SetExpressionПо умолчанию функция агрегирования агрегирует множество возможных записей, определенных выборкой. Альтернативный набор записей может быть определен выражением анализа множества.
DISTINCTЕсли слово DISTINCT указывается до аргументов функции, все дубликаты, возникшие в результате оценки аргументов функции, будут проигнорированы.
TOTAL

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

При использовании выражения TOTAL [<fld {.fld}>], где префикс TOTAL предшествует списку из одного или нескольких имен полей, выступающих в качестве подмножества переменных измерения диаграммы, создается подмножество всех возможных значений.

Определение объема агрегирования

Limitations:  

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

Examples and results:  

Example table
Customer Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Astrida 46 60 70 13 78 20 45 65 78 12 78 22
Betacab 65 56 22 79 12 56 45 24 32 78 55 15
Canutility 77 68 34 91 24 68 57 36 44 90 67 27
Divadip 57 36 44 90 67 27 57 68 47 90 80 94
Примеры функции
Пример Результат
Fractile(Sales, 0.75)

Для таблицы, включающей измерение Customer и меру Fractile([Sales]), если показано значение Итоги, результат будет 71,75. Это точка в распределении значений элемента Sales, ниже которой находится 75% значений.

Fractile(TOTAL Sales, 0.75)) 71,75 для всех значений элемента Customer, поскольку классификатор TOTAL означает, что измерения игнорируются.
Fractile(DISTINCT Sales, 0.75) 70 для итогового значения, поскольку использование классификатора DISTINCT означает, что оцениваются только уникальные значения в поле Sales для каждого элемента Customer.

Данные, используемые в примерах:

Monthnames: LOAD *, Dual(MonthText,MonthNumber) as Month INLINE [ MonthText, MonthNumber Jan, 1 Feb, 2 Mar, 3 Apr, 4 May, 5 Jun, 6 Jul, 7 Aug, 8 Sep, 9 Oct, 10 Nov, 11 Dec, 12 ]; Sales2013: Crosstable (MonthText, Sales) LOAD * inline [ Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec Astrida|46|60|70|13|78|20|45|65|78|12|78|22 Betacab|65|56|22|79|12|56|45|24|32|78|55|15 Canutility|77|68|34|91|24|68|57|36|44|90|67|27 Divadip|57|36|44|90|67|27|57|68|47|90|80|94 ] (delimiter is '|');