Criar um conjunto de dados

O serviço de consulta fornece a funcionalidade Criar Tabela como Seleção (CTAS) para criar uma tabela com base na saída de uma instrução SELECT ou, como nesse caso, usando uma referência a um esquema XDM existente no Adobe Experience Platform. Abaixo está o esquema XDM para Final_subscription criado para este exemplo.

Um diagrama do esquema final_subscription.

O exemplo a seguir demonstra o SQL usado para criar o conjunto de dados final_subscription_test2. final_subscription_test2 é criado usando o esquema Final_subscription. Os dados são extraídos da origem usando uma cláusula SELECT para preencher algumas linhas.

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)

No conjunto de dados inicial final_subscription_test2, o tipo de dados struct é usado para conter o campo subscription e o userid que é exclusivo para cada usuário. O campo subscription descreve as assinaturas de produto de um usuário. Pode haver várias assinaturas, mas uma tabela só pode conter as informações de uma assinatura por linha.