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.

En förfrågan måste skickas till databasen för att du ska kunna hämta dina data i ett meningsfullt format. En förfrågan är en fråga som ber om specifik data som svar. Ett frågespråk, som ShopifyQL, är ett standardiserat sätt att formulera förfrågan. En förfrågan består av sökord och deras motsvarande parametrar. Kombinationen av flera sökord med specifika parametrar skapar din förfrågan. 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:

FROM { table_name }
  SHOW { column1, column2, ... }
  GROUP BY { dimension | date_group }
  WHERE { condition }
  SINCE { date_offset }
  UNTIL { date_offset }
  ORDER BY { column } DESC
  LIMIT { 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.
UNDER Visar data sedan en angiven tid i det förflutna.
JÄMFÖR MED 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:

FROM products
  SHOW product_id, product_title

Gruppera data: GROUP BY

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:

FROM orders
  SHOW shipping
  GROUP BY 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:

FROM orders
  SHOW net_sales
  GROUP BY month

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: VAR

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:

FROM orders
  SHOW net_sales
  GROUP BY month ALL
  WHERE billing_region = 'ohio'
  SINCE last_year
  UNTIL today

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:

FROM orders
  SHOW net_sales
  GROUP BY month ALL
  WHERE billing_region = 'ohio' AND discounts > 0
  SINCE last_year
  UNTIL today

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.

Filtrering på datumintervall: DURING

UNDER-sökordet förenklar datumfiltrering för datumintervall. Du kan använda sökordet UNDER för att filtrera frågeresultaten för en känd tidsperiod, till exempel ett kalenderår eller en specifik månad, eller datumintervall som har olika datum varje år, till exempel Black Friday Cyber Monday. Till exempel:

FROM orders
  SHOW sum(net_sales)
  GROUP BY day ALL
  DURING bfcm2021

UNDER accepterar någon av följande operatorer för datumintervall:

ShopifyQL-operatorer med namn på datumintervall
Operatorn för datumintervall Funktionell användning
i dag Det datum då frågan körs.
i går Föregående 24 timmar från den tidpunkt då frågan körs.
this_week Den aktuella kalenderveckan.
this_month Den aktuella kalendermånaden.
this_quarter Innevarande kalenderkvartal.
this_year Innevarande kalenderår.
last_week Föregående kalendervecka.
last_month Föregående kalendermånad.
last_quarter Föregående kalenderkvartal.
last_year Föregående kalenderår.
bfcm2022 25-28 november 2022.
bfcm2021 26–29 november 2021.

Jämförelse mellan datumintervall: COMPARE TO

Sökordet JÄMFÖR MED låter dig jämföra data mellan datumintervallet i UNDER och det i JÄMFÖR MED. Den accepterar de angivna operatorer för datumintervall som listas i avsnittet UNDER. Operatorn som används av JÄMFÖR MED måste ha samma tidslängd som den som används av UNDER. Till exempel är DURING this_week COMPARE TO last_week en giltig kombination men DURING this_week COMPARE TO last_month är inte det.

Följande exempel kan jämföra nettoförsäljningen under Black Friday Cyber Monday 2022 med Black Friday Cyber Monday 2021.

FROM orders
  SHOW sum(net_sales)
  GROUP BY day ALL
  DURING bfcm2022
  COMPARE TO bfcm2021

Sortera data: ORDNA EFTER

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 nettoförsäljningen för varje faktureringsland och faktureringsregion, sorterad i omvänd alfabetisk ordning efter faktureringsland och sedan efter faktureringsregion inom varje land.

FROM orders
  SHOW net_sales
  GROUP BY billing_country, billing_region
  SINCE -1y
  UNTIL today
  ORDER BY 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.


Begränsning

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:

FROM products
  SHOW net_product_quantity
  GROUP BY product_title
  SINCE -3m
  UNTIL today
  ORDER BY net_product_quantity DESC
  LIMIT 10

Kartlägg dina frågor: VISUALIZE och TYPE

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:

FROM orders
  SHOW average_order_value, sum(gross_sales)
  GROUP BY billing_region
  SINCE 2021-01-01
  UNTIL 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.


Kommentarer

Du kan använda kommentarer för att förklara avsnitt i ShopifyQL-satser eller för att förhindra körningen av en ShopifyQL-sats. Text i en kommentar ignoreras under körningstiden.

Enkelradskommentarer börjar -- och slutar på slutet av raden.

Kommentarer med flera rader börjar med /* och slutar med */.

FROM orders
  SHOW average_order_value, sum(gross_sales)
  -- the line below has been commented out and will not run
  -- GROUP BY billing_region
  WHERE billing_country = 'United States'
  /*
  this line and the two lines below it have been commented out and will not run
  SINCE 2021-01-01
  UNTIL 2021-12-31
*/

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

Prova gratis