Функции NULL в Qlik Sense – IsNULL и NULL
1. Цель
В этой главе о NULL-функциях Qlik Sense мы поговорим о NULL-функциях, которые используем для обнаружения и возврата нулевых значений, если они присутствуют в записях данных. Нулевые значения – это такие места или ячейки в таблице данных или записи, которые не содержат никаких значений данных и, таким образом, называются «NULL» или ничто. Несмотря на то, что они не содержат значений, эти значения играют определенную роль в Qlik Sense, и для этого предусмотрены две функции: функция IsNull() и функция NULL().
NULL-функции Qlik Sense – IsNULL и NULL
2. Нуль-функции Qlik Sense
i. Функция IsNull()
Функция IsNull() проверяет значения на Null и возвращает -1 (Истина), если оно равно Null, и 0 (Ложь), если оно не Null. Эта функция вычисляет выражение логически и дает ответ -1 или 0.
Синтаксис функции Qlik Sense IsNull:
IsNull(expression)
Например, мы загружаем встроенную таблицу с именем NullsDetect, в которой в два столбца и четыре строки загружены некоторые значения, некоторые фактические значения данных и некоторые значения NULL. Теперь результирующая созданная таблица имеет три столбца для ID, Value и IsItNull, который возвращает T, если значение равно Null, и F, если это не так.
NullsDetect: LOAD *, If(IsNull(Value), 'Yes', 'No’) as IsItNull; LOAD * Inline [ID, Value 0, 1,NULL 2,- 3,Mark];
Таблица результатов,
ID |
Значение |
IsItNull |
0 |
Yes |
|
1 |
NULL |
Yes |
2 |
– |
Yes |
3 |
Mark |
No |
Итак, в представленном примере кода функция IsNull (Value) сначала оценивает значения в столбце «Value» для обнаружения Null. Затем в результирующей таблице мы получаем три Ts, потому что первые три значения равны Null, а последнее – «F», поскольку Mark является строковым значением, а не значением Null. В логике системы True или T записывается как -1, а False или F возвращается как 0.
ii. Функция NULL()
Эта функция возвращает нулевое значение. Она отличается от функции IsNull тем, что возвращает логический ответ в формате True или False, тогда как функция NULL () возвращает «-» вместо нулевого значения.
Синтаксис нуль-функций Qlik Sense:
Null()
Например,
В приведенном ниже скрипте мы будем использовать значения в столбце «Значение» в загруженной встроенной таблице, которые представляют собой смесь нулей и других (числовых или строковых) значений. Используя функцию Null(), мы увидим, какие значения на самом деле равны нулю, а какие нет.
NullsConvert: LOAD *, If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv; LOAD * Inline [ID, Value 0, 1,NULL 2,- 3,29 4,Mark];
Таблица значений,
ID |
Значение |
ValueNullConv |
0 |
– |
|
1 |
NULL |
– |
2 |
– |
– |
3 |
29 |
Value |
4 |
Mark |
Value |
Итак, как видите, значения данных в таблице в поле «Значение» (Value) оцениваются функцией Null(), которая возвращает «-», если встречается значение NULL, и возвращает «Value», если встречается строковое или числовое значение.
3. Заключение
Итак, в этой статье, посвященной NULL-функциям Qlik Sense мы узнали о том, как две NULL-функции работают с нулевыми значениями. Поскольку IsNull() – это функция, которая логически оценивает набор значений и возвращает -1 или 0, если значение равно нулю или нет. С другой стороны, функция Null() обнаруживает нулевые значения из набора данных и возвращает вместо них символ «-».