Flatten delle strutture di dati nidificate da utilizzare con strumenti BI di terze parti

Adobe Experience Platform Query Service supporta FLATTEN impostazione per la connessione a un database tramite strumenti BI di terze parti. Questa funzione appiattisce le strutture di dati nidificate negli strumenti di business intelligence di terze parti per migliorarne l’usabilità e ridurre il carico di lavoro necessario per recuperare, analizzare, trasformare e creare rapporti sui dati.

Molti strumenti BI come Tableau e Power BI non supportano in modo nativo le strutture di dati nidificate. Il FLATTEN L'impostazione elimina la necessità di creare viste SQL sopra i dati per fornire una versione semplice o per utilizzare Query Service CTAS o INSERT INTO processi per duplicare i set di dati in versioni flat quando si utilizzano schemi ad hoc.

Il FLATTEN l'impostazione richiama la struttura di ciascun campo foglia nella radice della tabella e assegna al campo un nome successivo a quello dello spazio dei nomi originale. Questo consente di utilizzare la notazione del punto per far corrispondere un campo al relativo percorso Experience Data Model (XDM), mantenendo al contempo il contesto del campo.

Prerequisiti

Utilizzo di FLATTEN L'impostazione richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:

  • Sistema XDM: panoramica di alto livello di XDM e della relativa implementazione in Experienci Platform.

    • Creare uno schema ad hoc: schema XDM con campi a cui viene assegnato un nome da utilizzare solo per un singolo set di dati, viene definito schema ad hoc. Gli schemi ad hoc vengono utilizzati in vari flussi di lavoro di acquisizione dati, ad Experience Platform per la creazione di alcuni tipi di connessioni sorgente.
  • Sandbox: Experienci Platform fornisce sandbox virtuali che permettono di suddividere una singola istanza Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.

  • Strutture di dati nidificate: questo documento fornisce esempi su come creare, elaborare o trasformare set di dati con tipi di dati complessi, comprese le strutture di dati nidificate.

Connettersi a un database utilizzando l'impostazione FLATTEN connect-with-flatten

Il FLATTEN l'impostazione consente di unire le strutture di dati nidificate in colonne separate in cui il nome dell'attributo diventa il nome della colonna che contiene i valori di riga. Quando si utilizzano dati in strumenti BI che non supportano strutture di dati nidificate, questa impostazione migliora l’usabilità degli schemi ad hoc e riduce il carico di lavoro necessario.

Quando ti connetti a Query Service con il client di terze parti scelto, aggiungi FLATTEN al nome del database. Per informazioni su come collegare uno specifico strumento BI, consulta la relativa documentazione nel panoramica sulla connessione dei client a Query Service. La stringa di connessione deve contenere:

  • Il nome della sandbox.
  • Due punti seguiti da all o un ID di set di dati, un ID di visualizzazione o un nome di database specifico.
  • Un punto interrogativo (?) seguito da FLATTEN parola chiave.

L’input deve avere il seguente formato:

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

Di seguito è riportato un esempio di stringa di connessione:

prod:all?FLATTEN

Esempio example

Lo schema di esempio utilizzato in questa guida utilizza il gruppo di campi standard Dettagli Commerce, che utilizza commerce struttura dell'oggetto e productListItems array. Consulta la documentazione di XDM per ulteriori informazioni su Dettagli Commerce gruppo di campi. Una rappresentazione della struttura dello schema è visibile nell’immagine seguente.

Un diagramma di schema del gruppo di campi Dettagli Commerce che include e strutture.

Se lo strumento BI non supporta strutture di dati nidificate, può essere difficile fare riferimento ai campi nidificati che contengono valori serializzati, ad esempio commerce e productListItems nello schema di esempio). Questi valori possono essere visualizzati come parti di un'unica codifica commerce e non sono realisticamente inutilizzabili.

I seguenti valori rappresentano commerce.order.priceTotal (3018.0) commerce.order.purchaseID (c9b5aff9-25de-450b-98f4-4484a2170180), e commerce.purchases.value(1.0) in campi nidificati in formato non corretto.

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

Utilizzando il FLATTEN impostazione, puoi accedere a campi separati all’interno dello schema o a sezioni intere della struttura dati nidificata utilizzando la notazione del punto e il nome del percorso originale. Un esempio di questo formato utilizzando commerce gruppo di campi è riportato di seguito.

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

Il FLATTEN L'impostazione presenta alcune limitazioni quando si tratta di altre strutture di dati. Per informazioni dettagliate, consulta sezione limitazioni.

Utilizzare le virgolette per i campi nelle query quotation-marks

I campi radice appiattiti ora utilizzano la notazione del punto per corrispondere ai relativi percorsi XDM. Quando vengono utilizzati in una query, i campi devono essere racchiusi tra virgolette ("").

L'esempio SQL seguente visualizza lo stato originale della query nidificata:

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

Quando si utilizzano i campi di dati appiattiti, la query viene scritta utilizzando la notazione del punto e racchiusa tra virgolette, come illustrato di seguito:

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

Limitazioni limitations

Il FLATTEN L'impostazione non appiattisce le seguenti strutture di dati:

Struttura dei dati
Limitazione
Matrici
Utilizza un indice di array esplicito o EXPLODE per accedere agli array.
Mappe
Utilizza la chiave stringa per accedere a un valore sotto una mappa per accedere alle mappe.

Per risolvere le limitazioni di Map e Array, è necessario utilizzare gli strumenti di BI per la modifica delle istruzioni SQL raw, ad esempio Opzioni avanzate -> Istruzione SQL in Power BI.

Per risolvere le limitazioni relative a mappe e array sono necessari strumenti di business intelligence, ad esempio la modifica delle istruzioni SQL non elaborate. Consulta la guida su come utilizzare le opzioni avanzate Power BI per immettere una query SQL personalizzata nella sezione istruzione SQL.

Passaggi successivi

Questo documento illustra come appiattire le strutture di dati nidificate da utilizzare con strumenti di business intelligence di terze parti. Se il client non è già stato connesso, vedere panoramica della connessione client per un elenco dei client di terze parti supportati.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb