Обработка значения NULL
Если в результате запроса и/или объединения таблиц в базе данных для определенного поля отсутствуют данные, то такой результат, как правило, получает значение NULL.
Обзор
В рамках логики Qlik Sense как действительные значения NULL обрабатываются следующие значения:
-
Значения NULL, возвращаемые из соединения ODBC.
-
Значения NULL, созданные в результате принудительного объединения таблиц в скрипте загрузки данных.
-
Значения NULL, созданные в результате объединения в скрипте загрузки данных.
-
Значения NULL, созданные в результате создания комбинаций значений полей для отображения в таблице.
Для получения дополнительной информации о NullAsValue см. NullAsValue.
Текстовые файлы по определению не могут содержать значений NULL.
Связь/выбор значений NULL из ODBC
В источнике данных ODBC можно связать и/или выбрать значения NULL. Для этого определяется переменная скрипта. Может использоваться следующий синтаксис:
Символ <sym> заменит все значения NULL в источнике данных ODBC на самом низшем уровне ввода данных. Символ <sym> может быть любой строкой.
Для возврата к установкам интерпретации по умолчанию данной функции используйте следующий синтаксис:
SET NULLDISPLAY=;
Если необходимо использовать логику программы Qlik Sense для интерпретации значений NULL, возвращаемых из подключения ODBC в виде пустой строки, добавьте следующее выражение в скрипт перед оператором SELECT:
SET NULLDISPLAY=";
Для получения дополнительной информации о NullDisplay см. NullDisplay .
Создание значений NULL на основе текстовых файлов
Можно задать символ, который будет интерпретироваться в текстовом файле или в выражении inline как значение NULL. Используйте следующий оператор:
Символ <sym> интерпретируется как NULL. Символ <sym> может быть любой строкой.
Для возврата к установкам интерпретации по умолчанию данной функции задайте:
SET NULLINTERPRET=;
Для получения дополнительной информации о NullInterpret см. NullInterpret .
Передача значений NULL в выражения
Значения NULL передаются посредством выражения в соответствии с некоторыми логическими и весьма обоснованными правилами.
Функции
Общее правило заключается в том, что функции возвращают значение NULL, когда параметры выходят за пределы диапазона, для которого задана функция.
Выражение | Результат |
---|---|
asin(2) | возвращает NULL |
log(-5) | возвращает NULL |
round(A,0) | возвращаетNULL |
В результате приведенных выше примеров функции, как правило, возвращают значение NULL, когда любой из требуемых для оценки параметров равен NULL.
Выражение | Результат |
---|---|
sin(NULL) | возвращает NULL |
chr(NULL) | возвращает NULL |
if(NULL, A, B) | возвращает B |
if(True, NULL, A) | возвращает NULL |
if(True, A, NULL) | возвращаетA |
Исключением второго правила являются логические функции для проверки типа.
Выражение | Результат |
---|---|
isnull(NULL) | возвращает True (-1) |
isnum(NULL) | возвращаетFalse (0) |
Арифметические и строковые операторы
Если значение NULL используется с любой стороны этих операторов, то возвращается значение NULL.
Выражение | Результат |
---|---|
A + NULL | возвращаетNULL |
A - NULL | возвращаетNULL |
A / NULL | возвращаетNULL |
A * NULL | возвращаетNULL |
NULL / A | возвращаетNULL |
0 / NULL | возвращаетNULL |
0 * NULL | возвращаетNULL |
A & NULL | возвращает A |
Реляционные операторы
Если значение NULL используется с любой стороны реляционных операторов, то действуют особые правила.
Выражение | Результат |
---|---|
NULL (любой реляционный оператор) NULL | возвращаетNULL |
A <> NULL | возвращаетTrue (-1) |
A < NULL | возвращаетFalse (0) |
A <= NULL | возвращаетFalse (0) |
A = NULL | возвращаетFalse (0) |
A >= NULL | возвращаетFalse (0) |
A > NULL | возвращает False (0) |