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.
På denne side
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:
Ordliste
Vilkår | Definition |
---|---|
Mål | En 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øgeord | ShopifyQL-syntaks, der fungerer som en kommando, som bruges til at dirigere din forespørgsel. |
Metrisk | Et kvantitativt måling af data. Almindelige eksempler på parametre omfatter salg i alt, antallet af ordrer og bruttofortjeneste. |
Parameter | ShopifyQL-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:
Søgeord | Funktionel brug |
---|---|
FROM | Angiver den tabel med datasæt, som dataene skal vælges fra. |
SHOW | Vælger de kolonner, du vil trække ud af tabellen med datasæt. |
VISUALIZE | Viser dine data i en kurve- eller søjlevisualisering. |
GROUP BY | Grupperer de udtrukne data efter en dimension eller tidsdimensioner. |
WHERE | Definerer den betingelse eller de betingelser, som rækker skal opfylde for at kunne blive valgt. |
SINCE | Viser data efter et specifikt tidspunkt i fortiden. |
UNTIL | Viser data indtil et specifikt tidspunkt i fortiden. |
DURING | Viser data efter et specifikt tidspunkt i fortiden. |
COMPARE TO | Viser data indtil et specifikt tidspunkt i fortiden. |
ORDER BY | Angiver den kolonne, som dataene skal sorteres efter. |
LIMIT | Begrænser det antal rækker med data, som vises. |
AS | Omdø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:
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:
Her er en anden eksempelforespørgsel, der bruger en tidsdimension til at vise nettoomsætning efter måned:
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”:
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:
Operator | Funktionel brug |
---|---|
time | Gruppering efter time på kalenderdag. |
dag | Gruppering efter kalenderdag. |
uge | Gruppering efter kalenderuge. |
måned | Gruppering efter kalendermåned. |
quarter | Gruppering efter kalenderkvartal. |
år | Gruppering efter kalenderår. |
hour_of_day | Gruppering efter 24 timer (1,2,...,24). |
day_of_week | Gruppering efter ugedag (M,T,O,...,S). |
week_of_year | Gruppering 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:
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:
Sammenligningsoperator | Funktionel 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:
Logisk operator | Funktionel brug |
---|---|
AND | Filtrer for at vise alle de rækker, hvor betingelserne, der er adskilt af “AND”, er opfyldt. |
ELLER | Filtrer for at vise alle de rækker, hvor én af betingelserne, der er adskilt af “OR”, er opfyldt. |
NOT | Filtrer 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:
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:
Operatorer for relativ dato
Du kan filtrere efter specifikke datoer eller efter relative datoer. ShopifyQL-operatorerne for relativ dato er:
Operator for relativ dato | Funktionel brug |
---|---|
-{#}d | Antallet af dage siden den dato, hvor forespørgslen blev kørt. |
-{#}w | Antallet af uger siden den dato, hvor forespørgslen blev kørt. |
-{#}m | Antallet af måneder siden den dato, hvor forespørgslen blev kørt. |
-{#}q | Antallet af kvartaler siden den dato, hvor forespørgslen blev kørt. |
-{#}y | Antallet af år siden den dato, hvor forespørgslen blev kørt. |
åååå-mm-dd | En bestemt dato. |
i dag | Den dato, hvor forespørgslen blev kørt. |
i går | Den 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:
DURING accepterer følgende operatorer for navngivet datointerval:
Operator for datointerval | Funktionel brug |
---|---|
i dag | Den dato, hvor forespørgslen blev kørt. |
i går | Den forrige 24-timers periode fra det tidspunkt, hvor forespørgslen blev kørt. |
this_week | Den aktuelle kalenderuge. |
this_month | Den aktuelle kalendermåned. |
this_quarter | Det aktuelle kalenderkvartal. |
this_year | Det aktuelle kalenderår. |
last_week | Den forrige kalenderuge. |
last_month | Den forrige kalendermåned. |
last_quarter | Det forrige kalenderkvartal. |
last_year | Det forrige kalenderår. |
bfcm2022 | Fra 25. november til 28. november 2022. |
bfcm2021 | Fra 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.
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.
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:
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:
Matematiske operatorer
ShopifyQL tillader algoritmiske handlinger med parametrene i dine data. Følgende matematiske operatorer er tilgængelige:
Matematiske operatorer | Funktionel 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.
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:
Funktionsoperator | Funktionel 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
, max
og 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
, _count
eller _percent
.
Denne forespørgsel returnerer f.eks. en fejl, fordi total_sales allerede er blevet aggregeret:
Her er en gyldig forespørgsel, der blander aggregerede felter med aggregatfunktioner:
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 */
.