Межзаписные функции QlikView

Межзаписные функции используются для того, чтобы получить доступ к ранее загруженным данным/значениям.

exists(field [ , expression ] )

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

Примеры:

возвращает -1 (true), если значение поля ‘Jan’ найдено в текущем содержимом поля Month.

возвращает -1 (верно), если значение поля IDnr в текущей записи уже существует в любой ранее прочитанной записи, содержащей это поле.

совпадает с предыдущим примером.

Читаются только комментарии, связанные с гражданами, являющимися сотрудниками.

Это эквивалентно выполнению уникальной загрузки в поле A.

previous(expression )

Возвращает значение expression с помощью данных из ранее введенной записи, которая не была сброшена из-за утверждения where. В первой записи внутренней таблицы функция возвращает NULL. Функцию previous можно разместить, чтобы получить доступ к более ранним записям. Данные выбираются из источника ввода напрямую, что также позволяет сослаться на поля, которые не были загружены в QlikView, т.е. даже если они не хранились в ассоциативной базе данных.

Примеры:

FieldValue(fieldname , n )

Возвращает значение поля, находящееся в позиции n поля fieldname (в порядке загрузки). fieldname должно быть представлено как строковое значение, например, имя поля должно быть заключено в одиночные кавычки. Первое значение поля, возвращенное для n, = 1. Если n больше, чем количество значений поля, возвращается NULL.

Пример:

FieldIndex(имя_поля , значение )

Возвращает позицию значения поля значение, находящегося в поле имя_поля (в порядке загрузки). Если value не найдено среди значений поля, возвращается 0. fieldname должно быть представлено как строковое значение, например, имя поля должно быть заключено в одиночные кавычки.

Пример:

qlikview

lookup(имя_поля, совпадающее_имя_поля, совпадающее_значение поля [,имя таблицы])

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

Пример:

FieldValueCount (field_name)

Возвращает число уникальных значений в поле. Fieldname необходимо задать в виде строки
(например, литералы ссылочного типа).

peek(fieldname [ , row [ , tablename ] ] )

Возвращает содержимое fieldname в записи, указанной с помощью row внутренней таблицы tablename. Данные выбираются из ассоциативной базы данных QlikView.
Fieldname необходимо задать в виде строки (например, литералы ссылочного типа). Row должно быть целым числом. 0 обозначает первую запись, 1 обозначает вторую и т.д. Отрицательные числа указывают порядок с конца таблицы. -1 обозначает последнюю прочитанную запись. Если row не указано, принимается -1.
Tablename является меткой таблицы, см. Метки Таблицы (стр. 312), без двоеточия на конце. Если tablename не указано, принимается текущая таблица. При использовании вне оператора load или относительно другой таблицы должно быть включено tablename.

Примеры:

возвращает значение Sales в предыдущей прочитанной записи (соответствует previous(Sales)).

возвращает значение Sales от третьей прочитанной записи из текущей внутренней таблицы.

возвращает значение Sales от второй с конца прочитанной записи в текущую внутреннюю
таблицу.

возвращает значение Sales от первой прочитанной записи в таблицу ввода с меткой Tab1.

создает накопление B в Bsum.

qlikview

Функции «По условию»

Alt (expr1, …)

Alt (expr1, …) — скрипт и функция диаграммы, которая возвращает первый из параметров, имеющий допустимое числовое представление. Если такое совпадение не было найдено, будет возвращен последний параметр. Может использоваться любое количество параметров.

Синтаксис:

Функция alt часто используется с функциями интерпретации чисел или дат. Таким образом, программа QlikView может тестировать различные форматы дат в приоритизированном порядке. Эта функция также может использоваться для обработки значений NULL в числовых выражениях.

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

Это выражение протестирует наличие даты в поле даты в соответствии с любым из трех указанных форматов. Если дата соответствует формату, будет возвращено двойное значение, содержащее исходную строку и допустимое числовое представление даты. Если совпадение не найдено, будет возвращен текст ‘No valid date’ (без допустимого числового представления).

Это выражение добавляет поля Sales и Margin, заменяя отсутствующее значение (NULL) на 0.

Class (x, class_width [, formal [, bias=0]])

Class (x, class_width [, formal [, bias=0]]) — скрипт и функция диаграммы. Функция class назначает первый параметр интервалу классов. Результат — двойное значение с уравнением a<=x

Синтаксис:

Аргументы:

  • interval — Число, которое указывает ширину диапазона.
  • label — Произвольная строка, которая может заменять ‘x’ в результирующем тексте.
  • offset — Число, которое может использоваться как смещение от начальной точки по умолчанию для классификации. Начальная точка по умолчанию обычно равна 0.

Примеры:

возвращает ’20<=x<30′

возвращает ’20<= value <25′

возвращает ’15<=x<25′

Match (text, mask_expr1, …)

Функция match сравнивает первый параметр со всеми последующими и возвращает число совпадающих выражений. При сравнении учитывается регистр.

Синтаксис:

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

Примеры:

возвращает 2, если M = Feb.
возвращает 0, если M = Apr или jan.

MixMatch (text, mask_expr1, …)

Функция mixmatch сравнивает первый параметр со всеми последующими и возвращает число совпадающих выражений. При сравнении регистр не учитывается.

Синтаксис:

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

Примеры:

qlikview

Pick (position, …)

Функция отбора возвращает выражение n в списке.

Синтаксис:

Аргументы:

  • n — представляет собой целое число от 1 до N.

Примеры:

  • возвращает ‘B’, если N = 2
  • возвращает 4, если N = 3

WildMatch (text, mask_expr1, …)

Функция wildmatch сравнивает первый параметр со всеми последующими и возвращает число совпадающих выражений. Она позволяет использовать знаки подстановки ( * и ?) в строках сравнения. При сравнении регистр не учитывается.

Синтаксис:

Если необходимо использовать сравнение без знаков подстановки, используйте функции match or mixmatch. Лучшей производительностью из 3 функций отличается функция match.

qlikview

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x