Sådan bruger du ShopifyQL i Notebooks

ShopifyQL er Shopifys forespørgselssprog, som er udviklet til handel. Forespørgselssprog bruges til at anmode om og hente data fra databaser. Du kan bruge ShopifyQL med Shopifys Notebooks-app for at udforske din egen virksomheds database og hente data, der giver dig mere dybdegående viden om din virksomhed.

Du kan finde en komplet liste over de tilgængelige værdier og mål, der kan bruges i ShopifyQL Notebook-forespørgsler, i Ordreskemaet og i Produktskemaet.

ShopifyQL – oversigt

Din butiks data gemmes i databasetabeller, som er struktureret i definerede kolonner og rækker. Kolonner definerer den type af informationer, som de indeholder, f.eks. salg, mens rækker angiver den faktiske værdi for datatypen, f.eks. 2.450 USD i salg.

Hvis du vil hente dine data i et format, der har mening, skal du sende en forespørgsel til databasen. En forespørgsel er et spørgsmål, der beder om specifikke data som svar. Et forespørgselssprog, som ShopifyQL, er en standardiseret måde at konstruere dette spørgsmål på. En forespørgsel består af søgeord og deres tilsvarende parametre. Kombinationen af flere søgeord med specifikke parametre opretter din forespørgsel. Når du har oprettet din forespørgsel, kan du køre den og få et svar.

Dette er et eksempel på en ShopifyQL-syntaks, der er skrevet som en forespørgsel. Søgeordene er skrevet med fed, mens deres tilsvarende parametre står i parenteser. De parametre, der vises her, er pladsholdere:

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 }

Ordliste over termer

Definitioner af ShopifyQL-termer
Vilkår Definition
Mål En attribut, der segmenterer data, så de kan sorteres og præsenteres mere tydeligt. Almindelige eksempler på dimensioner omfatter klokkeslæt, produkter og sted. Dimensioner bruges som parametre i ShopifyQL.
Søgeord ShopifyQL-syntaks, der fungerer som en kommando, som bruges til at dirigere din forespørgsel.
Metrisk Et kvantitativt måling af data. Almindelige eksempler på parametre omfatter salg i alt, antallet af ordrer og bruttofortjeneste.
Parameter ShopifyQL-syntaks, der identificerer de databaseelementer eller -oplysninger, der skal medtages i forespørgslen.

Referencetabel for søgeord

Dette er de søgeord, du kan bruge til at skrive din forespørgsel:

Liste over ShopifyQL-søgeord
Søgeord Funktionel brug
FROM Angiver den tabel med datasæt, som dataene skal vælges fra.
SHOW Vælger de kolonner, du vil trække ud af tabellen med datasæt.
VISUALIZE Viser dine data i en kurve- eller søjlevisualisering.
GROUP BY Grupperer de udtrukne data efter en dimension eller tidsdimensioner.
WHERE Definerer den betingelse eller de betingelser, som rækker skal opfylde for at kunne blive valgt.
SINCE Viser data efter et specifikt tidspunkt i fortiden.
UNTIL Viser data indtil et specifikt tidspunkt i fortiden.
DURING Viser data efter et specifikt tidspunkt i fortiden.
COMPARE TO Viser data indtil et specifikt tidspunkt i fortiden.
ORDER BY Angiver den kolonne, som dataene skal sorteres efter.
LIMIT Begrænser det antal rækker med data, som vises.
AS Omdøber en kolonne til et navn, som du vælger.

Sådan skriver du ShopifyQL-forespørgsler

ShopifyQL-forespørgsler varierer fra grundlæggende (data til generelt indblik) til omfattende (detaljeret indblik). Alle søgeord har en specifik funktion, der opretter din forespørgsel.

Grundlæggende ShopifyQL-forespørgsler: “FROM” og “SHOW”

Det kræver kun to søgeord at oprette de mest enkle ShopifyQL-forespørgsler: “FROM” og “SHOW” skrevet i denne rækkefølge. “FROM” efterfulgt af tabelnavnparameteren angiver den tabel, du vil oprette en forespørgsel for. “SHOW” efterfulgt af en kolonnenavnparameter angiver de kolonner, du vil vælge.

