Bruke ShopifyQL i Notebooks

ShopifyQL er Shopifys spørringsspråk utviklet for handel. Spørringsspråk brukes til å be om og hente data fra databaser. Du kan bruke ShopifyQL med Shopifys Notebooks-app for å utforske din egen bedriftsdatabase og hente data som gir deg en dypere forståelse av virksomheten.

For en full liste over tilgjengelige verdier og dimensjoner som kan brukes i ShopifyQL Notebook-spørringer kan du se Bestillinger-skjemaet og Produkter-skjemaet.

ShopifyQL-oversikt

Butikkens data lagres i databasetabeller, strukturert i definerte kolonner og rader. Kolonnene definerer hvilken type informasjon de inneholder, som salg, og rader angir den faktiske verdien for datatypen, for eksempel 2450 USD i salg.

For å hente dataene dine i et nyttig format, må en spørring sendes til databasen. En spørring er et spørsmål som ber om bestemte data som et svar. Et spørringsspråk, som ShopifyQL, er en standardisert måte å konstruere slike spørsmål på. En spørring består av søkeord og tilhørende parameter. Kombinasjonen av flere søkeord med bestemte parameter utgjør spørringen. Når du har bygget spørringen, kan du kjøre den og få svar.

Dette er et eksempel på ShopifyQL-syntaks, skrevet som en spørring. Søkeordene er i fet tekst, og tilhørende parametere er i krøllparenteser. Parameterne som vises her er plassholdere:

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 begreper

Definisjoner av ShopifyQL-begreper
Periode Definisjon
Mål En attributt som segmenterer data slik at de kan sorteres og presenteres tydeligere. Vanlige eksempler på dimensjoner er tid, produkter og steder. Dimensjoner brukes som parametere i ShopifyQL.
Søkeord ShopifyQL-syntaks som fungerer som en kommando for å rette spørringen.
Metrisk En kvantitativ måling av data. Vanlige eksempler på måleverdier inkluderer totalomsetning, antall bestillinger og bruttofortjeneste.
Parameter ShopifyQL-syntaks som identifiserer databaseelementene eller detaljene som skal inkluderes i spørringen.

Referansetabell for søkeord

Dette er søkeordene du kan bruke for å skrive spørringen:

Liste over ShopifyQL-søkeord
Søkeord Funksjonell bruk
FROM Angir hvilken datasettabell du vil hente data fra.
SHOW Velger hvilke kolonner du vil hente ut fra datasettabellen.
VISUALIZE Viser dataene i et linje- eller søylediagram.
GROUP BY Grupperer de uthentede dataene i en dimensjon eller tidsdimensjoner.
WHERE Definerer betingelsen(e) radene må oppfylle for å bli valgt.
SINCE Viser data siden et angitt tidspunkt i fortiden.
UNTIL Viser data inntil et bestemt tidspunkt i fortiden.
DURING Viser data siden et angitt tidspunkt i fortiden.
COMPARE TO Viser data inntil et bestemt tidspunkt i fortiden.
ORDER BY Angir hvilken kolonne dataene skal sorteres etter.
LIMIT Begrenser antall rader data som vises.
AS Endrer navnet på en kolonne til et navn du velger.

Skrive ShopifyQL-spørringer

ShopifyQL-spørringer kan variere fra grunnleggende, for datainnsikt på høyt nivå, til omfattende, for detaljert innsikt. Hvert søkeord har en bestemt funksjon som bygger opp spørringen.

Grunnleggende om ShopifyQL: FROM og SHOW

Det krever bare to søkeord for å opprette den enkleste ShopifyQL-spørringen: FROM og SHOW, skrevet i den rekkefølgen. FROM, etterfulgt av et parameter med tabellnavn, angir hvilken tabell du vil rette spørringen til. SHOW, etterfulgt av et parameter med kolonnenavn, angir kolonnene du ønsker å velge.

Du kan for eksempel liste opp alle produkt-ID-er og tilhørende titler fra sales-tabellen ved å skrive denne spørringen:

FROM products
  SHOW product_id, product_title

Gruppedata: GROUP BY

For å segmentere en beregning med en dimensjon, som å gruppere salg etter område, bruker du søkeordet GROUP BY. Søkeordet GROUP BY kan kombineres med alle dimensjonsparametere.

En spørring som grupperer totale fraktpriser etter faktureringsland og -område skrives for eksempel som:

FROM orders
  SHOW shipping
  GROUP BY billing_country, billing_region

Her er en annen eksempelspørring som bruker en tidsdimensjon for å vise nettosalg per måned:

FROM orders
  SHOW net_sales
  GROUP BY month

Spørringen ovenfor returnerer ikke måneder uten salg. Hvis du ønsker en spørring som returnerer en fullstendig, uavbrutt tidsperiode kan du bruke modifikatoren ALL:

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

Når du bruker modifikatoren ALL må du også angi SINCE og UNTIL. Merk at modifikatoren ALL bare fungerer med tidsdimensjonen.

Tidsdimensjoner

