Tradurre le query SQL in Commerce Intelligence
Ti sei mai chiesto come vengono tradotte le query SQL nelle colonne calcolate, metriche e report che utilizzi in Commerce Intelligence? Se sei un utente SQL pesante, comprendere come SQL viene tradotto in Commerce Intelligence ti consente di lavorare in modo più intelligente in Data Warehouse Manager e ottenere il massimo dalla piattaforma Commerce Intelligence.
Alla fine di questo argomento, è disponibile una matrice di traduzione per clausole di query SQL e Commerce Intelligence elementi.
Inizia guardando una query generale:
SELECTa,group bySUM(b)Aggregate function (colonna)FROM cSourceWHEREd IS NOT NULLFilterAND time < XAND time >= Ytime frameGROUP BY agroup byQuesto esempio copre la maggior parte dei casi di traduzione, ma con alcune eccezioni. Immergiti, a partire dalla traduzione della funzione aggregate.
Aggregare funzioni
Le funzioni di aggregazione (ad esempio count, sum, average, max, min) nelle query assumono la forma di aggregazioni metriche o aggregazioni colonne in Commerce Intelligence. Il fattore di differenziazione è se è necessario un join per eseguire l'aggregazione.
Osserva un esempio per ciascuno dei precedenti.
Aggregazioni di metriche aggregate
È richiesta una metrica per l'aggregazione di within a single table. Ad esempio, la funzione di aggregazione SUM(b) della query precedente sarà probabilmente rappresentata da una metrica che somma la colonna B.
Osservare un esempio specifico di come una metrica Total Revenue potrebbe essere definita in Commerce Intelligence. Osserva la query seguente che tenti di tradurre:
SELECTSUM(order_total) as "Total Revenue"Metric operation (colonna)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < XAND created_at >= Ytimestamp (e reporting time range)Passare al generatore di metriche facendo clic su Manage Data > Metriche > Crea nuova metrica, è innanzitutto necessario selezionare la tabella source appropriata, che in questo caso è la tabella orders. La metrica viene quindi impostata come mostrato di seguito:
Aggregazioni di colonne
Una colonna calcolata è obbligatoria quando si aggrega una colonna unita in join da un'altra tabella. Ad esempio, è possibile che nella tabella customer sia stata creata una colonna denominata Customer LTV, che somma il valore totale di tutti gli ordini associati al cliente nella tabella orders.
La query per questa aggregazione potrebbe essere simile alla seguente:
Selectc.customer_idSUM(o.order_total) as "Customer LTV"FROM customers cJOIN orders oON c.customer_id = o.customer_idWHERE o.status = 'success'La configurazione in Commerce Intelligence richiede l'utilizzo di Data Warehouse Manager, dove si crea un percorso tra la tabella orders e customers e quindi si crea una colonna denominata Customer LTV nella tabella del cliente.
Verificare come stabilire un nuovo percorso tra customers e orders. L'obiettivo finale è la creazione di una nuova colonna aggregata nella tabella customers. Passare quindi alla tabella customers nel Data Warehouse, quindi fare clic su Create a Column > Seleziona una definizione > SOMMA.
Successivamente, è necessario selezionare la tabella di origine. Se esiste un percorso per la tabella orders, selezionalo semplicemente dal menu a discesa. Tuttavia, se stai creando un nuovo percorso, fai clic su Create new path e viene visualizzata la schermata seguente:
In questo caso è necessario considerare attentamente la relazione tra le due tabelle che si sta tentando di unire. In questo caso, sono potenzialmente presenti Many ordini associati al cliente One, pertanto la tabella orders è elencata sul lato Many, mentre la tabella customers è selezionata sul lato One.
path equivale a Join in SQL.Una volta salvato il percorso, è possibile creare la colonna Customer LTV. Vedi di seguito:
Ora che hai creato la nuova colonna Customer LTV nella tabella customers, puoi creare un'aggregazione di metrica utilizzando questa colonna (ad esempio, per trovare l'LTV medio per cliente). È inoltre possibile group by o filter in base alla colonna calcolata in un report utilizzando le metriche esistenti create nella tabella customers.
filter o group by.Consulta creazione di colonne calcolate con Data Warehouse Manager.
Group By clausole
Group By funzioni nelle query sono spesso rappresentate in Commerce Intelligence come colonna utilizzata per segmentare o filtrare un report visivo. Ad esempio, rivediamo la query Total Revenue che hai esplorato in precedenza, ma questa volta segmentiamo i ricavi per coupon\_code per comprendere meglio quali coupon generano il maggior numero di ricavi.
Inizia con la query seguente:
SELECT coupon_code,group bySUM(order_total) as "Total Revenue"Metric operation(colonna)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'timestamp (e reporting time range)GROUP BY coupon_codegroup byUtilizzando la stessa metrica Total Revenue creata in precedenza, ora puoi creare il tuo report dei ricavi segmentati per codice coupon. Osserva il file gif qui sotto che mostra come impostare questo rapporto visivo con dati di settembre a novembre:
Formule
A volte, una query può richiedere più aggregazioni per calcolare la relazione tra colonne separate. Ad esempio, è possibile calcolare il valore medio dell'ordine in una query in uno dei due modi seguenti:
AVG('order\_total')OSUM('order\_total')/COUNT('order\_id')
Il primo metodo richiede la creazione di una nuova metrica che esegue una media sulla colonna order\_total. Tuttavia, è possibile creare quest'ultimo metodo direttamente nel generatore di report presupponendo che siano già impostate delle metriche per il calcolo di Total Revenue e Number of orders.
Fare un passo indietro e esaminare la query complessiva per Average order value:
SELECTSUM(order_total) as "Total Revenue"operation (colonna)COUNT(order_id) as "Number of orders"operation (colonna)SUM(order_total)/COUNT(order_id) as "Average order value"operation (colonna) / Operazione metrica (colonna)FROM orderssource della metricaWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'Si supponga ora di disporre già di metriche configurate per il calcolo di Total Revenue e Number of orders. Poiché queste metriche esistono, è sufficiente aprire Report Builder e creare un calcolo su richiesta utilizzando la funzione Formula:
Ritorno a capo
Se si è un utente SQL molto attivo, pensare alla modalità di traduzione delle query in Commerce Intelligence consente di creare colonne, metriche e report calcolati.
Per un riferimento rapido, consulta la matrice seguente. Viene illustrato l'elemento Commerce Intelligence equivalente di una clausola SQL e la modalità di mapping a più elementi, a seconda di come viene utilizzato nella query.
Elementi Commerce Intelligence
SQL ClauseMetricFilterReport group byReport time framePathCalculated column inputsSource tableSELECTFROMWHEREWHERE (con elementi di tempo)JOIN...ONGROUP BY