Använda ShopifyQL i Notebooks

ShopifyQL är Shopifys frågespråk som skapats för handel. Frågespråk används för att begära och hämta data från databaser. Du kan använda ShopifyQL med Shopifys Notebooks-app för att utforska databasen för ditt eget företag och hämta data som ger dig en mer detaljerad förståelse för ditt företag.

Se orderschemat och produktschemat för en fullständig lista över tillgängliga värden och mått som kan användas i ShopifyQL Notebook-förfrågningar.

ShopifyQL-översikt

Din butiks data lagras i databastabeller, strukturerade i definierade kolumner och rader. Kolumner definierar vilken typ av information de innehåller, till exempel försäljning och rader anger det faktiska värdet för datatypen, till exempel 2 450 USD i försäljning.

För att hämta dina data i ett meningsfullt format måste en förfrågan skickas till databasen. En förfrågan är en fråga som kräver specifik data som svar. Ett frågespråk, såsom ShopifyQL, är ett standardiserat sätt att konstruera den frågan. En fråga består av sökord och deras motsvarande parametrar. Kombinationen av flera sökord med specifika parametrar bygger din fråga. När du har skapat din förfrågan kan du köra den och få ett svar.

Detta är ett exempel på syntax för ShopifyQL som skrivs ut som en fråga. Sökorden är fetstilta, deras motsvarande parametrar är inom parentes. Parametrarna som visas här är platshållare:

**FRÅN**{ table_name }**VISA** { column1, column2, ... }**GRUPPERA EFTER**{ dimension | date_group }**DÄR**{ condition }**SEDAN**{ date_offset }**TILLS**{ date_offset }**ORDNA EFTER**{ column } FALLANDE**BEGRÄNSNING**{ count }

Ordlista över termer

Definitioner av ShopifyQL-villkor
Villkor Definition
Dimension Ett attribut som segmenterar data så att de kan sorteras och presenteras mer tydligt. Vanliga exempel på mått inkluderar tid, produkter och platser. Mått används som parametrar i ShopifyQL.
Sökord ShopifyQL-syntax som fungerar som ett kommando för att rikta din förfrågan.
Mätvärden En kvantitativ mätning av data. Vanliga exempel på mätvärden inkluderar total försäljning, antal ordrar och bruttovinst.
Parameter ShopifyQL-syntax som identifierar de databaselement eller detaljer som ska ingå i din förfrågan.

Referenstabell för sökord

De här sökorden kan du använda för att skriva din förfrågan:

Lista över sökord i ShopifyQL
Sökord Funktionell användning
FROM Anger vilken dataset-tabell du vill välja data från.
SHOW Väljer de kolumner du vill extrahera från dataset-tabellen.
VISUALIZE Visar dina data i en rad- eller fält-visualisering.
GRUPPERA EFTER Grupperar extraherade data efter en dimension eller tidsdimension.
DÄR Definierar villkor som rader måste uppfylla för att väljas.
SINCE Visar data sedan en angiven tid i det förflutna.
UNTIL Visar data fram till en viss historisk tidpunkt.
ORDER BY Anger vilken kolumn som data ska sorteras efter.
LIMIT Begränsar antalet rader med data som visas.
AS Byter namn på en kolumn till det namn du väljer.

Skriva ShopifyQL-frågor

ShopifyQL-frågor kan variera från grundläggande, för datainsikter på hög nivå till omfattande, för detaljerade insikter. Varje sökord har en specifik funktion som bygger ut din förfrågan.

Grunderna i ShopifyQL: FROM och SHOW

Det krävs endast två nyckelord för att skapa den enklaste ShopifyQL-frågan: FROM och SHOW, skrivna i den ordningen. FROM, följt av en parameter för tabellnamn anger vilken tabell du vill söka i. SHOW, följt av en kolumnnamnsparameter anger de kolumner du vill välja.

Du kan till exempel lista alla produkt-ID:er och deras motsvarande titlar från försäljningstabellen genom att skriva den här frågan:

**FRÅN**produkter**VISA**product_id, product_title

Gruppera data: GRUPPERA EFTER

Om du vill segmentera ett mätvärde efter en dimension, till exempel gruppera försäljning efter region, använder du sökordet GRUPPERA EFTER. Sökordet GRUPPERA EFTER kan paras med valfri dimensionsparameter.

Till exempel skrivs en fråga som grupperar totala leveranskostnader efter faktureringsland och -region som:

**FRÅN**ordrar**VISA**leverans**GRUPPERA EFTER**billing_country, billing_region

Här är en annan exempelfråga som använder en tidsdimension för att visa nettoförsäljning per månad:

**FRÅN**ordrar**VISA**net_sales**GRUPPERA EFTER**månad

Ovanstående fråga returnerar inte några månader där du inte har någon försäljning. Om du vill ha en fråga som returnerar en fullständig, oavbruten tidsperiod använder du ALLA-ändringen:

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**SINCE**last_year**UNTIL**today

