Если часть в вычисляемом поле таблицы не выполняется - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу создать вычисляемое поле в таблице, где его значение должно зависеть от значения другого поля. Ниже приведен расчет расчетного поля [D]

IF [A]=NULL
THEN [B]
ELSE [C]
END

Это вычисленное поле всегда присваивает значение в остальной части ([D] заполняется значением [c]). Примечание: [A], [B] и [C] - существующие поля в таблице (все имеют строковые типы)

Ответы [ 3 ]

0 голосов
/ 19 ноября 2018
Значение

A Null в поле означает, что в поле ничего нет и оно не сохраняет значение NULL.

Если вы действительно хотите сравнить NULL вполе затем использовать как IF ISNULL([A]).В случае файловых источников данных, таких как Excel или CSV, вы также можете проверить наличие пустой строки с помощью IF [A]='' - поскольку эти источники данных не различают пустые и пустые строки.

0 голосов
/ 19 ноября 2018

Как уже отмечали другие, вы можете использовать ISNULL (), чтобы проверить, имеет ли поле нулевое значение.Проверка наличия или отсутствия значения с помощью ISNULL () отличается от проверки значения с равенством

Это не совсем тот случай, о котором вы спрашивали, но иногда вы можете иметь значение по умолчанию для поля, котороеВы всегда хотите использовать в случаях, когда не указано никакого значения, в этом случае функция IFNULL () полезна.Он возвращает значение своего первого аргумента, если есть ненулевое значение, в противном случае он возвращает значение второго аргумента.

Допустим, у вас есть поле с именем Approver, и если в данных не указан утверждающий, то значением по умолчанию является «Fred».Надежный подход заключается в следующем:

  • Переименуйте поле утверждающего в Таблице, скажем, в качестве утверждающего-оригинала
  • Определите новое поле утверждающего как ifnull(Approver-Original, "Fred")
  • Скройте поле Approver-Original

Тогда вы можете безопасно использовать Approver где угодно, зная, что он всегда имеет значение, а информация о применении значений по умолчанию находится в одном месте.

Тамтакже является функцией ZN () для числового поля, которая возвращает ноль, если аргумент равен нулю.Полезно в тех случаях, когда ноль является правильным значением по умолчанию.

Все это имеет смысл в тех случаях, когда имеет смысл иметь значение по умолчанию для замены нуля.

Есть и другие случаи, когда вы действительно хотите оставить значение пустым, чтобы обозначить отсутствие данных, скажем, поле с именем Spouse, которое будет пустым для одиноких людей.Назначение супруга по умолчанию в этом случае будет неправильным и, возможно, не приветствуется.ISNULL () полезен в этом случае.

0 голосов
/ 19 ноября 2018

Попробуйте это:

IF ISNULL([A])
THEN [B]
ELSE [C]
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...