BigQuery проверяет всю таблицу на наличие нулевых значений - PullRequest
0 голосов
/ 05 ноября 2019

Не уверен, нужен ли здесь воспроизводимый пример. У меня есть таблица с большими и широкими значениями в BigQuery (10K строк x 100 столбцов), и я хотел бы знать, имеют ли какие-либо столбцы нулевые значения и сколько существует нулевых значений. Могу ли я выполнить запрос, который бы возвратил таблицу из 1 строки, указывающую количество нулевых значений в каждом столбце, которая не требует 100 ifnull вызовов?

Спасибо!

1 Ответ

3 голосов
/ 05 ноября 2019

Ниже для стандартного SQL BigQuery

#standardSQL
SELECT col_name, COUNT(1) nulls_count
FROM `project.dataset.table` t,
UNNEST(REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(\w+)":null')) col_name
GROUP BY col_name 

Вместо того, чтобы возвращать только одну строку - он возвращает те столбцы, в которых есть NULL - каждый столбец и счет в отдельной строке - как в примере ниже

Row col_name    nulls_count  
1   col_a       21   
2   col_d       12   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...