Creare un set di dati
Il servizio Query fornisce la funzionalità Create Table As Select (CTAS
) per creare una tabella basata sull'output di un'istruzione SELECT
oppure, come in questo caso, utilizzando un riferimento a uno schema XDM esistente in Adobe Experience Platform. Di seguito è riportato lo schema XDM per Final_subscription
creato per questo esempio.
Nell'esempio seguente viene illustrato l'SQL utilizzato per creare il set di dati final_subscription_test2
. final_subscription_test2
viene creato utilizzando lo schema Final_subscription
. I dati vengono estratti dall'origine utilizzando una clausola SELECT
per compilare alcune righe.
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)
Nel set di dati iniziale final_subscription_test2
, il tipo di dati struct viene utilizzato per contenere sia il campo subscription
che il userid
, che è univoco per ogni utente. Il campo subscription
descrive le sottoscrizioni di prodotti per un utente. Possono esistere più sottoscrizioni, ma una tabella può contenere solo le informazioni relative a una sottoscrizione per riga.