Строковые функции Qlik Sense – синтаксис и пример
1. Цель
Строковые функции Qlik Sense применяются к строкам или текстовым значениям, используемым в сценариях загрузки данных. Мы используем эти строковые функции Qlik Sense для управления строковыми значениями и их обработки. Qlik Sense содержит ряд строковых функций, которые нам нужно понимать.
Строковые функции Qlik Sense – синтаксис и пример
2. Строковые функции Qlik Sense
Ниже представлены строковые функции Qlik Sense, давайте обсудим их подробно.
i. Capitalize
Функция capitalize возвращает строку, в которой каждое слово строки начинается с заглавной буквы.
Синтаксис для строковых функций Qlik Sense с заглавными буквами:
Capitalize(text)
Например,
Capitalize(‘lesson string functions’) вернет строку «Функции строки урока».
ii. Chr
Функция chr возвращает символ Unicode, соответствующий целому числу, которое вы ввели в выражение.
Синтаксис строковой функции chr в Qlik Sense:
Chr(int)
Например, в представленном ниже выражении функция chr() вернет алфавит, соответствующий целому числу, введенному в выражение, следующее за стандартным кодом (ASCII).
Chr(65) вернет букву «А» в виде строки, или,
Chr(90) вернет букву «Z» в виде строки.
iii. Evaluate
Эта функция проверяет входное значение в выражении на предмет того, может ли оно быть оценено или нет. Если это связано с какой-либо оценкой, функция возвращает значение после оценки. Она вернет значения в двойном формате данных. Если в выражении нет оценки, возвращается NULL.
Синтаксис строковой функции Evaluate в Qlik Sense:
Evaluate(expression_text)
Например,
Evaluate (5 * 8) вернет значение «40». или,
Evalute (600/10) вернет значение '60'.
iv. FindOneOf
Функция findoneof() вернет положение символов, полученное в результате поиска, с которым она сталкивается при поиске набора символов.
Синтаксис строковой функции FindOneOf в Qlik Sense:
FindOneOf(text, char_set[, count])
где text – это текстовая строка, в которой вы хотите найти набор символов.
char_set – это набор символов, которые вы хотите найти.
count предназначен для подсчета номера позиции или появления определенного символа из набора символов.
Например,
FindOneOf(‘my example text string’, ‘et%s’, 3) вернет значение '12', потому что поиск ведется по любому из символов: e, t,% или s, а символ «t» - это третье вхождение и находится в позиции 12.
v. Hash128
Эта функция возвращает 128-битное хеш-значение, соответствующее значению или строке, введенной в выражение. Обычно возвращаемое значение представляет собой строковое значение длиной в 22 символа, которое представляет собой комбинированную 128-битную версию всех введенных вами значений.
Синтаксис строковых функций Qlik Sense Hash128:
Hash128(expr{, expression})
Например, представленные ниже выражения вернут 128-битное хеш-значение, объединяющее все отдельные строки, и сохранят его в системе.
- Hash128 (‘abc’, ‘xyz’, ‘123’)
- Hash128 (Region, Year, Month)
vi. Hash160
Эта функция вернет 160-битное хеш-значение для объединенных значений, соответствующих строке, которую вы вводите в выражении. Результатом обычно является 27-символьная строка, которая сохраняется в памяти как 160-битное хеш-значение.
Синтаксис строковой функции Hash160 в Qlik Sense:
Hash160(expr{, expression})
Например, для всех строк, введенных отдельно в выражении будет возвращено (объединено) 160-битное хеш-значение, как показано ниже.
- Hash128 (‘abc’, ‘xyz’, ‘123’)
- Hash128 (Region, Year, Month)
vii. Hash256
Эта функция возвращает 256-битное хеш-значение для объединенных значений, соответствующих строке, которую вы вводите в выражении. Результатом обычно является строка из 43 символов, которая сохраняется в памяти как 256-битное хеш-значение.
Синтаксис строковой функции Hash 256 в Qlik Sense:
Hash256(expr{, expression})
Например, для всех строк, введенных отдельно в выражении, будет возвращено (объединено) 256-битное хеш-значение, как показано ниже.
- Hash128 (‘abc’, ‘xyz’, ‘123’)
- Hash128 (Region, Year, Month)
viii. Index
Функция index() используется для поиска n-й позиции вхождения символа в строке. Строка, в которой будет выполняться поиск позиции, упоминается в приведенном ниже выражении.
Синтаксис индексных строковых функций в Qlik Sense:
Index(text, substring[, count])
Где text – это основная или исходная строка, содержащая подстроку, в которой выполняется поиск.
Substring – это строка, которую мы хотим найти.
Count – это конкретное количество вхождений, которое мы можем указать при поиске. Счетчик определяется значением n, и если значение счетчика не указано, то система считает 1. Символы в строке пронумерованы от 1 до n (справа налево). Если вы используете отрицательное число для указания количества, то строка читается слева направо.
Например,
Index(‘abcdefghi’, ‘de’) вернет 4, потому что подстрока ‘de’ находится на 4-й позиции в строке.
Index(‘abcdabcd’, ‘b’,-2) вернет 6, потому что это позиция второго вхождения «b».
Index(‘abcdabcd’, ‘b’,-2) вернет 2, поскольку это второе вхождение «b», начиная с левого конца строки.
ix. KeepChar
Функция KeepChar возвращает строку, в которой хранится только определенный раздел или некоторые символы всей строки. Вот почему имя этой функции - keepchar, и это означает сохранение символа.
Синтаксис строковых функций Qlik Sense KeepChar:
KeepChar(text, keep_chars)
Где text – это исходная текстовая строка, из которой вы можете сохранить набор символов.
keep_chars – это выбранный набор символов, который вы хотите вернуть функцией. Если вы не укажете параметр keep_char, будет возвращена исходная текстовая строка.
Например,
KeepChar (‘x1y2z3′,’123’) вернет ‘123’.
KeepChar (‘x1y2z3′,’1234’) вернет ‘123’.
KeepChar (‘x1y22z3′,’1234’) вернет ‘1223’.
KeepChar (‘x1y2z3′,’312’) вернет «123».
x. Left
Функция left возвращает набор символов слева от строки. В выражении также можно указать количество символов, которые должна вернуть функция.
Синтаксис для строковой функции Left в Qlik Sense:
Left(text, count)
Где text – это строка, которую вы вводите.
Count – это количество символов, которое вы хотите включить в результирующую строку слева.
Например,
Left(‘abcdef’, 3) вернет «abc».
xi. Len
Эта функция возвращает длину входной строки, то есть общее количество символов, используемых в строке.
Синтаксис для строковой функции в Len Qlik Sense:
Len(text)
Например,
Len(‘QLIKSENSE’) вернет «9» в качестве длины строки.
xii. Lower
Функция возвращает строку, которая полностью преобразуется в строку, содержащую символы в нижнем регистре.
Синтаксис для строковой функции Lower в Qlik Sense:
Lower(text)
Например,
Lower(‘QlikSense’) вернет «qliksense».
xiii. LTrim
Функция обрезает строку с любым шагом вперед между символами или в начале, или слева от строки.
Синтаксис функции строки LTrim в Qlik Sense:
LTrim(text)
Например,
- LTrim( ‘ DataFlair’ ) вернет обрезанную строку как «DataFlair».
- LTrim( ‘DataFlair ‘ ) вернет строку с обрезанными пробелами как ‘DataFlair’.
xiv. Mid
Эта функция принимает три аргумента: ввод текста, начало и счетчик. Эти параметры определяют длину символов из данного текстового ввода, которые должны быть возвращены как результирующая строка. Символы в строке нумеруются от 1 до n (для количества n символов в строке).
Синтаксис для функций Mid Qlik Sense String:
Mid(text, start[, count])
Где text – это вводимая вами строка.
start отмечает начальный символ строки.
count решает, до какого символа должна быть взята строка. Если вы не укажете этот параметр, то строка будет считаться от начального символа до последнего символа строки.
Например,
Mid(‘QlikSense’,5 ) вернет «Sense».
Mid(‘QlikSense’,1, 4 ) вернет «Qlik».
xv. Ord
Эта функция возвращает номер кодовой точки Unicode для первого символа введенной вами строки.
Синтаксис строковой функции Ord в Qlik Sense:
Ord(text)
Например, приведенные ниже выражения вернут целочисленное значение
Ord (‘A’) вернет целое число 65, которое является значением Unicode для буквы A.
Ord («QlikSense») вернет целое число 81, поскольку это номер кодовой точки Unicode для буквы Q.
Точно так же вы можете получить любое значение взамен буквы от A (значение Unicode 65) до Z (значение Unicode 90).
xvi. PurgeChar
Мы используем эту функцию для удаления нежелательных символов из строки, как указано в выражении.
Синтаксис строковой функции PurgeChar в Qlik Sense:
PurgeChar(text, remove_chars)
Где text – это исходная строка, а remove_chars – символы, которые вы хотите удалить из строк.
Например, PurgeChar («x1y2z3», «123») вернет «xyz», удаляя символы «123», как указано во втором аргументе.
PurgeChar (‘a1b2c3′,’312’) вернет ‘abc’, пропуская символы 1,2 и 3.
xvii. Repeat
Функция повторения повторяет символ или все символы в строке столько раз, сколько указано во втором аргументе функции.
Синтаксис строковой функции Repeat Qlik Sense:
repeat(text[, repeat_count])
Где text – это исходная строка или символ, который вы хотите повторить.
repeat_count – это параметр, который устанавливает, сколько раз вы хотите, чтобы символ повторялся.
Например, приведенное ниже выражение возвращает количество звезд в соответствии с целым числом, указанным в значении
Repeat («*», рейтинг) вернет «*****», если значение переменной rating = 5.
xviii. Replace
Эта функция заменяет набор символов в строке другими символами. Эта функция читает строку слева направо и возвращает значение строкового типа данных.
Синтаксис строковой функций Replace в Qlik Sense:
replace(text, from_str, to_str)
где text – исходная строка.
from_str – набор символов, который вы хотите заменить.
to_str –набор символов, который вы хотите поместить вместо выбранного набора символов.
Например,
Replace(‘QlikView’,’View’,’Sense’) вернет ‘QlikSense’.
xix. Right
Функция возвращает символы из самого правого угла строки. Вы также можете указать количество символов, которые хотите включить справа.
Синтаксис для строковой функции Right в Qlik Sense:
right(text, count)
где text – исходная строка, которая будет введена.
count – количество символов, которые вы хотите включить, начиная с самого правого.
Например,
Right(‘QlikSense’, 5) вернет «Sense», который представляет собой набор из 5 символов, начиная с правого.
xx. RTrim
Функция RTrim() обрежет строку, введенную в скрипт, для любых конечных пробелов, то есть справа от строки.
Синтаксис строковой функции RTrim в Qlik Sense:
RTrim(text)
Где text – это исходная строка, из которой вы хотите удалить ненужные пробелы.
Например,
RTrim( ‘Hello ‘ ) вернет обрезанную строку справа, «Hello».
xxi. SubField
Мы используем функцию SubField для создания нового поля, используя данные из старых или уже существующих полей. Таким образом, новое созданное поле называется подполем. Говорят, что подполе состоит из частей исходного поля. Подбно подполе «Город» из исходного поля «Адрес», все города будут храниться в одном поле.
Синтаксис строковой функции SubField в Qlik Sense:
SubField(text, delimiter[, field_no ])
где text – родительская строка или родительское поле, которое содержит значения, разделенные разделителями.
delimiter – разделительный символ, используемый для разделения двух значений данных в родительской строке.
field_no – конкретное количество значений в родительской строке, для которых вы хотите создать подполе.
Например, обратите внимание на приведенный ниже код:
inline [ FullName 'Karan Arora' 'Anil Sharma' ‘Vikram Shah’ ‘Arti Mathur’ ]; SepNames: Load Name, SubField(Name, ' ',1) as FirstName, SubField(Name, ' ',-1) as Surname Resident Name; Drop Table Name;
Он создаст два новых подполя с именами «FirstName» и «Surname» в таблице под названием «SepNames».
FullName |
FirstName |
Surname |
Karan Arora |
Karan |
Arora |
Anil Sharma |
Anil |
Sharma |
Vikram Shah |
Vikram |
Shah |
Arti Mathur |
Arti |
Mathur |
xxii. SubStringCount
Функция подсчитывает, сколько раз подстрока, то есть часть исходной строки, встречается в исходной или родительской строке. Эта функция возвращает ответ в виде целого числа.
Синтаксис строковой функции SubString в Qlik Sense:
SubStringCount(text, sub_string)
Где text – исходная строка, которая вводится в скрипт.
sub_string – набор символов, количество вхождений которых вы хотите подсчитать.
Например,
- SubStringCount (‘abcdefgcdxyz’, ‘cd’) вернет «2», потому что «cd» встречается в родительской строке два раза.
- SubStringCount (‘abcdefgcdxyz’, ‘dc’) вернет «0», поскольку в родительской строке нет такой подстроки, как «dc».
xxiii. TextBetween
Функция TextBetween() возвращает текст или строку, заключенную между двумя разделителями.
Синтаксис строковой функции TextBetween в Qlik Sense:
TextBetween(text, delimiter1, delimiter2[, n])
где text – исходная строка, которая вводится в скрипт.
delimiter1 – первый разделитель, заключающий в себе желаемый набор символов.
delimiter2 – второй разделитель. Первый и второй разделители будут заключать текст, который должна возвращать функция.
n – номер пары разделителей, заключенный в текст, который вы хотите получить в результате.
Например,
- TextBetween (‘<xyz>’, ‘<‘, ‘>’) вернет ‘xyz’.
- TextBetween (‘<Qlik> <Sense>’, ‘<‘, ‘>’, 2) вернет ‘Sense’, поскольку он находится во второй паре разделителей.
xxiv. Trim
Функция trim обрезает строку как для начальных (слева), так и для конечных (справа) пробелов.
Синтаксис строковой функции Trim в Qlik Sense:
Trim(text)
Например,
- Trim(‘ xyz’) обрезает начальный пробел и возвращает «xyz».
- Trim(‘xyz ‘) обрезает конечный пробел и возвращает «xyz».
- Trim(‘ xyz ‘) обрезает начальные, и конечные пробелы и возвращает «xyz»
xxv. Upper
В отличие от функции lower(), эта функция заменяет все символы в строке прописными или заглавными буквами.
Синтаксис строковой функций upper в Qlik Sense:
Upper(text)
Например,
Upper(‘qliksense’) вернет «QLIKSENSE».