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.
På denne siden
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:
Ordliste over 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:
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:
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:
Her er en annen eksempelspørring som bruker en tidsdimensjon for å vise nettosalg per måned:
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:
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:
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:
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:
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:
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:
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:
Forskyvningsoperatører
Du kan filtrere etter bestemte datoer, eller etter datoforskyvninger. Forskyvningsoperatørene for ShopifyQL er:
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:
DURING godtar følgende navngitte operatører for datointervaller:
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.
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.
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:
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:
Matematiske operatører
ShopifyQL tillater aritmetiske operasjoner med måleverdiene i dataene. Følgende matematiske operatører er tilgjengelige:
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.
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:
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:
Her er en gyldig spørring som blander aggregerte felter med aggregerte funksjoner:
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 */
.