Een SQL Berekende kolom maken
Dit onderwerp schetst het doel en het gebruik van het Calculation kolomtype, dat aan lijsten kan worden toegevoegd gebruikend de Manager van Data Warehouse . Hieronder wordt uitgelegd wat SQL-berekeningen doen, waarom ze worden gebruikt, het proces voor het maken van een SQL-berekening en bevat twee voorbeelden.
Verklaring
In het verleden konden kolommen die advanced werden geacht, alleen worden uitgevoerd door een analist bij het team Klantsucces hier op Adobe Commerce Intelligence . Nu is alle macht in handen van de eindgebruiker, en de geavanceerde kolommen kunnen in de vorm van SQL Calculation kolommen op de nieuwe Commerce Intelligence architectuur worden gecreeerd.
Het kolomtype Calculation dat nu beschikbaar is als een optie in Data Warehouse Manager, is dezelfde tabelbewerking waarmee u de kolommen in een tabel kunt transformeren met behulp van de PostSQL-logica. De documentatie over de functies en de exploitanten die in het Calculation kolomtype kunnen worden gebruikt kan op de website PostgreSQL hier worden gevonden.
De verschillende kolommen die met de kolom Calculation kunnen worden gecreeerd zijn bijna onbeperkt, maar de meeste kolommen kunnen worden gecreeerd gebruikend IF-DEN verklaringen en basisrekenkunde, die in de voorbeelden hieronder wordt gebruikt.
Voorbeeld 1: Is de laatste orde van de klant?
De meeste accounts hebben een kolom met de naam Is customer's last order? in hun orders -tabel om analyses uit te voeren op herhaalde aankoopsnelheden en gekochte klanten. Als uw account zich op de nieuwe architectuur bevindt, wordt deze kolom gemaakt met een Calculation -kolom. Deze kolom kan worden weergegeven in de onderstaande schermafbeelding:
De kolom Is customer's last order? gebruikt de invoer Customer's lifetime number of orders en Customer's order number als A respectievelijk B alias.
De betekenis van PostgreSQL is regel voor regel:
- case: Dit begint een reeks instructies 'If'
- als
Anull is ofBnull is, dan null. Als een van de invoerwaarden leeg is, moet de uitvoer ook leeg zijn. Zo voorkomt u SQL-fouten - als
A=BthenYes: ifCustomer's lifetime number of ordersequalsCustomer's order numbervoor deze rij, dan returnYes. Dus als een klant vier bestellingen heeft geplaatst, retourneert de rij voor de vierde bestellingYesforIs customer's last order? - else
No: als geen van de andere instructies wordt uitgevoerd wanneer aan instructies wordt voldaan, retourneert uNo - end: This end the If - then statements
De mogelijke waarden die door deze kolom (NULL, Yes, No) kunnen worden geretourneerd, bevatten niet-numerieke tekens. Het gegevenstype hier is String.
Voorbeeld 2: Het punt van de orde totale waarde (hoeveelheid * prijs)
Veel clients analyseren de omzet graag op itemniveau en segmenteren deze op velden zoals product name of category . De meeste databases geven u niet de inkomsten uit een product in een bestelling, maar leveren de hoeveelheid die in de bestelling wordt verkocht en de prijs van het item.
Voor het analyseren van productinkomsten staat in de meeste accounts een kolom met de naam Order item total value (quantity * price) in de tabel Orders Items . Als uw account zich op de nieuwe architectuur bevindt, wordt deze kolom ook gebouwd met een Calculation -kolom. Deze kolom is zichtbaar in de onderstaande schermafbeelding:
In het Commerce-schema gebruikt de kolom Order item total value (quantity * price) de invoer qty ordered en base price alias als A respectievelijk B .
De waarden die door deze nieuwe kolom worden geretourneerd, zijn in dollars en cent, zodat het juiste gegevenstype Decimal(10,2) is.
Mechanics
Een nieuwe kolom Calculation kan aan een lijst worden toegevoegd door aan Manage Data > Data Warehouse te navigeren zoals hieronder getoond:
Van hieruit kunt u een kolom Calculation maken door de onderstaande stappen te volgen:
-
Selecteer de tabel waaraan u de kolom
Calculationwilt toevoegen. -
Klik op de juiste tabel Create New Column rechtsboven in het scherm.
-
Selecteer in het vervolgkeuzemenu
Select a definitionde optieSame Table. -
Selecteer
Calculationals decolumn definition equation. -
Voer de kolomnaam in.
-
Kies de
inputkolommen van de lijst die in de logica voor uw nieuwe kolom worden gebruikt. Elke kolom die u toevoegt, krijgt een letter-alias. De eerste kolom is dusA, de tweede kolom isBenzovoort. -
Typ in het venster de PostgreSQL-logica voor de nieuwe kolom met behulp van de letteraliassen van uw invoer. De SQL-berekening moet worden beperkt tot één kolomdefinitie, inclusief alle logica tussen de instructies SELECT en FROM van een SQL-query. SQL de sleutelwoorden die om het even welke inputbrieven gebruiken zouden in kleine letters moeten zijn. Wanneer u bijvoorbeeld de instructie
CASEgebruikt, moet deze in kleine letters worden geschreven -case. Het systeem gaat ervan uit dat een hoofdletterAnaar een van de invoeren verwijst. -
Kies het juiste gegevenstype.
Integer- Het gehele getalDecimal(10,2)- een decimaal getal met 10 totale cijfers, waarvan 2 rechts van het decimaalteken staanString- Elk type tekst of reeks tekens die niet-getallen gebruikenDatetime-yyyy-MM-dd hh:mm:ss-indeling
-
Klik op test column. Hierdoor wordt een lijst met vijf testwaarden gegenereerd voor elk van uw inputs en wordt het resultaat van de logica uit stap 6 voor elke set testwaarden weergegeven. Als een gedeelte van de SQL een fout genereert, wordt het juiste foutbericht geretourneerd. Voorbeeldresultaten kunnen alleen worden gegenereerd als alle invoerkolommen native velden zijn. Als om het even welke inputkolommen worden berekend kolommen, moet u de resultaten bevestigen door de kolom aan metrisch toe te voegen en in Visual Report Builder te bekijken
-
Klik op Save als u tevreden bent met het resultaat. De kolom schakelt voor gebruik in.