Запрос вернул ошибку. Неверная временная метка: '-' - PullRequest
0 голосов
/ 13 июня 2019

У меня есть набор данных журналов Gmail BigQuery, который управляется Google. Google транслирует журналы электронной почты в таблицу с именем daily_ почти в реальном времени, которая разделена по дням. В журналах есть записи, указывающие, когда определенные сообщения запускают правила маршрутизации почты, и я хочу выбрать их и рассчитать время, необходимое для выполнения правила маршрутизации, с помощью разницы во времени. Мне удалось вычислить разницу во времени с помощью SQL, я сохранил ее как представление и теперь хочу построить график в DataStudio. Однако всякий раз, когда я добавляю временной фильтр с измерением диапазона дат, он выдает следующую ошибку:

Ошибка конфигурации пользователя

Этот источник данных был неправильно настроен.

Запрос вернул ошибку.

Неверная отметка времени: '-' Идентификатор ошибки: 3d446739

Моей первой мыслью было, что, возможно, существуют строки, в которых поле _TABLE_SUFFIX раздела пустое или пустое. Тем не менее, после запуска команды «выбрать отдельное _TABLE_SUFFIX» и просмотра результатов, я больше не уверен, что это так, все они имеют значение даты.

Есть идеи, что может быть причиной этого? Для чего стоит, когда я добавляю представление в качестве источника данных в DataStudio, он правильно выбирает тип данных в качестве даты. Google сохраняет значения в _TABLE_SUFFIX с формальным YYYYMMDD, который именно так и выглядит DataStudio при добавлении источника.

Хуже всего во всем этом является то, что мой коллега использует тот же набор данных в качестве источника (хотя и с другим, но схожим образом настроенным видом), и он отлично работает, а мой - нет. Любая помощь приветствуется.

Это представление SQL, которое я создал и хочу отобразить в Data Studio:

SELECT
  _TABLE_SUFFIX as pt,
  MIN(DATETIME(timestamp_micros(event_info.timestamp_usec), "America/New_York")) as time_before,
  MAX(DATETIME(timestamp_micros(event_info.timestamp_usec), "America/New_York")) as time_after,
  DATETIME_DIFF(
    MAX(DATETIME(timestamp_micros(event_info.timestamp_usec), "America/New_York")),
    MIN(DATETIME(timestamp_micros(event_info.timestamp_usec), "America/New_York")),
    SECOND) as timediff,
  message_info.num_message_attachments,
  message_info.source.address as sender,
  dest.address as recipeint,
  message_info.rfc2822_message_id,
  message_info.subject
FROM
  `g-suite-logs.gmail_logs.daily_*` as t1,
  UNNEST ( message_info.destination ) as dest,
  UNNEST ( message_info.triggered_rule_info ) as rule
WHERE rule.rule_name = "Route to third party MTA" OR rule.rule_name = "Receive back from third party MTA"
GROUP BY
  pt,
  message_info.rfc2822_message_id,
  message_info.source.address,
  dest.address,
  message_info.subject,
  message_info.num_message_attachments
ORDER BY pt,rfc2822_message_id

Я также подозревал, что, возможно, UNNEST вводил некоторые нулевые значения в _TABLE_SUFFIX, но больше не подозревал, что это так.

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