Как студия данных может читать повторяемый столбец как значения одной записи? - PullRequest
0 голосов
/ 09 июля 2020

Я перемещаю коллекцию Mon go в BigQuery для анализа и визуализации в Google Data Studio. Я специально пытаюсь сопоставить все результаты коллекции locations, в которой есть несколько записей, по одной для каждого местоположения. Каждая запись хранит широту в виде массива из двух чисел.

В Data Studio, когда я пытаюсь сопоставить значение locations.coordinates, оно хрипит, потому что оно извлекает только первое значение массива. Если вместо того, чтобы отображать его, я вывожу результат в виде таблицы, я вижу 2 строки для каждой записи, причем _id одинаковы, а locations.coordinates различаются между строкой с широтой (locations.coordinates[0]) и другой. строка для долготы (locations.coordinates[1]).

Думаю, мне нужно сделать это как запланированный запрос в bigquery, который выполняется после каждой синхронизации c данных. Но я надеюсь, что есть способ сделать это в виде вычисляемого поля или смешанного набора данных в Google Data Studio.

Данные в том виде, в каком они существуют в понедельник go

Данные в том виде, в каком они существуют в bigquery

Данные в том виде, в котором они существуют в студии данных

1 Ответ

1 голос
/ 16 июля 2020

Вы можете напрямую адресовать значения в массивах и соответствующим образом преобразовывать данные, используя struct et c.:

WITH t AS (
  SELECT * FROM UNNEST([
    STRUCT('a' AS company, STRUCT([-71.2, 42.0] as coordinates, 'Point' as type) AS location),
    ('b', ([-71.0, 42.2], 'Point')),
    ('c', ([-71.4, 42.4], 'Point'))
  ])
)

--show source structure of example data
--SELECT * FROM t

SELECT * except(location),
  STRUCT(
    location.coordinates[safe_offset(0)] as long,
    location.coordinates[safe_offset(1)] as lat,
    location.type
  ) as location
FROM t

новая таблица результатов

Там offset() для доступа на основе 0, ordinal() для доступа на основе 1 и с safe_ вы не запускаете ошибки, если индекс в массиве не существует. Если вам нужно знать, что значения отсутствуют, вы должны использовать версию без safe_.

В любом случае - эта структура плоская, если выбрать определенные c значения из массива. Он должен работать с datastudio или любым другим инструментом визуализации, больше нет повторяющихся строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...