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 brukeShopifyQLmed 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 seBestillinger-skjemaetogProdukter-skjemaet.
På denne siden
ShopifyQL-oversikt
Butikkens数据lagres我databasetabeller合写ert 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,...}GROUPBY{dimension|date_group}WHERE{condition}SINCE{date_offset}UNTIL{date_offset}ORDERBY{column}DESCLIMIT{count}
或dliste 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 | 格勒乌pperer 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.
格勒乌nnleggende 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:
FROMproductsSHOWproduct_id,product_title
格勒乌ppedata: GROUP BY
For å segmentere enberegningmed endimensjon, 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:
FROMordersSHOWshippingGROUPBYbilling_country,billing_region
她嗯嗯annen eksempelspø结构som力量tidsdimensjonfor å vise nettosalg per måned:
FROMordersSHOWnet_salesGROUPBYmonth
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:
FROMordersSHOWnet_salesGROUPBYmonthALLSINCElast_yearUNTILtoday
Nar du力量modifikatoren所有马du ogsa安吉人SINCEogUNTIL. Merk at modifikatoren ALL bare fungerer medtidsdimensjonen.
Tidsdimensjoner
Dette er tidsdimensjonene som kan brukes til å gruppere data:
| Operatør | Funksjonell bruk |
|---|---|
| time | 格勒乌ppering etter time av en kalenderdag. |
| dag | 格勒乌pperer etter kalenderdag |
| uke | 格勒乌pperer etter kalenderuke |
| måned | 格勒乌ppere etter kalendermåned. |
| kvartal | 格勒乌ppere etter kalenderkvartal. |
| år | 格勒乌ppere etter kalenderår. |
| hour_of_day | 格勒乌ppere etter 24 timer (1,2,…,24). |
| day_of_week | 格勒乌ppere etter ukedag (M,T,W,…,S). |
| week_of_year | 格勒乌ppere 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:
FROMordersSHOWnet_salesGROUPBYmonthALLWHEREbilling_region='ohio'SINCElast_yearUNTILtoday
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:
FROMordersSHOWnet_salesGROUPBYmonthALLWHEREbilling_region='ohio'ANDdiscounts>0SINCElast_yearUNTILtoday
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:
FROMordersSHOWnet_salesGROUPBYmonthALLWHEREbilling_country='Canada'SINCE-12mUNTILtoday
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:
FROMordersSHOWsum(net_sales)GROUPBYdayALLDURINGbfcm2021
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 seksjonenDURING. Operatøren som brukes av COMPARE TO må være samme lengde som den som brukes av DURING. KombinasjonenDURING this_week COMPARE TO last_weeker for eksempel en gyldig kombinasjon, menDURING this_week COMPARE TO last_monther ikke gyldig.
Følgende eksempel sammenligner nettosalg under Black Friday Cyber Monday 2022 med Black Friday Cyber Monday 2021.
FROMordersSHOWsum(net_sales)GROUPBYdayALLDURINGbfcm2022COMPARETObfcm2021
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.
FROMordersSHOWnet_salesGROUPBYbilling_country,billing_regionSINCE-1yUNTILtodayORDERBYbilling_country,billing_regionDESC
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:
FROMproductsSHOWnet_product_quantityGROUPBYproduct_titleSINCE-3mUNTILtodayORDERBYnet_product_quantityDESCLIMIT10
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:
FROMordersVISUALIZEgross_salesTYPElineGROUPBYmonthALLSINCE-1yUNTILtoday
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.
FROMordersSHOW(net_sales+returns)ASorder_value,orders,(net_sales+returns)/ordersASsales_per_orderGROUPBYbilling_regionSINCE-1yUNTILtoday
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我resultatsettet。 |
| min() | Minimumsverdien i resultatsettet. |
| max() | Maksimumsverdi i resultatsettet. |
| avg() | Gjennomsnittlig verdi i resultatsettet. |
Funksjonenesum,min,maxogavgkan bare brukes med numeriske verdier, menscountkan brukes til å telle ulike forekomster av dimensjonsattributter. Du kan ikke bruke aggregerte felt som argumenter i funksjonene. Aggregerte felter slutter på_sum,_counteller_percent.
Denne spørringen returnerer for eksempel en feil, fordi total_sales allerede er aggregert:
FROMordersSHOWsum(total_sales)
Her er en gyldig spørring som blander aggregerte felter med aggregerte funksjoner:
FROMordersSHOWaverage_order_value,sum(gross_sales)GROUPBYbilling_regionSINCE2021-01-01UNTIL2021-12-31
Denne spørringen returnerer den aggregerte summen for gjennomsnittlig bestillingsverdi, bruttosalgssummen som et resultat avsum-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*/.
FROMordersSHOWaverage_order_value,sum(gross_sales)-- the line below has been commented out and will not run-- GROUP BY billing_regionWHEREbilling_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 */