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

Definitioner af ShopifyQL-termer
VilkårDefinition
MålEn 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øgeordShopifyQL-syntaks, der fungerer som en kommando, som bruges til at dirigere din forespørgsel.
MetriskEt kvantitativt måling af data. Almindelige eksempler på parametre omfatter salg i alt, antallet af ordrer og bruttofortjeneste.
ParameterShopifyQL-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øgeordFunktionel brug
FROMAngiver den tabel med datasæt, som dataene skal vælges fra.
SHOWVælger de kolonner, du vil trække ud af tabellen med datasæt.
VISUALIZEViser dine data i en kurve- eller søjlevisualisering.
GROUP BYGrupperer de udtrukne data efter en dimension eller tidsdimensioner.
WHEREDefinerer den betingelse eller de betingelser, som rækker skal opfylde for at kunne blive valgt.
SINCEViser data efter et specifikt tidspunkt i fortiden.
UNTILViser data indtil et specifikt tidspunkt i fortiden.
DURINGViser data efter et specifikt tidspunkt i fortiden.
COMPARE TOViser data indtil et specifikt tidspunkt i fortiden.
ORDER BYAngiver den kolonne, som dataene skal sorteres efter.
LIMITBegrænser det antal rækker med data, som vises.
ASOmdø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.

Tidsmål

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

ShopifyQL-tidsdimensioner
OperatorFunktionel brug
timeGruppering efter time på kalenderdag.
dagGruppering efter kalenderdag.
ugeGruppering efter kalenderuge.
månedGruppering efter kalendermåned.
quarterGruppering efter kalenderkvartal.
årGruppering efter kalenderår.
hour_of_dayGruppering efter 24 timer (1,2,...,24).
day_of_weekGruppering efter ugedag (M,T,O,...,S).
week_of_yearGruppering efter uge i året (1,2,...,52).

Filtreringsdata: HVOR

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
SammenligningsoperatorFunktionel 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 operatorFunktionel brug
ANDFiltrer for at vise alle de rækker, hvor betingelserne, der er adskilt af “AND”, er opfyldt.
ELLERFiltrer for at vise alle de rækker, hvor én af betingelserne, der er adskilt af “OR”, er opfyldt.
NOTFiltrer 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 datoFunktionel brug
-{#}dAntallet af dage siden den dato, hvor forespørgslen blev kørt.
-{#}wAntallet af uger siden den dato, hvor forespørgslen blev kørt.
-{#}mAntallet af måneder siden den dato, hvor forespørgslen blev kørt.
-{#}qAntallet af kvartaler siden den dato, hvor forespørgslen blev kørt.
-{#}yAntallet af år siden den dato, hvor forespørgslen blev kørt.
åååå-mm-ddEn bestemt dato.
i dagDen dato, hvor forespørgslen blev kørt.
i gårDen 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:

ShopifyQL-operatorer for navngivet datointerval
Operator for datointervalFunktionel brug
i dagDen dato, hvor forespørgslen blev kørt.
i gårDen forrige 24-timers periode fra det tidspunkt, hvor forespørgslen blev kørt.
this_weekDen aktuelle kalenderuge.
this_monthDen aktuelle kalendermåned.
this_quarterDet aktuelle kalenderkvartal.
this_yearDet aktuelle kalenderår.
last_weekDen forrige kalenderuge.
last_monthDen forrige kalendermåned.
last_quarterDet forrige kalenderkvartal.
last_yearDet forrige kalenderår.
bfcm2022Fra 25. november til 28. november 2022.
bfcm2021Fra 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: ORDRE EFTER

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 operatorerFunktionel 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
FunktionsoperatorFunktionel 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
*/
Kan du ikke finde de svar, du leder efter? Vi er her for at hjælpe.