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.
På den här sidan
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:
Ordlista över termer
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:
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:
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:
Här är en annan exempelfråga som använder en tidsdimension för att visa nettoförsäljning per 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:
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:
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:
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ö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:
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:
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:
Kompensationsoperatörer
Du kan filtrera efter specifika datum eller efter datumkompensation. Kompensationsoperatörer för ShopifyQL är:
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:
UNDER accepterar någon av följande operatorer för 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.
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.
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:
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:
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:
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.
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:
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:
Här är en giltig fråga som blandar aggregerade fält med aggregerade funktioner:
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 */
.