Du kan f.eks. angive alle produkt-id'er og deres tilsvarende titler fra salgstabellen ved at skrive denne forespørgsel:

FROM products
  SHOW product_id, product_title

Gruppering af data: “GROUP BY”

Hvis du vil segmentere en parameter efter en dimension, f.eks. for at gruppere salg efter område, skal du bruge søgeordet “GROUP BY”. Du kan kombinere søgeordet “GROUP BY” med alle andre dimensionsparametre.

En forespørgsel, der grupperer leveringspriser i alt efter faktureringsland og -område, skrives f.eks. således:

FROM orders
  SHOW shipping
  GROUP BY billing_country, billing_region

Her er en anden eksempelforespørgsel, der bruger en tidsdimension til at vise nettoomsætning efter måned:

FROM orders
  SHOW net_sales
  GROUP BY month

Ovenstående forespørgsel returnerer ikke de måneder, hvor du ikke har haft nogen salg. Hvis du vil have en forespørgsel, der returnerer en komplet, ikke-afbrudt tidsperiode, skal du bruge modifikatoren “ALL”:

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

Når du bruger modifikatoren “ALL”, skal du også angive SINCE og UNTIL. Bemærk, at modifikatoren “ALL” kun fungerer med tidsdimension.

Tidsdimensioner

Dette er de tidsdimensioner, du kan bruge til at gruppere dine data:

ShopifyQL-tidsdimensioner
Operator Funktionel brug
time Gruppering efter time på kalenderdag.
dag Gruppering efter kalenderdag.
uge Gruppering efter kalenderuge.
måned Gruppering efter kalendermåned.
quarter Gruppering efter kalenderkvartal.
år Gruppering efter kalenderår.
hour_of_day Gruppering efter 24 timer (1,2,...,24).
day_of_week Gruppering efter ugedag (M,T,O,...,S).
week_of_year Gruppering efter uge i året (1,2,...,52).

Filtrering af data: “WHERE”

Søgeordet “WHERE” giver dig mulighed for at anvende et dimensionsfilter til en hel ShopifyQL-forespørgsel.

Hvis du f.eks. ønsker at returnere nettoomsætning, grupperet efter måned, men kun for et specifikt område, vil din forespørgsel være:

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

Som du kan se i ovenstående eksempel, kan du filtrere resultatsættet med parameteren “WHERE”. Dette gælder også, selvom denne parameter ikke er omfattet i søgeordene “SHOW” eller “GROUP BY”. I dette tilfælde filtreres nettoomsætning over alle måneder kun for ordrer med faktureringsadresse i Ohio, selvom "billing-region" ikke er omfattet af resultatsættet.

Sammenligningsoperatorer

Søgeordet “WHERE” bruger sammenligningsoperatorer til at filtrere data. I ovenstående eksempel er “=” blevet brugt til at angive, at forespørgslen filtrerer efter en specifik værdi, men der er andre operatorer tilgængelige for dig:

ShopifyQL-sammenligningsoperatorer
Sammenligningsoperator Funktionel brug
= er lig med
!= ikke lig med
< mindre end
> større end
<= mindre end eller lig med
>= større end eller lig med

Logisk operatorer

Hvis du vil filtrere dine data, kan du føje logiske operatorer til din forespørgsel. De logiske ShopifyQL-operatorer er:

Logiske ShopifyQL-operatorer
Logisk operator Funktionel brug
AND Filtrer for at vise alle de rækker, hvor betingelserne, der er adskilt af “AND”, er opfyldt.
ELLER Filtrer for at vise alle de rækker, hvor én af betingelserne, der er adskilt af “OR”, er opfyldt.
NOT Filtrer for kun at vise de rækker, hvor betingelserne ikke er opfyldt, f.eks. de rækker, der ikke indeholder den angivne værdi.

Du kan bruge flere filtre med søgeordet “WHERE” ved at tilføje logiske operatorer.

Tilføjelse til eksemplet på datasætforespørgslen: Hvis du ønsker en månedlig gruppering af nettoomsætning for alle ordrer, hvor faktureringsadressen var i Ohio, og der var anvendt rabat, vil forespørgslen være:

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

Datointervaller: “SINCE” og “UNTIL”

Hvis du vil filtrere din forespørgsel efter en dato eller en tidsperiode, kan du bruge søgeordene “SINCE” og “UNTIL” samt deres tilknyttede parametre. Disse søgeord er unikke, da de kun filtrerer tidsperioder.

Dette er f.eks. en forespørgsel for at finde nettoomsætning for de seneste 12 måneder i Canada fra og med i dag:

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

Operatorer for relativ dato

Du kan filtrere efter specifikke datoer eller efter relative datoer. ShopifyQL-operatorerne for relativ dato er:

Shopify-operatorer for relativ dato
Operator for relativ dato Funktionel brug
-{#}d Antallet af dage siden den dato, hvor forespørgslen blev kørt.
-{#}w Antallet af uger siden den dato, hvor forespørgslen blev kørt.
-{#}m Antallet af måneder siden den dato, hvor forespørgslen blev kørt.
-{#}q Antallet af kvartaler siden den dato, hvor forespørgslen blev kørt.
-{#}y Antallet af år siden den dato, hvor forespørgslen blev kørt.
åååå-mm-dd En bestemt dato.
i dag Den dato, hvor forespørgslen blev kørt.
i går Den forrige 24-timers periode fra det tidspunkt, hvor forespørgslen blev kørt.

Filtrering af datointervaller: DURING

“DURING”-søgeordet forenkler datofiltrering for datointervaller. Du kan bruge “DURING”-søgeordet til at filtrere forespørgselsresultaterne for en kendt periode, f.eks. et kalenderår eller en specifik måned eller for datointervaller, der har forskellige datoer hvert år, som f.eks. Black Friday/Cyber Monday. For eksempel:

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

DURING accepterer følgende operatorer for navngivet datointerval:

Shopify-operatorer for navngivet datointerval
Operator for datointerval Funktionel brug
i dag Den dato, hvor forespørgslen blev kørt.
i går Den forrige 24-timers periode fra det tidspunkt, hvor forespørgslen blev kørt.
this_week Den aktuelle kalenderuge.
this_month Den aktuelle kalendermåned.
this_quarter Det aktuelle kalenderkvartal.
this_year Det aktuelle kalenderår.
last_week Den forrige kalenderuge.
last_month Den forrige kalendermåned.
last_quarter Det forrige kalenderkvartal.
last_year Det forrige kalenderår.
bfcm2022 Fra 25. november til 28. november 2022.
bfcm2021 Fra 26. november til 29. november 2021.

Sammenligning på tværs af datointervaller: COMPARE TO

“COMPARE TO”-søgeordet giver dig mulighed for at sammenligne data på tværs af datointervallet i DURING og datointervallet i COMPARE TO. Det accepterer alle operatorer for navngivne datointervaller, der er angivet i afsnittet DURING. Den operator, der anvendes af COMPARE TO, skal være samme varighed som den, der anvendes af DURING. DURING this_week COMPARE TO last_week er for eksempel en gyldig kombination, mens DURING this_week COMPARE TO last_month ikke er det.

Følgende eksempel sammenligner nettoomsætningen 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

Sortering af data: “ORDER BY”

Du kan angive, hvordan du vil sortere de data, der returneres til dig af din forespørgsel, ved hjælp af søgeordet “ORDER BY” og dets parametre: “ASC” (for stigende rækkefølge) og “DESC” (for faldende rækkefølge).

Du kan angive enhver parameter eller dimension, som du medtager i din forespørgsel ved hjælp af søgeordet “ORDER BY”, herunder flere felter.

Denne forespørgsel returnerer f.eks. nettoomsætningen for hvert faktureringsland og -område, sorteret i omvendt alfabetisk rækkefølge efter faktureringsland og derefter efter faktureringsområde i hvert land.

FROM orders
  SHOW net_sales
  GROUP BY billing_country, billing_region
  SINCE -1y
  UNTIL today
  ORDER BY billing_country, billing_region DESC

Den rækkefølge, som du skriver dine parametre eller dine dimensioner i. Hvis du angiver flere værdier for "ORDER BY", anvendes sorteringen på alle parametre eller dimensioner i den angivne ordre.


Begræns

Søgeordet “LIMIT” giver dig mulighed for at angive, hvor mange rækker, som forespørgslen returnerer. Dette er nyttigt, når du bare vil opnå en forståelse for, hvordan dataene i hver række ser ud. Du kan også kombinere søgeordet med “ORDER BY”, når du f.eks. vil oprette lister over populære emner.

Dette eksempel bruger "LIMIT" og "ORDER BY" til at oprette en liste over de ti mest solgte produkter efter antal i de sidste tre måneder:

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

Kortlægning af forespørgsler: “VISUALIZE” og “TYPE”

Søgeordet “VISUALIZE” giver dig mulighed for at skrive en ShopifyQL-forespørgsel, der viser data i en kurve- eller søjlevisualisering.

Søgeordet “TYPE” er valgfrit og skal ledsages af “kurve” eller ”søjle”, så din forespørgsel returnerer en visualisering i henholdsvis et kurve- eller søjlediagram. Hvis “TYPE” ikke medtages i din forespørgsel, vil ShopifyQL automatisk beslutte, hvilken visualisering der passer bedst til forespørgslen. Hvis din forespørgsel ikke kan visualiseres som skrevet, vil ShopifyQL returnere dataene i et tabelformat.

Du kan f.eks. visualisere dine salgstendenser i det seneste år efter måned med en tendenslinje. Denne forespørgsel returnerer et tidsseriediagram, som viser bruttoomsætning efter måned i det seneste år. Bruttoomsætningen afspejles med en enkelt linje, hvor X-aksen er måned og Y-aksen er bruttoomsætning:

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

Matematiske operatorer

ShopifyQL tillader algoritmiske handlinger med parametrene i dine data. Følgende matematiske operatorer er tilgængelige:

Shopify-operatorer for relativ dato
Matematiske operatorer Funktionel brug
+ Addition af to tal.
- Subtraktion af to tal.
* Multiplikation af to tal.
/ Division af to tal.

Denne forespørgsel beregner f.eks. ordreværdien for alle områder i det seneste år. Når du bruger matematiske operatorer med parametre, kan du bruge søgeordet “AS” til at tildele et nyt navn til den nye parameter.

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 giver dig mulighed for at aggregere lignende kolonner til pivottabeller i Microsoft Excel. Når du aggregerer kolonner, betyder det, at du kombinerer dem for at oprette en ny værdi. Følgende funktionsoperatorer er tilgængelige i den aktuelle version af ShopifyQL:

Shopify-operatorer for relativ dato
Funktionsoperator Funktionel brug
antal() Antallet af tilfælde i resultatsæt.
sum() Summering af værdierne i resultatsæt.
min.() Minimumværdi i resultatsæt.
maks.() Maksimumværdi i resultatsæt.
gns. () Gennemsnitlig værdi i resultat angivet.

Funktionerne sum, min, maxog avg kan kun bruges sammen med numeriske værdier, mens count kan bruges til at tælle forskellige forekomster af dimensionsattributter. Du kan ikke bruge sammenlagte felter som argument i funktionerne. Sammenlagte felter slutter _sum, _counteller _percent.

Denne forespørgsel returnerer f.eks. en fejl, fordi total_sales allerede er blevet aggregeret:

FROM orders
  SHOW sum(total_sales)

Her er en gyldig forespørgsel, der blander aggregerede felter med aggregatfunktioner:

FROM orders
  SHOW average_order_value, sum(gross_sales)
  GROUP BY billing_region
  SINCE 2021-01-01
  UNTIL 2021-12-31

Denne forespørgsel returnerer den samlede sum af gennemsnitlig ordreværdi, bruttoomsætningen som følge af funktionen sum. Disse parametre opdeles efter faktureringsområde for alle ordrer, der blev afgivet i 2021.


Kommentarer

Du kan bruge kommentarer til af forklare afsnit af ShopifyQL-sætninger eller til at forhindre udførelsen af en ShopifyQL-sætning. Tekst i kommentarer ignoreres under udførelsen.

Kommentarer på én linje starter med -- og slutter med sidst i linjen.

Kommentarer på flere linjer starter med /* og slutter 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
*/

Er du klar til at begynde at sælge med Shopify?

Prøv det gratis