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 ut data i et meningsfylt format må det sendes en spørring til databasen. En spørring er et spørsmål som ber om bestemte data som svar. Et spørringsspråk, som ShopifyQL, er en standardisert måte å konstruere et slikt spørsmål på. En spørring består av søkeord og tilhørende parametere. Kombinasjonen av flere søkeord med bestemte parametere utgjør spørringen. Når du har bygget spørringen kan du kjøre den og motta et 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.
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

Gruppere data: 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).

Filtrere data: 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.

Sortere data: 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 summen av salg for hvert fakturaland og -område, sortert i omvendt alfabetisk rekkefølge etter fakturaland, og deretter etter fakturaområ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.


Begrens

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.

Er du klar til å begynne å selge med Shopify?

Prøv det gratis