Логические функции Qlik Sense – IsNum и IsText
1. Цель
Сегодня мы поговорим о логических функциях Qlik Sense. Также мы изучим такие функции, которые используются скрипте загрузки данных и в выражениях диаграмм.
Логические функции Qlik Sense – IsNum и IsText
2. Логические функции Qlik Sense
В Qlik Sense есть две важные логические функции IsNum и IsText, которые мы используем как в диаграмме, так и в скрипте Qlik Sense. По сути, эти функции сортируют значения из таблицы данных, которые являются строками, и значения, которые являются числовыми.
Это – логические функции, поэтому, если значение данных в скрипте является числовым, например, 55, тогда выражение IsNum() будет оцениваться как True (верно), и в результате вернется -1. Но если значение не является числовым, например «Яблоко», тогда функция IsNum() вернет значение False (ложь) и в результате вернет пользователю 0.
То же самое происходит в случае функции IsText, где она возвращает True (верно) или -1, когда встречается текстовое или строковое значение, и False (ложь) или 0, когда текстовое или строковое значение не встречается. Таким образом, эти логические функции Qlik Sense используются, когда пользователь имеет дело с большим количеством записей и значений данных и ему необходимо правильно сортировать и управлять ими в зависимости от типа их формата данных.
i. IsNum
Функция IsNum() ищет числовое значение во время выполнения скрипта и возвращает -1, если встречается числовое значение, и 0, если числовое значение не встречается.
Синтаксис функции IsNum в Qlik Sense:
IsNum(expression)
Теперь, давайте разберемся с этим на примере, когда мы загружаем некоторые значения данных в строку и используем функцию IsNum() для сортировки числовых значений из них.
Load *, IsNum(Entries) Inline [ Entries 23 Mike Robert 40 55 Angela];
В результате в таблице будут созданы два поля или столбца: «IsNum (Value)» и «Entries», где -1 и 0 покажут True или False для значения, имеющего числовой характер, соответственно.
Entries |
IsNum(Entries) |
23 |
-1 |
Mike |
0 |
Robert |
0 |
40 |
-1 |
55 |
-1 |
Angela |
0 |
ii. IsText
Мы используем функцию IsText() для оценки скрипта на предмет текстовых или строковых значений. Так же, как функция IsNum возвращает -1 и 0, когда она находит или не находит числовое значение соответственно, функция IsText делает для текстового значения.
Синтаксис IsText в Qlik Sense:
IsText(expression)
Например, если мы загрузим в строку те же данные, что и в приведенном выше примере, и применим к ним функцию IsText(), то результирующая таблица будет такой:
Load *, IsText(Entries) Inline [ Entries 23 Mike Robert 40 55 Angela];
В результирующей таблице будет два поля или столбца, Entries и IsText (Entries), где -1 означает да, соответствующее значение представляет собой текст или строку, а 0 представляет отрицательное значение при обнаружении строкового значения.
Entries |
IsText(Entries) |
23 |
0 |
Mike |
-1 |
Robert |
-1 |
40 |
0 |
55 |
0 |
Angela |
-1 |
3. Заключение
В обеих функциях IsNum и IsText выполняется логическая операция, которая имеет только два результата, то есть True (-1) и False (0). Их легко использовать, поскольку они основаны на очень простой логике оценки.