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.
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 Experience Platform.
Sandbox: Experience 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.
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:
all
o un ID di set di dati, un ID di visualizzazione o un nome di database specifico.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
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.
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.
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;
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.
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.