Dados de log brutos do BigQuery para instaladores do 1º dia

Sou bastante novo no StandardSQL e queria exportar dados de log do Raw BigQuery para usuários instalados em uma determinada data (1º de junho de 2017) com os primeiros dados da sessão de três semanas na data e após a instalação (D0-D20).

    #StandardSQL
    SELECT user_dim.first_open_timestamp_micros, user_dim.app_info.app_instance_id, event_dim.date, event_dim.name, event_dim.timestamp_micros, event_dim.previous_timestamp_micros
    FROM `your_table_id.app_events_*`
    WHERE _TABLE_SUFFIX BETWEEN '20170601' AND '20170621' AND
    (SELECT user_dim.first_open_timestamp_micros
    FROM UNNEST(user_dim) AS user
    WHERE user.first_open_timestamp_micros BETWEEN 1496275200000 AND 1496361600000);

Estou recebendo apenas a seguinte saída:"Os valores referenciados em UNNEST devem ser matrizes. UNNEST contém expressão do tipo STRUCT". Minha pergunta inicial foi: Como eu converteria isso em uma matriz, para fornecer a saída apropriada?

Atualização após a resposta de Mikhail:

A consulta a seguir foi executada, mas não forneceu nenhum dado como saída. Eu sei que deve haver usuários que devem aparecer, porque se eu visualizar a tabela real (visualizar captura de tela), vejo valores que existem na tabela que devem fazer parte da saída (mas não são).

#standardSQL
SELECT 
  user_dim.first_open_timestamp_micros, 
  user_dim.app_info.app_instance_id, 
  event.date, event.name, 
  event.timestamp_micros, 
  event.previous_timestamp_micros
FROM `your_table_id.app_events_*`, UNNEST(event_dim) AS event
WHERE _TABLE_SUFFIX BETWEEN '20170601' AND '20170621' 
AND user_dim.first_open_timestamp_micros BETWEEN 1496275200000 AND 1496361600000
LIMIT 10;

Captura de tela da tabela real:

A conversão dos registros de data e hora mostra que a sessão acima deve realmente aparecer no meio dos 2 user_dim.first_open_timestamp_micros-results, mas não ...

1496275200000 Convertido: Supondo que esse carimbo de data e hora esteja em milissegundos: GMT: quinta-feira, 1 de junho de 2017 12:00:00 Seu fuso horário: quinta-feira, 1 de junho de 2017 2:00:00 GMT + 02:00 DST

1496353126947000 Convertido: Supondo que esse carimbo de data e hora esteja em microssegundos (1 / 1.000.000 de segundo): GMT: quinta-feira, 1 de junho de 2017 21: 38: 46.947 PM Seu fuso horário: quinta-feira, 1 de junho de 2017 11: 38: 46.947 PM GMT + 02:00 DST

1496361600000 Convertido: Supondo que esse carimbo de data e hora esteja em milissegundos: GMT: sexta-feira, 2 de junho de 2017 12:00:00 Seu fuso horário: sexta-feira, 2 de junho de 2017 2:00:00 GMT + 02:00 DST

Pergunta, questão:

Estou faltando alguma coisa, por que esse valor não aparece na saída?

questionAnswers(1)

yourAnswerToTheQuestion