SQL-berechnete Spalte erstellen
In diesem Thema werden Zweck und Verwendung des Spaltentyps Calculation
beschrieben, der mithilfe des Data Warehouse-Managers 2} zu Tabellen hinzugefügt werden kann.Im Folgenden werden die Funktionsweise von SQL-Berechnungen, ihre Verwendung, der Prozess zur Erstellung einer SQL-Berechnung und zwei Beispiele erläutert.
Erklärung
In der Vergangenheit konnten Spalten, die als advanced
galten, nur von einem Analytiker im Customer Success Team hier bei Adobe Commerce Intelligence erstellt werden. Jetzt ist der gesamte Strom in den Händen des Endbenutzers, und erweiterte Spalten können in Form von SQL Calculation
Spalten in der neuen Commerce Intelligence-Architektur erstellt werden.
Der Spaltentyp Calculation
, der jetzt als Option im Data Warehouse Manager verfügbar ist, ist derselbe Tabellenvorgang, mit dem Sie die Spalten einer Tabelle mithilfe der PostgreSQL-Logik umwandeln können. Die Dokumentation zu den Funktionen und Operatoren, die im Spaltentyp Calculation
verwendet werden können, finden Sie auf der PostgreSQL-Website hier.
Die verschiedenen Spalten, die mit der Spalte Calculation
erstellt werden können, sind fast unbegrenzt. Die meisten Spalten können jedoch mit IF-THEN-Anweisungen und Basisarithmetik erstellt werden, die in den Beispielen unten verwendet wird.
Beispiel 1: Ist die letzte Bestellung des Kunden?
Die meisten Konten verfügen über eine Spalte mit dem Namen Is customer's last order?
in ihrer orders
-Tabelle, um Analysen zu Wiederholungskäufen und Kunden durchzuführen. Wenn Ihr Konto auf der neuen Architektur basiert, wird diese Spalte mithilfe einer Calculation
-Spalte erstellt und ist im folgenden Screenshot zu sehen:
Die Spalte Is customer's last order?
verwendet die Eingaben Customer's lifetime number of orders
und Customer's order number
als A
bzw. als B
Alias.
Die Bedeutung von PostgreSQL lautet Zeile für Zeile:
- case: Startet eine Reihe von If - Then -Anweisungen
- Wenn
A
null oderB
null ist, dann null: Wenn eine der Eingaben leer ist, sollte die Ausgabe ebenfalls leer sein. Dies verhindert SQL-Fehler - wenn
A=B
dannYes
: WennCustomer's lifetime number of orders
gleichCustomer's order number
für diese Zeile ist, geben SieYes
zurück. Wenn ein Kunde also vier Bestellungen aufgegeben hat, würde die Zeile für die vierte BestellungYes
fürIs customer's last order?
zurückgeben - else
No
: Wenn keiner der anderen Anweisungen erfüllt ist, geben SieNo
zurück. - end: Hierdurch wird die If - Then -Anweisung beendet.
Die möglichen Werte, die von dieser Spalte zurückgegeben werden können (NULL
, Yes
, No
), enthalten Zeichen, die nicht aus der Zahl stammen, daher ist der Datentyp hier "String".
Beispiel 2: Gesamtwert des Bestellartikels (Menge * Preis)
Viele Kunden analysieren gerne den Umsatz auf Artikelebene und teilen ihn nach Feldern wie product name
oder category
. Die meisten Datenbanken geben Ihnen nicht den Umsatz aus einem Produkt in einer Bestellung, sondern die Menge, die in der Bestellung verkauft wird, und den Preis des Artikels.
Um Produktumsatzanalysen zu aktivieren, verfügen die meisten Konten in ihrer Orders Items
-Tabelle über eine Spalte mit dem Namen Order item total value (quantity * price)
. Wenn Ihr Konto auf der neuen Architektur basiert, wird diese Spalte auch mit einer Calculation
-Spalte erstellt und ist im folgenden Screenshot zu sehen:
Im Commerce-Schema verwendet die Spalte Order item total value (quantity * price)
die Eingaben qty ordered
und base price
, die als A
bzw. B
Alias erhalten.
Die Werte, die von dieser neuen Spalte zurückgegeben werden, sind in Dollar und Cent angegeben, daher ist der richtige Datentyp Decimal(10,2)
.
Mechanics
Eine neue Calculation
-Spalte kann einer Tabelle hinzugefügt werden, indem Sie zu Manage Data > Data Warehouse navigieren, wie unten dargestellt:
Von hier aus können Sie eine Calculation
-Spalte erstellen, indem Sie die folgenden Schritte ausführen:
-
Wählen Sie die Tabelle aus, der Sie die Spalte
Calculation
hinzufügen möchten. -
Klicken Sie auf der richtigen Tabelle oben rechts im Bildschirm auf Create New Column .
-
Wählen Sie im Dropdownmenü
Select a definition
die OptionSame Table
aus. -
Wählen Sie
Calculation
alscolumn definition equation
aus. -
Geben Sie den Spaltennamen ein.
-
Wählen Sie die
input
-Spalten aus der Tabelle aus, die in der Logik Ihrer neuen Spalte verwendet werden. Jede Spalte, die Sie hinzufügen, erhält einen Briefalias, sodass die erste SpalteA
, die zweiteB
usw. ist. -
Geben Sie im Fenster die PostgreSQL-Logik für Ihre neue Spalte mit den Briefaliasen Ihrer Eingaben ein. Die SQL-Berechnung sollte auf eine einzige Spaltendefinition beschränkt sein, einschließlich der gesamten Logik zwischen den SELECT- und FROM-Anweisungen einer SQL-Abfrage. SQL-Schlüsselwörter, die einen der eingegebenen Buchstaben verwenden, sollten in Kleinbuchstaben eingegeben werden. Wenn Sie beispielsweise die Anweisung
CASE
verwenden, sollte sie in Kleinbuchstaben geschrieben werden -case
. Das System geht davon aus, dass ein großgeschriebenerA
auf einen der Eingaben verweist. -
Wählen Sie den entsprechenden Datentyp aus.
Integer
- GanzzahlDecimal(10,2)
- eine Dezimalzahl mit 10 Ziffern insgesamt, von denen 2 rechts neben dem Dezimalpunkt liegenString
- Beliebiger Text- oder Zeichensatztyp, der keine Zahlen verwendet- Format
Datetime
-yyyy-MM-dd hh:mm:ss
-
Klicken Sie auf test column. Dadurch wird eine Liste mit fünf Testwerten für jede Ihrer Eingaben generiert und das Ergebnis der Logik aus Schritt 6 für jeden Satz von Testwerten angezeigt. Wenn ein Teil der SQL einen Fehler erzeugt, wird die entsprechende Fehlermeldung zurückgegeben. Beispielergebnisse können nur generiert werden, wenn alle Eingabespalten native Felder sind. Wenn eine der Eingabespalten berechnete Spalten ist, müssen Sie die Ergebnisse validieren, indem Sie die Spalte zu einer Metrik hinzufügen und im Visual Report Builder anzeigen
-
Wenn Sie mit den Ergebnissen zufrieden sind, klicken Sie auf Save. Die Spalte ermöglicht die Verwendung.