SQL-Abfragen in Commerce Intelligence übersetzen
Haben Sie sich jemals gefragt, wie SQL-Abfragen in die berechneten Spalten, Metriken und Berichte übersetzt werden, die Sie in Commerce Intelligence verwenden? Wenn Sie ein erfahrener SQL-Benutzer sind, können Sie im Commerce IntelligenceData Warehouse Manager intelligenter arbeiten, wenn Sie verstehen, wie SQL in übersetzt , und die Commerce Intelligence optimal nutzen.
Am Ende dieses Themas finden Sie eine Übersetzungsmatrix für SQL-Abfrageklauseln und Commerce Intelligence.
Beginnen Sie mit einer allgemeinen Abfrage:
SELECTa,group bySUM(b)Aggregate function (Spalte)FROM cSourceWHEREd IS NOT NULLFilterAND time < XAND time >= Ytime frameGROUP BY agroup byDieses Beispiel behandelt die meisten Übersetzungsfälle, es gibt jedoch einige Ausnahmen. Tauchen Sie ein, beginnend mit der Übersetzung der aggregate.
Aggregatfunktionen
Aggregatfunktionen (z. B. count, sum, average, max, min) in Abfragen haben entweder die Form Metrikaggregationen oder Spaltenaggregationen in Commerce Intelligence. Der Unterscheidungsfaktor ist, ob ein Join erforderlich ist, um die Aggregation durchzuführen.
Sehen Sie sich ein Beispiel für jeden der oben genannten Punkte an.
Metrikaggregationen aggregate
Beim Aggregieren von within a single table ist eine Metrik erforderlich. Beispielsweise würde die SUM(b) Aggregatfunktion aus der obigen Abfrage höchstwahrscheinlich durch eine Metrik dargestellt, die die B addiert.
Sehen Sie sich ein konkretes Beispiel an, wie eine Total Revenue Metrik in Commerce Intelligence definiert werden könnte. Sehen Sie sich die Abfrage an, die Sie übersetzen möchten:
SELECTSUM(order_total) as "Total Revenue"Metric operation (Spalte)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < XAND created_at >= Ytimestamp (und Reporting-time range)Navigieren Sie zum Metrik-Builder, indem Sie Manage Data > Metriken > Neue Metrik erstellen klicken. Sie müssen zunächst die entsprechende source auswählen, bei der es sich in diesem Fall um die orders handelt. Anschließend würde die Metrik wie unten dargestellt eingerichtet:
Spaltenaggregationen
Eine berechnete Spalte ist erforderlich, wenn eine Spalte aggregiert wird, die aus einer anderen Tabelle verbunden ist. Beispielsweise könnte in Ihrer customer eine Spalte namens Customer LTV erstellt sein, die den Gesamtwert aller Bestellungen summiert, die mit diesem Kunden in der orders-Tabelle verknüpft sind.
Die Abfrage für diese Aggregation kann in etwa wie folgt aussehen:
Selectc.customer_idSUM(o.order_total) as "Customer LTV"FROM customers cJOIN orders oON c.customer_id = o.customer_idWHERE o.status = 'success'Für die Einrichtung in Commerce Intelligence ist die Verwendung Ihres Data Warehouse-Managers erforderlich, mit dem Sie einen Pfad zwischen Ihrer orders und customers Tabelle erstellen und dann in der Tabelle Ihres Kunden eine Spalte mit dem Namen Customer LTV erstellen.
Erfahren Sie, wie Sie einen neuen Pfad zwischen dem customers und dem orders einrichten. Das Endziel besteht darin, eine neue aggregierte Spalte in der customers zu erstellen. Gehen Sie daher in Ihrer Data Warehouse zur customers Tabelle und klicken Sie auf Create a Column > Definition auswählen > SUM.
Als Nächstes müssen Sie die Quelltabelle auswählen. Wenn ein Pfad zu Ihrer orders vorhanden ist, wählen Sie ihn einfach aus der Dropdown-Liste aus. Wenn Sie jedoch einen neuen Pfad erstellen, klicken Sie auf Create new path . Daraufhin wird der folgende Bildschirm angezeigt:
Hier müssen Sie die Beziehung zwischen den beiden Tabellen, die Sie verbinden möchten, sorgfältig prüfen. In diesem Fall sind potenziell Many Bestellungen mit One Kunden verknüpft. Daher wird die orders Tabelle auf der Many Seite aufgelistet, während die customers Tabelle auf der One Seite ausgewählt wird.
path einem Join in SQL.Nachdem der Pfad gespeichert wurde, können Sie die Spalte Customer LTV erstellen! Siehe unten:
Nachdem Sie nun die neue Spalte Customer LTV in Ihrer customers erstellt haben, können Sie mithilfe dieser Spalte eine Metrikaggregation erstellen (um beispielsweise den durchschnittlichen LTV pro Kunde zu ermitteln). Sie können auch die berechnete Spalte in einem Bericht group by oder filter, indem Sie vorhandene Metriken verwenden, die auf der customers-Tabelle basieren.
filter oder group by verfügbar ist.Siehe Erstellen berechneter Spalten mit Ihrem Data Warehouse Manager.
Group By
Group By Funktionen in Abfragen werden häufig in Commerce Intelligence als Spalte dargestellt, die zum Segmentieren oder Filtern eines visuellen Berichts verwendet wird. Sehen wir uns als Beispiel die Total Revenue Abfrage an, die Sie zuvor untersucht haben. Dieses Mal segmentieren Sie den Umsatz jedoch nach coupon\_code, um besser zu verstehen, welche Coupons den meisten Umsatz generieren.
Beginnen Sie mit der folgenden Abfrage:
SELECT coupon_code,group bySUM(order_total) as "Total Revenue"Metric operation(Spalte)FROM ordersMetric sourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'timestamp (und Reporting-time range)GROUP BY coupon_codegroup byMit derselben Total Revenue, die Sie zuvor erstellt haben, können Sie jetzt einen Umsatzbericht erstellen, der nach Couponcode segmentiert ist! Sehen Sie sich das folgende GIF an, das zeigt, wie Sie diesen visuellen Bericht einrichten, indem Sie Daten von September bis November betrachten:
Formeln
Manchmal kann eine Abfrage mehrere Aggregationen umfassen, um die Beziehung zwischen verschiedenen Spalten zu berechnen. Sie können beispielsweise den durchschnittlichen Bestellwert in einer Abfrage auf zwei Arten berechnen:
AVG('order\_total')ODERSUM('order\_total')/COUNT('order\_id')
Die frühere Methode beinhaltet die Erstellung einer neuen Metrik, die einen Durchschnitt in der order\_total Spalte durchführt. Die letztgenannte Methode kann jedoch direkt im Report Builder erstellt werden, vorausgesetzt, Sie haben bereits Metriken zur Berechnung der Total Revenue und Number of orders eingerichtet.
Gehen Sie einen Schritt zurück und sehen Sie sich die Gesamtabfrage für Average order value an:
SELECTSUM(order_total) as "Total Revenue"operation (Spalte)COUNT(order_id) as "Number of orders"operation (Spalte)SUM(order_total)/COUNT(order_id) as "Average order value"operation (Spalte)/Metrikvorgang (Spalte)FROM orderssourceWHEREemail NOT LIKE '%@magento.com'filterAND created_at < '2016-12-01'AND created_at >= '2016-09-01'Nehmen wir nun an, Sie haben bereits Metriken eingerichtet, um die Total Revenue und Number of orders zu berechnen. Da diese Metriken vorhanden sind, können Sie einfach den Report Builder öffnen und eine Berechnung auf Anfrage mit der Formula-Funktion erstellen:
Verpackung
Wenn Sie ein starker SQL-Benutzer sind und darüber nachdenken, wie Abfragen in Commerce Intelligence übersetzt werden, können Sie berechnete Spalten, Metriken und Berichte erstellen.
Zur schnellen Übersicht sehen Sie sich die unten stehende Matrix an. Dies zeigt das entsprechende Commerce Intelligence einer SQL-Klausel und wie sie mehreren Elementen zugeordnet werden kann, je nachdem, wie sie in der Abfrage verwendet wird.
Commerce Intelligence-Elemente
SQL ClauseMetricFilterReport group byReport time framePathCalculated column inputsSource tableSELECTFROMWHEREWHERE (mit Zeitelementen)JOIN...ONGROUP BY