När du använder modifieraren ALLA måste du också ange SEDAN och TILLS. Observera att modifieraren ALLA endast fungerar med tidsdimensionen.

Tidsdimensioner

Det här är tidsdimensionerna som du kan använda för att gruppera dina data:

Tidsdimensioner för ShopifyQL
Operator Funktionell användning
timme Gruppera efter timme per kalenderdag.
dag Gruppering efter kalenderdag.
vecka Gruppering efter kalendervecka.
månad Gruppera efter kalendermånad.
kvartal Gruppera efter kalenderkvartal.
år Gruppera efter kalenderår.
hour_of_day Gruppera efter 24 timmar (1,2,...,24).
day_of_week Gruppera efter veckodag (M,T,O,...,S).
week_of_year Gruppera efter vecka på året (1,2,...,52).

Filtrera data: WHERE

Sökordet WHERE låter dig tillämpa ett dimensionellt filter på en hel ShopifyQL-fråga.

Om du till exempel vill returnera nettoförsäljning, grupperat efter månad, men endast för en specifik region, är din fråga:

**FRÅN**ordrar**VISA**net_sales**GRUPPERA EFTER**månad ALLA**DÄR**billing_region = 'ohio'**SEDAN**last_year**FRAM TILL**idag

Som du kan se i exemplet ovan kan du filtrera resultatet inställt med VAR-parametern även om den parametern inte ingår i sökorden VISA eller GRUPPERA EFTER. I det här fallet filtreras nettoförsäljningen över alla månader för ordrar med endast en faktureringsadress i Ohio, även om billing_region inte ingår i resultat-uppsättningen.

Jämförelseoperatorer

Sökordet WHERE använder jämförelseoperatorer för att filtrera data. I exemplet ovan användes ‘=’ för att specificera att frågan filtrerar på ett specifikt värde, men det finns andra operatörer tillgängliga för dig:

Jämförelseoperatörer för ShopifyQL
Jämförelseoperator Funktionell användning
= lika med
!= inte lika med
< mindre än
> större än
<= är mindre än eller lika med
>= är större än eller lika med

Logisk operator

För att filtrera dina data ytterligare kan du lägga till logiska operatörer i din fråga. De logiska operatörerna för ShopifyQL är:

Logiska operatörer för ShopifyQL
Logisk operatör Funktionell användning
AND Filtrera för att visa alla rader där villkoren separerade med AND är uppfyllda.
OR Filtrera för att visa alla rader där något av villkoren separerade med OR är uppfyllda.
NOT Filtrera för att bara visa rader där villkoren inte är uppfyllda, till exempel rader som inte innehåller det angivna värdet.

Du kan använda flera filter med sökordet WHERE genom att lägga till logiska operatörer.

Om du lägger till datauppsättningsfrågan till exemplet är, för att få en månatlig gruppering av nettoförsäljning för alla ordrar där faktureringsadressen var i Ohio och det fanns en rabatt tillämpad, förfrågan:

**FRÅN**ordrar**VISA**net_sales**GRUPPERA EFTER**månad ALLA**DÄR**billing_region = 'ohio' OCH rabatter > 0**SEDAN**last_year**FRAM TILL**idag

Datumintervall: SINCE och UNTIL

Om du vill filtrera din fråga efter ett datum eller en viss tidsperiod kan du använda sökorden SINCE och UNTIL och deras tillhörande parametrar. Dessa sökord är unika eftersom de bara filtrerar tidsperioder.

Det här är till exempel en fråga för att hitta nettoförsäljning under de senaste 12 månaderna, i Kanada, med början idag:

**FROM**orders**SHOW**net_sales**GROUP BY**month ALL**WHERE**billing_country = 'Canada'**SINCE**-12m**UNTIL**today

Kompensationsoperatörer

Du kan filtrera efter specifika datum eller efter datumkompensation. Kompensationsoperatörer för ShopifyQL är:

Kompensationsoperatörer för ShopifyQL
Kompensationsoperator Funktionell användning
-{#}d Antal dagar sedan från den dag då frågan körs.
-{#}w Antal veckor sedan från dagen då en fråga körs.
-{#}m Antal månader sedan från dagen då en fråga körs.
-{#}q Antal kvartal sedan från dagen då en fråga körs.
-{#}y Antal år sedan från dagen då en fråga körs.
åååå-mm-dd Ett specifikt datum.
i dag Datum när frågan körs.
i går Föregående 24 timmar från den tidpunkt då frågan körs.

Sortera data: ORDER BY

Du kan ange hur du vill sortera data som returneras av din fråga med hjälp av ORDER BY sökordet och dess parametrar: ASC, för stigande ordning och DESC, för fallande ordning.

Du kan ange mätvärden eller mått som du inkluderar i din fråga i sökordet ORDER BY, inklusive flera fält.

Den här frågan returnerar till exempel summan av försäljningen för varje faktureringsland och -region, sorteras i omvänd alfabetisk ordning efter faktureringsland och sedan efter faktureringsregion inom varje land.

**FRÅN**ordrar**VISA**net_sales**GRUPPERA EFTER**billing_country, billing_region**SEDAN**-1y**FRAM TILL**idag**ORDNA EFTER**billing_country, billing_region DESC

Den ordning du skriver dina mätvärden eller mått i spelar roll. Om du anger flera värden för ORDER BY tillämpas sorteringen på varje mätvärde eller mått i den angivna ordern.


Gräns

Med sökordet LIMIT kan du ange hur många rader frågan returnerar. Detta är användbart när du helt enkelt vill förstå utseendet på data i varje kolumn. Eller så kan du kombinera det med ORDER BY för att skapa topp- och bottenlistor.

Det här exemplet använder LIMIT och ORDER BY för att skapa en lista över 10 försäljningsprodukter efter kvantitet under de senaste tre månaderna:

**FRÅN**produkter**VISA**net_product_quantity**GRUPPERA EFTER**product_title**SEDAN**-3m**FRAM TILLS**idag**ORDNA EFTER**net_product_quantity DESC**GRÄNS**10

Kartlägg dina frågor: VISUALISERA och TYP

Med hjälp av sökordet VISUALIZE kan du skriva en ShopifyQL-fråga som visar data på en linje eller en stapel.

Sökordet TYP är valfritt och måste vara tillsammans med ‘linje‘ eller ‘fält‘ så att din fråga returnerar en visualisering i antingen ett linjediagram eller ett stapeldiagram. Om TYP inte ingår i din förfrågan beslutar ShopifyQL automatiskt vilken av visualiseringarna som bäst passar din förfrågan. ShopifyQL returnerar tabelldata om din fråga inte kan visualiseras skriftligen.

Du kan till exempel visualisera din försäljningstrend under det senaste året efter månad med en trendlinje. Den här frågan returnerar ett tidsseriediagram som visar bruttoförsäljning efter månad under det senaste året. Bruttoförsäljningen visas med en enda linje, med x-axeln märkt månad och y-axeln märkt bruttoförsäljning:

**FROM**orders**VISUALIZE**gross_sales**TYPE**line**GROUP BY**month ALL**SINCE**-1y**UNTIL**today

Matematiska operatörer

ShopifyQL möjliggör aritmetiska åtgärder med mätvärden i dina data. Följande matematiska operatörer är tillgängliga:

Kompensationsoperatörer för ShopifyQL
Matematisk operatör Funktionell användning
+ Addition av två tal.
- Subtraktion av två tal.
* Multiplikation av två tal.
/ Division av två tal.

Den här frågan beräknar till exempel ordervärdet för varje region under det senaste året. När du använder matematiska operatörer med mätvärden kan du använda sökordet AS för att tilldela ett nytt namn till det nya mätvärdet.

**FROM**orders**SHOW**(net_sales + returns) AS order_value, orders, (net_sales + returns)/orders AS sales_per_order**GROUP BY**billing_region**SINCE**-1y**UNTIL**today

Funktioner

ShopifyQL-funktioner gör det möjligt för dig att aggregera kolumner som liknar pivottabeller i Microsoft Excel. Aggregera kolumner innebär att du kombinerar dem för att skapa ett nytt värde. Följande funktionsoperatörer är tillgängliga i den aktuella versionen av ShopifyQL:

Kompensationsoperatörer för ShopifyQL
Funktionsoperatör Funktionell användning
count() Antal fall i resultatuppsättningen.
sum() Summan av värden i resultatuppsättningen.
min() Lägsta värdet i resultatuppsättningen.
max() Maxvärde i resultatuppsättning.
avg() Genomsnittligt resultatvärde inställt.

Funktionerna sum, min, max och avg kan endast användas med numeriska värden medan count kan användas för att räkna olika förekomster av dimensionella attribut. Du kan inte använda aggregerade fält som argument i funktionerna. Aggregerade fält slutar med _sum, _count eller _percent.

Den här frågan returnerar till exempel ett fel eftersom total_sales redan har aggregerats:

**FROM**orders**SHOW**sum(total_sales)

Här är en giltig fråga som blandar aggregerade fält med aggregerade funktioner:

**FRÅN**ordrar**VISA**average_order_value, sum(gross_sales)**GRUPPERA EFTER**billing_region**SEDAN**2021-01-01**FRAM TILLS**2021-12-31

Den här frågan returnerar den sammanlagda summan av genomsnittligt ordervärde, bruttoförsäljningssumma som ett resultat av funktionen sum. Mätvärdena fördelas efter faktureringsregion för alla ordrar som lagts under 2021.

Är du redo att börja sälja med Shopify?

Prova gratis