Перейти к содержанию

isnull

isnull проверяет, является ли значение null, особый тип заполнителя, который используется базой данных, когда что-то отсутствует или неизвестно.

Синтаксис

isnull(столбец)

Вы можете использовать isnull в пользовательских фильтрах, или как условие для условных агрегаций CountIf и SumIf. Чтобы создать произвольный столбец с использованием isnull, вы должны комбинировать isnull с другой функцией, которая принимает логические значения, например case.

Как Glarus BI обрабатывает null

В таблицах Glarus BI значения null отображаются как пустые ячейки. Кроме того, для строковых столбцов пустые строки и строки, содержащие только пробелы, также будут отображаться как пустые.

В таблице ниже показаны примеры вывода isnull.

Glarus BI показывает Значение в базе данных isnull(значение)
null true
"" (пустая строка) false*
" " (пробел) false
котёнок "котёнок" false
  • В базах данных Oracle и Vertica пустые строки обрабатываются как null.

Создание логического пользовательского столбца

Чтобы создать произвольный столбец с использованием isnull, вы должны комбинировать isnull с другой функцией.

Например, если вы хотите создать произвольный столбец, который содержит true, когда столбец Скидка равен null, и false в противном случае, вы можете использовать выражение case:

case(isnull([Скидка]), true, false)

Замена значений null другим значением

Комбинируйте isnull с выражением case, чтобы заменить отсутствующую информацию чем-то более информативным.

Например, вы можете создать новый произвольный столбец, который будет содержать "Отзывы отсутствуют", когда исходный столбец [Отзывы] равен null, и фактическое значение обратной связи, когда [Отзывы] содержит значение. Пользовательское выражение для этого:

case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])
Отзывы case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])
null "Нет отзывов."
"" ""
"Мне нравится ваш стиль." "Мне нравится ваш стиль."

Допустимые типы данных

Тип данных Работает с isnull
Строка
Число
Дата и время
Логический
JSON

Ограничения

  • В Glarus BI вы должны комбинировать isnull с другим выражением, которое принимает логические аргументы (например, true или false).
  • isnull принимает только одно значение за раз. Если вам нужно работать с пустыми ячейками в нескольких столбцах, см. выражение сочетания.
  • Если isnull ничего не делает с вашими пустыми ячейками, у вас могут быть пустые строки. Вместо этого попробуйте выражение isempty.

Связанные функции

В этом разделе рассматриваются функции и формулы, которые можно использовать взаимозаменяемо с выражением isnull Glarus BI.

Во всех приведённых ниже примерах используется таблица из примера Замена значений null:

Отзывы case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])
null "Нет отзывов."
"" ""
"Мне нравится ваш стиль." "Мне нравится ваш стиль."

SQL

В большинстве случаев (если вы не используете базу данных NoSQL) запросы, созданные в конструкторе запросов, преобразуются в запросы SQL, которые выполняются в вашей базе данных или хранилище данных.

CASE WHEN Отзывы IS NULL THEN "Нет отзывов",
     ELSE Отзывы END

равно выражению Glarus BI isnull:

case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])

Таблицы

Электронная таблица #N/A эквивалентна null базы данных (заполнители для «неизвестной» или «отсутствующей» информации).

Предположим, что наш образец столбец отзывов находится в электронной таблице, где «Отзывы» находятся в столбце A, тогда формула

=IF(ISNA(A2), "Нет отзывов.", A2)

эквивалентна выражению в Glarus BI isnull:

case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])

Python

Numpy и pandas используют NaN или NA вместо null.

Если наш образец столбец отзывов находится в структуре данных в поле df["Отзыв"]:

df["Произвольный столбец"] = np.where(df["Отзыв"].isnull(), "Нет отзывов.", df["Отзыв"])

то это эквивалентно выражению в Glarus BI isnull:

case(isnull([Отзывы]), "Нет отзывов.", [Отзывы])

Дополнительная информация