Как заполнить нули в столбце таблицы KDB? - PullRequest
0 голосов
/ 16 октября 2018
q)t:flip `name`iq!(`Dent``Prefect;98 32 34)

q)t
name    iq
----------
Dent    98
        32
Prefect 34

Как сформировать условный запрос для обработки столбца name

q)select case when name is null then `Empty else name ,iq from t

Ожидаемый результат:

name    iq
----------
name    iq
Dent    98
Empty   32
Prefect 34

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Также https://code.kx.com/q/ref/lists/#vector-conditional можно использовать как метод для построения столбца на выражении:

q)select ?[null name;`Empty;name],iq from t
name    iq
----------
Dent    98
Empty   32
Prefect 34
0 голосов
/ 16 октября 2018

В дополнение к вышеприведенным ответам, вы также можете сделать это, используя where в выражении update:

q)update name:`Empty from t where null name
name    iq
----------
Dent    98
Empty   32
Prefect 34
0 голосов
/ 16 октября 2018

Вы можете использовать заливку ^ для замены нулевых значений

q)update `Empty^name from t
name    iq
----------
Dent    98
Empty   32
Prefect 34
...