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

Below

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

Синтаксис:  

Below([TOTAL] expression [ , offset [,count ]])

Возвращаемые типы данных: двойное значение

Аргументы:  

  • expr: Выражение или поле, содержащее данные для измерения.
  • offset: Если задать значение offset n больше 0, можно будет переместить оценку выражения n по строкам выше текущей строки. Если задать смещение равным 0, оценка выражения будет выполнена в текущей строке. Если задать отрицательное число смещения, функция Above будет работать как функция Below с соответствующим положительным числом смещения.
  • count: Если задать для третьего аргумента count значение больше 1, функция вернет диапазон значений элемента count, по одному для каждой строки таблицы элемента count, считая вверх от исходной ячейки. В данной форме функция может использоваться в качестве аргумента для любой специальной функции интервала. Функции над выборкой
  • TOTAL: Если таблица имеет одно измерение, или если в качестве аргумента используется префикс TOTAL, текущий сегмент столбца всегда равен всему столбцу.

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

В последней строке сегмента столбца возвращено значение NULL, так как под этой строкой нет других строк.

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

Ограничения:  

  • Рекурсивные вызовы возвращают значение NULL.

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

Примеры и результаты:  

Пример 1:  

Пример вывода таблицы
Customer Sum(Sales) Below(Sum(Sales)) Sum(Sales) + Below(Sum(Sales)) Below offset 3 Higher?
- 2566 - - 1344 -
Astrida 587 539 1126 - Higher
Betacab 539 683 1222 - -
Canutility 683 757 1440 - -
Divadip 757 - - - -

В представлении диаграммы таблицы, показанном в примере 1, таблица создана из измерения Customer и мер: Sum(Sales) и Below(Sum(Sales)).

Столбец Below(Sum(Sales)) возвращает значение NULL для строки Customer, содержащей элемент Divadip, так как под этой строкой нет других строк. В результате для строки Canutility показано значение элемента Sum(Sales) для элемента Divadip, в результате для строки Betacab показано значение для элемента Sum(Sales) для строки Canutility и так далее.

В таблице также показаны более сложные меры, которые можно увидеть в столбцах, помеченных как: Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 и Higher?. Эти выражения работают как описано в следующих абзацах.

Для столбца, помеченного как Sum(Sales)+Below(Sum(Sales)), в строке для элемента Astrida показан результат добавления значений Sum(Sales) в строки Betacab + Astrida (539+587). В результате для строки Betacab будет показан результат добавления значений Sum(Sales) в строки Canutility + Betacab (539+683).

Для мер, помеченных как Below +Offset 3, созданных с помощью выражения Sum(Sales)+Below(Sum(Sales), 3), аргумент offset установлен на 3 и опускает значение в строке на три строки ниже текущей. Таким образом, добавляется значение Sum(Sales) для текущего элемента Customer к значению из элемента Customerна три строки ниже. Значения для нижних трех строк Customer являются нулевыми.

Мера, помеченная как Higher?, создается из выражения:IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Таким образом сравниваются значения текущей строки в мере Sum(Sales) со значениями строки под этой строкой. Если текущая строка представляет большее значение, выходными данными является текст «Higher».

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

Для диаграмм с несколькими измерениями результаты выражений, содержащих функции Above, Below, Top и Bottom, зависят от порядка, в котором измерения столбцов сортируются QlikView. Программа QlikView оценивает функции на основе сегментов столбца, полученных из измерения, отсортированного последним. Контроль за порядком сортировки столбцов осуществляется при помощи параметра Сортировка. Этот порядок не обязательно соответствует порядку отображения столбцов в таблице.Дополнительную информацию см. в примере 2 для функции Above.

Пример 2:  

Функцию Below можно использовать как ввод в функции над выборкой. Пример: RangeAvg (Below(Sum(Sales),1,3)).

В аргументах для функции Below() для элемента offset задано значение 1, а для элемента count задано значение 3. Функция находит результаты выражения Sum(Sales) в трех строках непосредственно под текущей строкой в сегменте столбца (если есть строка). Эти три значения используются как ввод в функцию RangeAvg(), которая находит среднее значение в предоставленном диапазоне чисел.

Таблица с элементом Customer в виде измерения выдает следующие результаты для выражения.

Пример вывода таблицы
Customer RangeAvg (Below(Sum(Sales),1,3))
Astrida 659.67
Betacab 720
Canutility 757
Divadip -

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

Monthnames:

LOAD * INLINE [

Month, 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 (Month, 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 '|');

Чтобы выполнить сортировку месяцев в правильном порядке, при создании диаграмм перейдите на вкладку Sort в свойствах диаграммы и установите флажок Expression для параметра Sort by. В поле выражения напишите Monthnumber.

Помогла ли вам эта страница?

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

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com