Adobe Experience Platform Query Service supporta la FLATTEN
impostazione durante la connessione a un database tramite strumenti BI di terze parti. Questa funzione appiattisce le strutture di dati nidificate in strumenti BI 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 dati nidificate. La FLATTEN
l'impostazione elimina la necessità di creare visualizzazioni SQL sui dati per fornire una versione semplice o per utilizzare Query Service CTAS
o INSERT INTO
processi per duplicare i set di dati in versioni piatte quando si utilizzano schemi ad hoc.
La FLATTEN
richiama la struttura di ciascun campo foglia nella directory principale della tabella e assegna un nome al campo dopo lo 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 il contesto del campo.
Utilizzo della FLATTEN
l’impostazione richiede una buona comprensione dei seguenti componenti di Adobe Experience Platform:
Sistema XDM: Panoramica di alto livello di XDM e della sua implementazione in Experience Platform.
Sandbox: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza di Platform in ambienti virtuali separati per sviluppare e sviluppare 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, incluse le strutture di dati nidificate.
La FLATTEN
l’impostazione appiattisce le strutture di dati nidificate in colonne separate in cui il nome dell’attributo diventa il nome della colonna contenente i valori della 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 la FLATTEN
impostazione sul nome del database. Per informazioni su come collegare uno specifico strumento BI, consulta la relativa documentazione nella sezione panoramica di connessione dei client a Query Service. La stringa di connessione deve contenere:
all
o un ID set di dati specifico, un ID visualizzazione o un nome di database.FLATTEN
keyword.L'input deve avere il formato seguente:
{sandbox_name}:{all/ID/database_name}?FLATTEN
Di seguito è riportato un esempio di stringa di connessione:
prod:all?FLATTEN
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 XDM per ulteriori informazioni Dettagli Commerce gruppo di campi. Nell’immagine seguente è possibile vedere una rappresentazione della struttura dello schema.
Se lo strumento BI non supporta le strutture di dati nidificate, può essere difficile fare riferimento ai campi nidificati se contengono valori seriali (ad esempio commerce
e productListItems
nello schema di esempio). Questi valori possono apparire come parti di un singolo codificato commerce
campo stringa 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 FLATTEN
è possibile accedere a campi separati all’interno dello schema o a intere sezioni della struttura dati nidificata utilizzando la notazione del punto e il relativo percorso originale. Un esempio di questo formato che utilizza commerce
di seguito è riportato un gruppo di campi.
commerce.order.priceTotal
commerce.order.purchaseID
commerce.purchases.value
La FLATTEN
l’impostazione presenta alcune limitazioni quando si tratta di altre strutture di dati. I dettagli completi sono forniti nella sezione sezione sulle limitazioni.
I campi principali appiattiti ora utilizzano la notazione del punto per corrispondere ai rispettivi percorsi XDM. Se utilizzati in una query, i campi devono essere racchiusi tra virgolette (" ").
Nell'esempio SQL seguente viene visualizzato 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 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;
La FLATTEN
al momento l’impostazione non appiattisce le seguenti strutture di dati:
Struttura dati | Limitazione |
---|---|
Matrici | Utilizzare un indice di matrice 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 i limiti di Mappa e Array è necessario utilizzare la modifica SQL grezza degli strumenti BI, come Opzioni avanzate -> Istruzione SQL in Power BI.
Gli strumenti BI, come la modifica non elaborata di SQL, sono necessari per risolvere i limiti sia della mappa che della matrice. Consulta la guida su come utilizzare le opzioni avanzate di Power BI per immettere una query SQL personalizzata nella sezione Istruzione SQL.
Questo documento illustra come appiattire le strutture di dati nidificate da utilizzare con strumenti BI di terze parti. Se il client non è già stato connesso, consulta panoramica della connessione client per un elenco dei client di terze parti supportati.