Reduzieren verschachtelter Datenstrukturen für die Verwendung mit BI-Tools von Drittanbietern

Adobe Experience Platform Query Service unterstützt FLATTEN Einstellung für die Verbindung zu einer Datenbank über BI-Tools von Drittanbietern. Diese Funktion reduziert verschachtelte Datenstrukturen in BI-Tools von Drittanbietern, um deren Benutzerfreundlichkeit zu verbessern und den erforderlichen Arbeitsaufwand zum Abrufen, Analysieren, Transformieren und Berichten von Daten zu reduzieren.

Viele BI-Tools wie Tableau und Power BI nativ keine verschachtelten Datenstrukturen unterstützen. Die FLATTEN entfällt die Notwendigkeit, SQL-Ansichten zusätzlich zu Ihren Daten zu erstellen, um eine flache Version bereitzustellen, oder Query Service zu verwenden CTAS oder INSERT INTO Aufträge zum Duplizieren Ihrer Datensätze in reduzierte Versionen bei Verwendung von Ad-hoc-Schemas.

Die FLATTEN -Einstellung zieht die Struktur der einzelnen Blattfelder in den Stamm der Tabelle und benennt das Feld nach dem ursprünglichen Namespace. Auf diese Weise können Sie Punktnotation verwenden, um ein Feld mit dem Experience-Datenmodell (XDM)-Pfad abzugleichen, während der Kontext des Felds beibehalten wird.

Voraussetzungen

Verwenden der FLATTEN -Einstellung erfordert ein Verständnis der folgenden Komponenten von Adobe Experience Platform:

  • XDM-System: Eine allgemeine Übersicht über XDM und dessen Implementierung in Experience Platform.

    • Erstellen eines Ad-hoc-Schemas: Ein XDM-Schema mit Feldern, die nur für die Verwendung durch einen einzigen Datensatz benannt sind, wird als Ad-hoc-Schema bezeichnet. Ad-hoc-Schemata werden in verschiedenen Datenerfassungs-Workflows zur Experience Platform und Erstellung bestimmter Quellverbindungen verwendet.
  • Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Platform-Instanz in separate virtuelle Umgebungen aufteilen, um die Entwicklung und Weiterentwicklung von Programmen für digitale Erlebnisse zu erleichtern.

  • Verschachtelte Datenstrukturen: Dieses Dokument enthält Beispiele zum Erstellen, Verarbeiten oder Transformieren von Datensätzen mit komplexen Datentypen, einschließlich verschachtelter Datenstrukturen.

Verbindung zu einer Datenbank über die FLATTEN-Einstellung herstellen

Die FLATTEN Durch die Einstellung werden verschachtelte Datenstrukturen in separate Spalten reduziert, wobei der Attributname zum Spaltennamen wird, der die Zeilenwerte enthält. Beim Arbeiten mit Daten in BI-Tools, die keine verschachtelten Datenstrukturen unterstützen, verbessert diese Einstellung die Benutzerfreundlichkeit von Ad-hoc-Schemata und reduziert den erforderlichen Arbeitsaufwand.

Wenn Sie eine Verbindung zu Query Service mit Ihrem ausgewählten Drittanbieter-Client herstellen, hängen Sie die FLATTEN auf den Datenbanknamen. Informationen zum Verbinden eines bestimmten BI-Tools finden Sie in der entsprechenden Dokumentation im Clients mit Query Service verbinden - Übersicht. Die Verbindungszeichenfolge sollte Folgendes enthalten:

  • Der Sandbox-Name.
  • Ein Doppelpunkt, gefolgt von all oder eine bestimmte Datensatz-ID, Anzeigen-ID oder Datenbankname.
  • Ein Fragezeichen (?) gefolgt von FLATTEN Keyword.

Die Eingabe sollte das folgende Format aufweisen:

{sandbox_name}:{all/ID/database_name}?FLATTEN

Eine Beispiel-Verbindungszeichenfolge könnte wie folgt aussehen:

prod:all?FLATTEN

Beispiel

Das in diesem Handbuch verwendete Beispielschema verwendet die Standardfeldgruppe Commerce-Details, das die commerce Objektstruktur und productListItems Array. Siehe XDM-Dokumentation für Weitere Informationen über Commerce-Details Feldergruppe. Eine Darstellung der Schemastruktur finden Sie in der Abbildung unten.

Ein Schemadiagramm für die Feldergruppe "Commerce-Details", einschließlich der  und  Strukturen.

Wenn Ihr BI-Tool verschachtelte Datenstrukturen nicht unterstützt, kann es schwierig sein, verschachtelte Felder zu referenzieren, wenn sie serialisierte Werte enthalten (z. B. commerce und productListItems im Beispielschema). Diese Werte können als Teile eines einzelnen kodierten commerce Zeichenfolgenfeld und sind realistisch nicht verwendbar.

Die folgenden Werte stellen Folgendes dar: commerce.order.priceTotal (3018.0), commerce.order.purchaseID (c9b5aff9-25de-450b-98f4-4484a2170180) und commerce.purchases.value(1.0) in schlecht formatierten verschachtelten Feldern.

("(3018.0,c9b5aff9-25de-450b-98f4-4484a2170180)","(1.0)")

Durch Verwendung der Variablen FLATTEN -Einstellung können Sie mithilfe der Punktnotation und des ursprünglichen Pfadnamens auf separate Felder innerhalb Ihres Schemas oder ganze Abschnitte der verschachtelten Datenstruktur zugreifen. Ein Beispiel für dieses Format mit commerce Feldergruppe finden Sie unten.

commerce.order.priceTotal
commerce.order.purchaseID
commerce.purchases.value

Die FLATTEN -Einstellung hat beim Umgang mit anderen Datenstrukturen gewisse Einschränkungen. Ausführliche Informationen finden Sie unter Einschränkungen.

Anführungszeichen für Felder in Abfragen verwenden

Die reduzierten Stammfelder verwenden jetzt Punktnotation, um ihren XDM-Pfaden zu entsprechen. Bei Verwendung in einer Abfrage müssen die Felder in Anführungszeichen (""") gesetzt werden.

Im folgenden SQL-Beispiel wird der Originalzustand der verschachtelten Abfrage angezeigt:

SELECT YEAR(timestamp) AS year,
       SUM(commerce.order.priceTotal) AS revenue
FROM purchase_events_dataset
WHERE commerce.purchases.value > 0
GROUP BY 1;

Bei Verwendung der reduzierten Datenfelder wird die Abfrage mit Punktnotation geschrieben und in Anführungszeichen gesetzt, wie unten dargestellt:

SELECT YEAR(timestamp) AS year,
       SUM("commerce.order.priceTotal") AS revenue
FROM purchase_events_dataset
WHERE "commerce.purchases.value" > 0
GROUP BY 1;

Einschränkungen

Die FLATTEN -Einstellung reduziert derzeit nicht die folgenden Datenstrukturen:

Datenstruktur Einschränkung
Arrays Verwenden Sie einen expliziten Array-Index oder EXPLODE -Funktion, um auf Arrays zuzugreifen.
Karten Verwenden Sie den Zeichenfolgenschlüssel, um auf einen Wert unter einer Zuordnung zuzugreifen und auf Zuordnungen zuzugreifen.

Um sowohl Map- als auch Array-Einschränkungen zu beheben, müssen Sie die BI-Tools für die SQL-Rohbearbeitung wie die Erweiterte Optionen -> SQL-Anweisung in Power BI verwenden.

BI-Tools wie die Rohbearbeitung von SQL sind erforderlich, um sowohl Zuordnungs- als auch Array-Einschränkungen zu beheben. Informationen finden Sie im Handbuch Verwenden Sie erweiterte Power BI-Optionen zur Eingabe einer benutzerdefinierten SQL-Abfrage im Abschnitt SQL-Anweisung .

Nächste Schritte

In diesem Dokument wurde beschrieben, wie verschachtelte Datenstrukturen für die Verwendung mit BI-Tools von Drittanbietern reduziert werden. Wenn Sie noch keine Verbindung zu Ihrem Client hergestellt haben, lesen Sie Übersicht über die Client-Verbindung für eine Liste unterstützter Drittanbieter-Clients.

Auf dieser Seite