Обработка значения 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) |