Условные функции Qlik Sense – синтаксис и пример
Сегодня мы рассмотрим условные функции Qlik Sense. Также мы обсудим синтаксис и пример условных функций в Qlik Sense. Условные функции оценивают выражение на основе определенного условия, и, если это выражение оценивается как истинное для указанного условия, то действие будет выполнено в противном случае – нет.
Условные функции Qlik Sense – синтаксис и пример
i. Функция alt в Qlik Sense
Функция alt() оценивает условие для нескольких (альтернативных) параметров один за другим, и если условие не соответствует ни одному из параметров или выражений, возвращается последнее значение «else». Мы можем добавить любое количество альтернативных параметров в выражения функции.
Синтаксис функции alt в Qlik Sense
alt(expr1[ , expr2 , expr3 , ...] , else)
Здесь expr1 будет первым выражением, которое будет оцениваться, затем условие для этого выражения вернет false, затем будет оцениваться второе выражение, expr2 для данного условия. Это будет продолжается до тех пор, пока логика не найдет выражение, соответствующее условию или для которого условие оценивается как истинное. Если ни один из заданных параметров или выражений не соответствует условию, то возвращается выражение/значение для «else».
Например,
alt(date#(dat, ‘YYYY/MM/DD’), date#(dat, ‘MM/DD/YYYY’), date#(dat, ‘MM/DD/YY’), ‘Нет допустимой даты’)
В этом выражении есть три параметра или возможные выражения для формата даты. Если формат введенных данных соответствует любому из трех форматов, условие станет истинным, и соответствующая дата будет отображаться в правильном формате. Оно вернет значение двойного формата, имеющее как текстовую, так и числовую интерпретацию даты. Но если введенная дата или значение не соответствуют этим трем форматам даты, то будет возвращено примечание «Нет допустимой даты», которое является оператором «else».
ii. Функция class в Qlik Sense
Функция class() создает классы для значений данных или, другими словами, она классифицирует и сортирует значения, введенные пользователями, в определенные классы, определенные этой функцией. Эта функция принимает значение переменной, оценивает его для условия интервала, указанного для этой переменной, и помещает его в эту категорию или класс. Допустим, есть переменная «Процент», и если процент = 74, то с помощью функции класса вы можете поместить ее в диапазон или класс от 70 до 80.
Синтаксис функции class в Qlik Sense
class(expression, interval [ , label [ , offset ]])
дает результат a<=x<b
Где expression – это определяемая вами переменная или параметр.
Interval – это диапазон, который определяет минимальное и максимальное значения класса, т.е. если вы установите интервал равным 10, тогда для каждого значения переменной диапазон будет установлен для 10 значений, например, от 30 до 40 для 34, если вы установите его 5, то от 30 до 35 для переменной 34 и т. д.
Label дает имя переменной, которая обычно обозначается как x; например, если x представляет возраст человека, вы можете установить метку как «возраст».
Offset – это число, которое может использоваться как смещение или отклонение от начальной точки классификации по умолчанию. Начальная точка по умолчанию обычно равна 0. Вы можете указать значение, на которое вы хотите сделать смещение от значения по умолчанию, например, 5,10 и т. д.
Например,
У нас есть список людей с указанием их возраста. Мы хотим классифицировать этих людей по их возрастным группам, и для этого мы будем использовать функцию class().
LOAD *, class(Age, 10, 'age') As Agegroup; LOAD * INLINE [ Age, Name 25, John 42, Suzen 53, Mark];
Теперь эта функция вернет,
Имя |
Возраст |
Возрастная группа |
John |
25 |
20<= age <30 |
Suzen |
42 |
40<= age <50 |
Mark |
53 |
50<= age <60 |
Где возраст – это метка, и каждый человек классифицируется по возрастным группам, как определено в функции class(). Выражение – возраст, интервал – 10, метка – возраст.
iii. Функция If в Qlik Sense
Функция if() вычисляет выражение на основе определенного условия. Если выражение оценивается как истинное для этого условия, то возвращается значение «then». Но если оно оценивается как ложь, возвращается значение else.
Синтаксис функции If в Qlik Sense
if(condition , then , else)
Condition – это выражение, которое будет оцениваться в представленной здесь логике. Then определяет, что нужно вернуть, если условие истинно, а else определяет, что будет возвращено, если условие – ложь.
Например,
If(Batterypercent>=15, ‘Заряжена’, ‘Батарея села’)
Это утверждение означает, что если процент заряда батареи больше или равен 15, нужно вернуть «Заряжена», но если он меньше 15, т.е. если условие ложно, то вернуть «Батарея села».
iv. Функция match в Qlik Sense
Функция match используется для сопоставления с учетом регистра. Она сопоставляет первое выражение со следующими выражениями и возвращает номер совпадающего выражения или значения. Вы можете добавить n выражений, из которых нужно сопоставить первое выражение.
Синтаксис функции match в Qlik Sense
match( str, expr1 [ , expr2,...exprN ])
Например,
match(M, ‘Jan’,’Feb’,’Mar’,’Apr’)
вернет 3, если M = Mar, потому что Mar – третье значение. И вернет 0, если M равно May, ведь его нет в параметрах результатов поиска.
v. Функция mixmatch в Qlik Sense
Эта функция выполняет ту же операцию, что и функция match(), но не чувствительна к регистру, т.е. регистр значения или строки, которую вы ищете, не имеет значения. Если A = Apple или Apple, логика выполнит поиск.
Синтаксис функции mixmatch Qlik Sense:
mixmatch( str, expr1 [ , expr2,...exprN ])
Например,
if fav = Mango then the expression given below, mixmatch (fav, ‘mango’, ‘apple’, ‘peach’, ‘strawberry’)
Вернет значение 1, потому что оно соответствует значению первого числа или позиции.
vi. Функция Wildmatch в Qlik Sense
Функция Wildmatch также является функцией сопоставления значений, такой как match() и mixmatch(), но использует подстановочные знаки (*?) и не чувствительна к регистру при поиске. Первое выражение, которое мы ищем, должно соответствовать следующим возможным выражениям результатов поиска. Если первое выражение соответствует любому из следующих выражений, то возвращается числовое значение их позиции в списке.
Синтаксис функции Wildmatch в Qlik Sense:
wildmatch( str, expr1 [ , expr2,...exprN ])
Например,
wildmatch(M, ‘ja*’,’fe?’,’mar’)
вернет 1 из M = январь, и вернет 2, если M=Feb/Fex/Fen или что-то еще.
vii. Функция pick в Qlik Sense
Функция pick() выбирает конкретное значение из определенного места в списке выражений. Эта функция выбирает и возвращает выражение, присутствующее в n-й позиции.
Синтаксис функции выбора Qlik Sense:
pick(n, expr1[ , expr2,...exprN])
Где n – целое число от 1 до n.
Например,
pick(2, ‘Sam’,’Jones’, ‘Nick’, ‘Joe’)
Вернет второе значение, то есть Jones из-за n = 2.
Все это было в условных функциях Qlik Sense. Надеемся, вам понравилось наше объяснение.