Dette er tidsdimensjonene som kan brukes til å gruppere data:

Tidsdimensjoner i ShopifyQL
Operatør Funksjonell bruk
time Gruppering etter time av en kalenderdag.
dag Grupperer etter kalenderdag
uke Grupperer etter kalenderuke
måned Gruppere etter kalendermåned.
kvartal Gruppere etter kalenderkvartal.
år Gruppere etter kalenderår.
hour_of_day Gruppere etter 24 timer (1,2,…,24).
day_of_week Gruppere etter ukedag (M,T,W,…,S).
week_of_year Gruppere etter uke i året (1,2,…,52).

Filtreringsdata: WHERE

Søkeordet WHERE lar deg legge til et dimensjonalt filter på en hel ShopifyQL-spørring.

Hvis du for eksempel ønsker å returnere nettosalg, gruppert etter måned, men bare for et bestemt område, blir spørringen:

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

Som du kan se i eksempelet ovenfor, kan du filtrere resultatsettet med WHERE-parameteret selv om denne parameteren ikke er inkludert i søkeordene SHOW eller GROUP BY. I dette tilfellet filtreres nettosalg over alle måneder for bestillinger med en fakturaadresse i Ohio, selv om billing_region ikke inkluderes i resultatsettet.

Sammenligningsoperatører

Søkeordet WHERE bruker sammenligningsoperatører for å filtrere data. I eksempelet ovenfor brukes «=» for å spesifisere at spørringen filtrerer på en bestemt verdi, men det finnes også andre tilgjengelige operatører:

ShopifyQL-sammenligningsoperatører
Sammenligningsoperatør Funksjonell bruk
= er lik
!= er ikke lik
< mindre enn
> større enn
<= mindre enn eller lik
>= større enn eller lik

Logiske operatører

For å filtrere dataene ytterligere kan du legge til logiske operatører i spørringen. De logiske operatørene for ShopifyQL er:

Logiske operatører for ShopifyQL
Logisk operatør Funksjonell bruk
AND Filtrer for å vise alle rader der betingelsene adskilt med AND er oppfylt.
OR Filtrer for å vise alle rader der minst én av betingelsene adskilt med OR er oppfylt.
NOT Filtrer for å bare vise rader der betingelsene ikke er oppfylt, som for eksempel rader som ikke inneholder den angitte verdien.

Du kan bruke flere filtre med søkeordet WHERE ved å legge til logiske operatører.

For å bygge ut eksempelspørringen og få en månedlig gruppering av nettosalg for alle bestillinger der fakturaadressen var i Ohio og det ble brukt en rabatt blir spørringen:

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 ønsker å filtrere spørringen etter en dato eller en tidsperiode kan du bruke søkeordene SINCE og UNTIL, og deres tilhørende parametere. Disse søkeordene er unike fordi de bare filtrerer tidsperioder.

Dette er for eksempel en spørring for å finne nettosalg over de siste 12 månedene, i Canada, fra i dag:

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

Forskyvningsoperatører

Du kan filtrere etter bestemte datoer, eller etter datoforskyvninger. Forskyvningsoperatørene for ShopifyQL er:

Forskyvningsoperatører for ShopifyQL
Forskyvningsoperatør Funksjonell bruk
-{#}d Antall dager fra den dagen spørringen kjøres.
-{#}w Antall uker siden fra dagen spørringen kjøres.
-{#}m Antall måneder siden fra dagen spørringen kjøres.
-{#}q Antall kvartaler siden fra dagen spørringen kjøres.
-{#}y Antall år siden fra dagen spørringen kjøres.
åååå-mm-dd En bestemt dato.
i dag Datoen spørringen kjøres.
i går Forrige 24-timersperiode fra tidspunktet spørringen kjøres.

Filtrere datointervaller: DURING

Søkeordet DURING forenkler datofiltrering for datointervaller. Du kan bruke søkeordet DURING til å filtrere spørringsresultatene for en kjent tidsperiode, som et kalenderår eller en bestemt måned, eller for datointervaller med ulike datoer hvert år, som Black Friday Cyber Monday. For eksempel:

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

DURING godtar følgende navngitte operatører for datointervaller:

ShopifyQL-navngitte datointervalloperatører
Datointervalloperatør Funksjonell bruk
i dag Datoen spørringen kjøres.
i går Forrige 24-timersperiode fra tidspunktet spørringen kjøres.
this_week Den gjeldende kalenderuken.
this_month Den gjeldende kalendermåneden.
this_quarter Gjeldende kalenderkvartal.
this_year Inneværende kalenderår.
last_week Forrige kalenderuke.
last_month Forrige kalendermåned.
last_quarter Forrige kalenderkvartal.
last_year Forrige kalenderår.
bfcm2022 25. november til 28. november 2022.
bfcm2021 26. til 29. november 2021.

Sammenligning på tvers av datointervaller: COMPARE TO

Med søkeordet COMPARE TO kan du sammenligne data på tvers av datointervallet i DURING og datointervallet i COMPARE TO. Den godtar de navngitte datointervalloperatørene som er oppført i seksjonen DURING. Operatøren som brukes av COMPARE TO må være samme lengde som den som brukes av DURING. Kombinasjonen DURING this_week COMPARE TO last_week er for eksempel en gyldig kombinasjon, men DURING this_week COMPARE TO last_month er ikke gyldig.

Følgende eksempel sammenligner nettosalg 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

Sorteringsdata: ORDER BY

Du kan angi hvordan du ønsker at dataene som returneres av spørringen sorteres ved å bruke søkeordet ORDER BY og tilhørende parametere: ASC, for stigende rekkefølge, og DESC, for synkende rekkefølge.

Du kan spesifisere en hvilken som helst beregning eller dimensjon i spørringen i søkeordet ORDER BY, inkludert flere felter.

Denne spørringen returnerer for eksempel nettosalg for hvert faktureringsland og -område, sortert i omvendt alfabetisk rekkefølge etter faktureringsland, og deretter etter faktureringsområde innenfor hvert land.

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

Rekkefølgen du skriver beregninger eller dimensjoner er viktig. Hvis du angir flere verdier for ORDER BY brukes sorteringen for hver enkelt beregning eller dimensjon i den oppgitte rekkefølgen.


Begrense

Søkeordet LIMIT lar deg angi hvor mange rader spørringen skal returnere. Dette er nyttig når du ønsker å forstå hvordan dataene i hver enkelt kolonne ser ut. Du kan også kombinere den med ORDER BY for å skape lister over mest eller minst populære.

Dette eksempelet bruker LIMIT og ORDER BY til å opprette en liste over de ti bestselgende produktene målt i antall over de siste tre månedene:

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

Kartlegge spørringer: VISUALIZE og TYPE

Med søkeordet VISUALIZE kan du skrive en ShopifyQL-spørring som viser data i et linje- eller søylediagram.

Søkeordet TYPE er valgfritt, og må kombineres med «line» eller «bar» slik at spørringen returnerer en visualisering i enten et linje- eller søylediagram. Hvis TYPE ikke er inkludert i spørringen avgjør ShopifyQL automatisk hvilken visualisering som passer best til spørringen. Hvis spørringen ikke kan visualiseres som skrift returnerer ShopifyQL tabelldata.

Du kan for eksempel visualisere salgstrender over det siste året etter måned med en trendlinje. Denne spørringen returnerer et tidsseriediagram som viser bruttosalg per måned over det siste året. Bruttosalget presenteres som en enkeltlinje, der x-aksen er merket som måned og y-aksen er merket som bruttosalg:

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

Matematiske operatører

ShopifyQL tillater aritmetiske operasjoner med måleverdiene i dataene. Følgende matematiske operatører er tilgjengelige:

Forskyvningsoperatører for ShopifyQL
Matematisk operatør Funksjonell bruk
+ Addisjon av to tall.
Subtraksjon av to tall.
* Multiplisering av to tall.
/ Deling av to tall.

Denne spørringen beregner for eksempel bestillingsverdi for hvert område over det siste året. Når du bruker matematiske operatører med måleverdier kan du bruke søkeordet AS for å tilordne et nytt navn til den nye måleverdien.

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

Funksjoner

ShopifyQL-funksjoner lar deg aggregere kolonner, på samme måte som pivottabeller i Microsoft Excel. Ved å aggregere kolonner kombinerer du dem for å skape en ny verdi. Følgende funksjonsoperatører er tilgjengelige i den gjeldende versjonen av ShopifyQL:

Forskyvningsoperatører for ShopifyQL
Funksjonsoperatør Funksjonell bruk
count() Antall forekomster i resultatsettet.
sum() Summeringen av verdier i resultatsettet.
min() Minimumsverdien i resultatsettet.
max() Maksimumsverdi i resultatsettet.
avg() Gjennomsnittlig verdi i resultatsettet.

Funksjonene sum, min, max og avg kan bare brukes med numeriske verdier, mens count kan brukes til å telle ulike forekomster av dimensjonsattributter. Du kan ikke bruke aggregerte felt som argumenter i funksjonene. Aggregerte felter slutter på _sum, _count eller _percent.

Denne spørringen returnerer for eksempel en feil, fordi total_sales allerede er aggregert:

FROM orders
  SHOW sum(total_sales)

Her er en gyldig spørring som blander aggregerte felter med aggregerte funksjoner:

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

Denne spørringen returnerer den aggregerte summen for gjennomsnittlig bestillingsverdi, bruttosalgssummen som et resultat av sum-funksjonen. Disse beregningene brytes ned på fakturaområde for alle bestillinger som er lagt inn i 2021.


Kommentarer

Du kan bruke kommentarer til å forklare seksjoner av ShopifyQL-kommandoer, eller til å forhindre kjøring av en ShopifyQL-kommando. All tekst i en kommentar ignoreres ved kjøring.

Kommentarer med én linje starter med -- og avslutter der linjen slutter.

Kommentarer med 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 å begynne å selge med Shopify?

Prøv det gratis