¿Cómo escribir Bigquery en un nuevo esquema reemplazando event_dim en el esquema anterior de Firebase analytics?

Se está ejecutando el antiguo script de esquema de BigQuery Export, que se muestra a continuación. Pero quiero replicar este código y escribirlo de acuerdo con el nuevo esquema de exportación, ya que el esquema Bigquery ha cambiado. Por favor ayuda porquenuevo esquema de exportación BigQuery No encuentro ningún otro registro correspondiente contra event_dim (event_dim está de acuerdo con el antiguo esquema de BigQuery Export).

Aquí hay un enlace para el esquema de exportación de BigQuery: haga clic aqu

 SELECT user_dim.app_info.app_instance_id
          , (SELECT MIN(timestamp_micros) FROM UNNEST(event_dim)) min_time
          , (SELECT MAX(timestamp_micros) FROM UNNEST(event_dim)) max_time,
                event.name,
                params.value.int_value engagement_time
        FROM `xxx.app_events_*`,
        UNNEST(event_dim) as event,
        UNNEST(event.params) as params,
        UNNEST(user_dim.user_properties) as user_params
        where (event.name = "user_engagement" and params.key = "engagement_time_msec")
        and
                (user_params.key = "access" and user_params.value.value.string_value = "true") and
                PARSE_DATE('%Y%m%d', event.date) >= date_sub("{{upto_date (yyyy-mm-dd)}}", interval {{last n days}} day) and
                PARSE_DATE('%Y%m%d', event.date) <= "{{upto_date (yyyy-mm-dd)}}"

Intenté la consulta a continuación, pero lo que quiero es app_instance, min_time, max_time, event_name, engagement_time en una instrucción SELECT. Y como estoy usando 'group by', no puedo obtener todos esos (app_instance, min_time, max_time, event_name, engagement_time) a la vez. Por favor ayuda

 SELECT user_pseudo_id
     , MIN(event_timestamp) AS min_time
      ,MAX(event_timestamp) AS max_time
    FROM `xxx.app_events_*` as T,
       T.event_params,
       T.user_properties,
       T.event_timestamp
    where (event_name = "user_engagement" and event_params.key = "engagement_time_msec")
    and
            (user_properties.key = "access" and user_properties.value.string_value = "true") and
            PARSE_DATE('%Y%m%d', event_date) >= date_sub("{{upto_date (yyyy-mm-dd)}}", interval {{last n days}} day) and
            PARSE_DATE('%Y%m%d', event_date) <= "{{upto_date (yyyy-mm-dd)}}"
    group by 1

Respuestas a la pregunta(2)

Su respuesta a la pregunta