Чтобы заменить ваши пустые списки символов в столбце vals
на `unknown, вы можете использовать что-то вроде:
q)t:([]col:`a`b`c; vals:((`abc`def);(enlist `abc);(`$())))
q)t:6#t
update vals:count[i]#enlist enlist `unknown from t where 0=count each vals
Вывод:
col vals
-------------
a `abc`def
b ,`abc
c ,`unknown
a `abc`def
b ,`abc
c ,`unknown
, который использует Ваш подход к нахождению значений в val
, имеющих счетчик 0.
Или, в качестве альтернативы, вы можете использовать что-то вроде:
update vals:{$[x~`symbol$();enlist `unknown;x]}'[vals] from t
Тот же вывод, что и в первом примере:
col vals
-------------
a `abc`def
b ,`abc
c ,`unknown
a `abc`def
b ,`abc
c ,`unknown
Этот подход просто проверяет, является ли значение val
пустым или нет, и заменяет его значение val
на `unknown соответственно.