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.
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.