Isnull¶
isnull
проверяет, является ли значение null
, особый тип заполнителя, который используется базой данных, когда что-то отсутствует или неизвестно.
В GlarusBI вы должны комбинировать isnull
с другим выражением, которое принимает логические значения. В таблице ниже показаны примеры логического значения, которые будут переданы в другие ваши выражения.
| Синтаксис | Пример с null
правда | Пример с пустой строкой |
| —————————————————– | ————————– | —————————- |
| isnull(value)
| isnull(null)
| isnull("")
|
| Возвращает true
, если значение равно null
, и false
в противном случае. | true
| false
|
Как GlarusBI обрабатывает Null¶
В таблицах GlarusBI null значения отображаются как пустые ячейки. Для Примера в столбце «Обратная связь» ниже пустые ячейки могут содержать:
null
: отзывы не отправлялись, поэтому мысли клиента «неизвестны».""
: отзыв был отправлен и намеренно оставлен пустым, поэтому у клиента не было возможности дать отзыв.
| Обратная связь | | —————— | | | | | | Мне нравится ваш стиль. |
Замена значений null другим значением¶
| Обратная связь | case(isnull([Feedback]), "Unknown feedback.", [Feedback])
|
| —————— | ———————————————————– |
| | Обратная связь неизвестна. |
| | |
| мне нравится ваш стиль. | Мне нравится ваш стиль. |
Объедините isnull
с выражением case, чтобы заменить «неизвестную» информацию чем-то более описательным.
Предположим, что пустая ячейка первой строки на самом деле является null
, поэтому isnull
вернет значение true
. Оператор case
оценивает значение true
, чтобы вернуть первый вывод «Неизвестная обратная связь».
Пустая ячейка во второй строке не имеет null
, но мы не уверены, что в ней тоже — это может быть пустая строка или даже смайлик, который сливается с фоном вашей таблицы. Независимо от того, какой крайний случай, isnull
вернет false
, а case
вернет все, что находится в столбце Обратная связь, в качестве вывода по умолчанию.
Допустимые типы данных¶
| Тип данных | Работает с isnull
|
| ———————– | ——————- |
| Строка | ✅ |
| Число | ✅ |
| Дата Время | ✅ |
| Условие | ✅ |
| JSON | ✅ |
Ограничения¶
В GlarusBI вы должны комбинировать
isnull
с другим выражением, которое принимает логические аргументы (например,true
илиfalse
).isnull
принимает только одно значение за раз. Если вам нужно работать с пустыми ячейками в нескольких столбцах, см. выражение сочетания.Если
isnull
ничего не делает с вашими пустыми ячейками, у вас могут быть пустые строки. Вместо этого попробуйте выражение isempty.
Связанные функции¶
В этом разделе рассматриваются функции и формулы, которые можно использовать взаимозаменяемо с выражением isnull
GlarusBI, с примечаниями о том, как выбрать лучший вариант для вашего случая использования.
Во всех приведенных ниже примерах используется таблица из Замена значений null Пример:
| Обратная связь | case(isnull([Feedback]), "Unknown feedback.", [Feedback])
|
| —————— | ———————————————————– |
| | Обратная связь неизвестна. |
| | |
| Мне нравится ваш стиль. | Мне нравится ваш стиль. |
SQL¶
В большинстве случаев (если вы не используете базу данных NoSQL) вопросы, созданные в редакторе блокнота, преобразуются в запросы SQL, которые выполняются в вашей базе данных или хранилище данных.
CASE WHEN Feedback IS NULL THEN "Unknown feedback",
ELSE Feedback END
равно выражению GlarusBI isnull
:
case(isnull([Feedback]), "Unknown feedback.", [Feedback])
Таблицы¶
Электронная таблица #N/A
эквивалентна null
базы данных (заполнители для «неизвестной» или «отсутствующей» информации).
Предположим, что наш образец столбец отзывов находится в электронной таблице, где «Обратная связь» находятся в столбце A, тогда формула
=IF(ISNA(A2), "Unknown feedback.", A2)
равно выражению GlarusBI isnull
:
case(isnull([Feedback]), "Unknown feedback.", [Feedback])
Python¶
Numpy и pandas используют NaN
или NA
вместо null
.
Aпредполагая, что наш образец столбец обратной связи находится в столбце фрейма данных с именем df["Feedback"]
:
df["Custom Column"] = np.where(df["Feedback"].isnull(), "Unknown feedback.", df["Feedback"])
равно выражению GlarusBI isnull
:
case(isnull([Feedback]), "Unknown feedback.", [Feedback])