Crear un conjunto de datos

El servicio Query proporciona la funcionalidad Crear tabla como selección (CTAS) para crear una tabla basada en el resultado de una instrucción SELECT o, como en este caso, utilizando una referencia a un esquema XDM existente en Adobe Experience Platform. A continuación se muestra el esquema XDM para Final_subscription creado para este ejemplo.

Un diagrama del esquema final_subscription.

En el ejemplo siguiente se muestra el SQL utilizado para crear el conjunto de datos final_subscription_test2. final_subscription_test2 se ha creado usando el esquema Final_subscription. Los datos se extraen del origen mediante una cláusula SELECT para rellenar algunas filas.

CREATE TABLE final_subscription_test2 with(schema='Final_subscription') AS (
        SELECT struct(userid, collect_set(subscription) AS subscription) AS _lumaservices3 FROM(
            SELECT user AS userid,
                   struct( last(eventtime) AS last_eventtime,
                           last(status) AS last_status,
                           offer_id,
                           subsid AS subscription_id)
                   AS subscription
             FROM (
                   SELECT _lumaservices3.msftidentities.userid user
                        , _lumaservices3.subscription.subscription_id subsid
                        , _lumaservices3.subscription.subscription_status status
                        , _lumaservices3.subscription.offer_id offer_id
                        , TIMESTAMP eventtime

                   FROM
                        xbox_subscription_event
                   UNION
                   SELECT _lumaservices3.msftidentities.userid user
                        , _lumaservices3.subscription.subscription_id subsid
                        , _lumaservices3.subscription.subscription_status status
                        , _lumaservices3.subscription.offer_id offer_id
                        , TIMESTAMP eventtime
                   FROM
                        office365_subscription_event
             )
             GROUP BY user,subsid,offer_id
             ORDER BY user ASC
       ) GROUP BY userid)

En el conjunto de datos inicial final_subscription_test2, el tipo de datos struct se usa para contener el campo subscription y userid, que son únicos para cada usuario. El campo subscription describe las suscripciones de producto para un usuario. Puede haber varias suscripciones, pero una tabla solo puede contener la información de una suscripción por fila.