Erstellen eines Datensatzes

Query Service bietet die Funktion Create Table As Select (CTAS), um eine Tabelle basierend auf der Ausgabe einer SELECT-Anweisung oder, wie in diesem Fall, durch Verwendung eines Verweises auf ein vorhandenes XDM-Schema in Adobe Experience Platform zu erstellen. Im Folgenden wird das für dieses Beispiel erstellte XDM-Schema für Final_subscription angezeigt.

Darstellung des Schemas final_subscription

Das folgende Beispiel zeigt die zum Erstellen des Datensatzes final_subscription_test2 verwendete SQL. final_subscription_test2 wird mithilfe des Schemas Final_subscription erstellt. Die Daten werden mithilfe einer SELECT-Klausel extrahiert, um einige Zeilen aufzufüllen.

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)

Im ursprünglichen Datensatz final_subscription_test2 wird der Datentyp Struct verwendet, um das Feld subscription und die jeweils für die Person eindeutige userid einzuschließen. Das Feld subscription beschreibt die Produktabonnements für eine Person. Es kann mehrere Abonnements geben, eine Tabelle kann jedoch nur die Informationen für ein Abonnement pro Zeile enthalten.