ShopifyQL-kyselyeditorin käyttäminen

ShopifyQL -kyselykieltä ja Shopifyn uutta Analytiikkaa käyttäen voit tutkia oman yrityksesi tietokantaa ja noutaa tietoja, jotka antavat sinulle entistä yksityiskohtaisempia tietoja liiketoiminnastasi.

ShopifyQL eli Shopify Query Language on Shopifyn verkkokauppaan luoma kyselykieli. Kyselykieltä käytetään tietojen pyytämiseen ja hakemiseen tietokannoista. Kauppasi tiedot tallennetaan tietokantataulukoihin, jotka on jäsennelty määritetyiksi sarakkeiksi ja riveiksi. Sarakkeet määrittävät tietojen tyypin, kuten myynti, ja rivit määrittävät tietojen tyypin todellisen arvon, kuten 2 450 USD:n myynti.

Jotta voit noutaa tiedot merkityksellisessä muodossa, kysely on ladattava tietokantaan. Kysely on avainsanoista ja niiden parametreista koostuva kysymys, jossa pyydetään tiettyjä vastaukseksi tietoja. Useiden avainsanojen ja tiettyjen parametrien yhdistelmä muodostaa kyselysi. Kun olet muodostanut kyselyn, voit suorittaa sen ja saada vastaukseksi raportin.

Termistö

ShopifyQL:n ehtojen määritelmät, kuten dimensio, avainsana ja operaattori.
EhtoMääritelmä
MittaMäärite, joka segmentoi tiedot niin, että ne voidaan lajitella ja esittää selkeämmin. Yleisiä esimerkkejä dimensioista ovat aika, tuotteet ja paikat. Dimensioita käytetään parametreina ShopifyQL:ssa.
AvainsanaShopifyQL-syntaksi, joka toimii kyselyäsi ohjaavana komentona.
MittaritTietojen määrällinen mittaaminen. Tyypillisiä esimerkkejä mittareista ovat kokonaismyynti, tilausten määrä ja bruttovoitto.
ParametriShopifyQL-syntaksi, joka identifioi kyselyyn sisällytettävät tietokantaelementit tai tiedot.
OperaattoriVarattu sana tai merkki, jota käytetään osana kyselyä. Esimerkkejä: STARTS WITH, >= ja last_week.

ShopifyQL:n syntaksi

Sinun on täytettävä seuraavat vaatimukset, kun muotoilet raporttikyselyä ShopifyQL:llä:

  • Voit tehdä koko kyselyn yhdelle riville tai eri riveille.
  • Sinun on sisällytettävä vähintään FROM- ja SHOW-avainsana ja sopivat parametrit. Kaikki muut avainsanat ja parametrit ovat valinnaisia.
  • Kaikki kyselyn avainsanat on sisällytettävä seuraavaan komentoon:
    1. FROM
    2. SHOW
    3. WHERE
    4. GROUP BY
    5. WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
    6. TIMESERIES
    7. HAVING
    8. SINCE & UNTIL, tai DURING
    9. COMPARE TO & valinnainen UNTIL
    10. ORDER BY
    11. LIMIT
    12. VISUALIZE & TYPE

Tämä on esimerkki oikeaa syntaksia käyttämällä kirjoitetusta ShopifyQL-kyselystä. Avainsanat on lihavoitu ja niiden parametrit on sisällytetty käyttäen yleisiä paikkamerkkejä. Valinnaiset parametrit ovat suluissa:

FROM table_name1, table_name2, ...
SHOW column1 { AS alias }, column2 { AS alias }, ...
WHERE condition
GROUP BY dimension
TIMESERIES time_dimension
WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
HAVING condition
SINCE date_offset
UNTIL date_offset
DURING named_date_range
COMPARE TO [date_offset, ...]
ORDER BY column { ASC | DESC }
LIMIT number { OFFSET number }
VISUALIZE [alias1, alias2, ...]
  TYPE { visualization_type }
  LIMIT number

ShopifyQL-avainsanat

ShopifyQL-kyselyt voivat olla perustasoisia, kun halutaan ylätason koontitietoja tai kattavia, kun halutaan yksityiskohtaisia tietoja. Jokaisella avainsanalla on tietty tehtävä, joka kehittää kyselyäsi.

Luettelo ShopifyQL-avainsanoista ja niiden kuvauksia.
AvainsanaKuvaus
FROMMäärittää, mistä tietojoukkotaulukosta voit valita tietoja.
SHOWValitsee sarakkeet, jotka haluat poimia tietojoukkotaulukosta.
WHEREMäärittää ehdon tai ehdot, jotka rivien on täytettävä, jotta ne voidaan valita.
GROUP BYRyhmittää poimitut tiedot dimension tai aikadimensioiden perusteella.
WITHMuuttaa tiettyjen ShopifyQL-avainsanojen käyttäytymistä.
TIMESERIESErottaa ryhmittelemisen aikadimensioittain ja täyttää kyselyn puuttuvat päivämäärätiedot.
HAVINGSuodattaa kyselyn tulokset sen jälkeen, kun ne on ryhmitelty.
SINCENäyttää tiedot aiemmin määritetyn ajan jälkeen. Tämän kanssa käytetään usein UNTIL-avainsanaa.
UNTILNäyttää tiedot tiettyyn menneeseen aikaan asti. Tämän kanssa käytetään usein SINCE- tai COMPARE TO-avainsanaa.
DURINGNäyttää tiedot tietyltä ajanjaksolta menneisyydessä.
COMPARE TONäyttää tiedot tiettyyn menneeseen ajankohtaan verrattuna.
ORDER BYMäärittää, minkä sarakkeen mukaan tiedot järjestetään.
LIMITRajoittaa näytettävien tietorivien määrää.
VISUALIZENäyttää tiedot viiva- tai pylväskaaviona. Voit määrittää haluamasi visualisoinnin TYPE-avainsanalla.
ASValinnainen avainsana, joka vaihtaa sarakkeen nimen valitsemaksesi nimeksi.

FROM ja SHOW

Yksinkertaisimman ShopifyQL-kyselyn luominen edellyttää vain kahta avainsanaa: FROM ja SHOW, tässä järjestyksessä. FROM, jonka perässä on yksi tai useampi taulukon nimiparametri, määrittää, missä taulukoissa kysely suoritetaan. SHOW, jonka perässä on mikä tahansa määrä sarakkeen nimiparametreja, määrittää valittavien sarakkeiden määrän.

SHOW määrittää, missä järjestyksessä mittarit ja mitat palautetaan raportissa.

Voit esimerkiksi palauttaa kokonaismyynnin summan kirjoittamalla tämän kyselyn:

FROM sales
SHOW total_sales

WHERE

WHERE-avainsanan avulla voit soveltaa dimensiosuodatinta koko ShopifyQL-kyselyyn. Suodatinta voidaan muokata niin vertailuoperaattoreilla (kuten suurempi kuin >), loogisilla operaattoreilla (kuten AND tai NOT) kuin osittaisella merkkijonojen ja matriisien vastaavuuksilla (kuten STARTS WITH ja CONTAINS).

WHERE -ehtojen on täytettävä seuraavat vaatimukset:

  • arvot ovat yksien lainausmerkkien (') sisällä, ei kaksinkertaisten (")
  • ehdoissa ei voi olla aritmeettista sisältöä
  • ehdot voivat viitata vain dimensioon, eivät mittareihin.

Jos esimerkiksi haluat palauttaa kokonaismyynnin, mutta suodattaa sen laskutusmaan mukaan, käytä kyselyä:

FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country='Canada'

Kuten edellä olevassa esimerkissä, voit suodattaa tulosjoukkoa WHERE parametrilla, vaikka kyseinen parametri ei sisälly SHOW-avainsanaan. Tässä tapauksessa kokonaismyynnistä suodatetaan vain Kanadasta tehdyt tilaukset, vaikka billing_country ei sisälly tulosjoukkoon.

Vertailuoperaattorit

WHERE-avainsana käyttää tietojen suodattamiseen vertailuoperaattoreja. Yllä olevassa esimerkissä = määritti, että tietyn arvon kyselysuodattimet ovat kuitenkin käytettävissäsi muissa operaattoreissa:

Luettelo ShopifyQL:n vertailuoperaattoreista, kuten suurempi tai yhtä suuri kuin.
VertailuoperaattoriKuvaus
=yhtä suuri kuin
!=ei ole yhtä suuri kuin
<pienempi kuin
>suurempi kuin
<=pienempi tai yhtä suuri kuin
>=suurempi tai yhtä suuri kuin

Loogiset operaattorit

Jotta voit suodattaa tietojasi tarkemmin, voit lisätä kyselyyn loogisia operaattoreita. ShopifyQL:n loogiset operaattorit on lueteltu alla:

Luettelo ShopifyQL:n loogisista operaattoreista, kuten AND, OR ja NOT.
Looginen operaattoriKuvaus
ANDSuodatin, jonka avulla voit sisällyttää kaikki rivit, joissa AND-operaattori erottaa ehdot, jotka täyttyvät.
ORSuodatin, jonka avulla voit sisällyttää kaikki rivit, joissa OR-operaattori erottaa ehdot, joista jompi kumpi täyttyy.
NOTSuodatin, jonka avulla voit sisällyttää vain rivit, joiden ehdot eivät täyty, kuten rivit, jotka eivät sisällä tiettyä arvoa.

Voit käyttää WHERE-avainsanan kanssa useita suodattimia lisäämällä loogisia operaattoreita.

Jos haluat saada kuukausittaisen ryhmittelyn niiden tilausten nettomyynnistä, jotka sisälsivät kuivattuja persikoita, joiden laskutusosoite oli Kanadassa ja joissa sovelletaan alennusta, käytä seuraavaa kyselyä:

FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country='Canada' AND product_title='Dried Peaches' AND discounts > 0

GROUP BY

Voit segmentoida mittarin dimension mukaan ryhmitelläksesi esimerkiksi myyntiä alueen mukaan käyttämällä GROUP BY-avainsanaa. GROUP BY-avainsana voidaan yhdistää mihin tahansa dimensioparametriin.

Esimerkiksi kysely, joka ryhmittää kokonaismyynnin laskutusmaan ja -alueen perusteella, kirjoitetaan seuraavasti:

FROM sales
SHOW total_sales
GROUP BY billing_country, billing_region

Tässä on toinen kyselyesimerkki, jossa käytetään aikadimensiota kokonaismyynnin näyttämiseen kuukauden mukaan:

FROM sales
SHOW total_sales
GROUP BY month

Yllä oleva kysely ei palauta sellaisia kuukausia, jolloin sinulla ei ollut myyntiä. Jos haluat, että kysely palauttaa täydellisen ja katkeamattoman aikajakson, käytä TIMESERIES-avainsanaa.

FROM sales
SHOW total_sales
TIMESERIES month
SINCE last_year
UNTIL today

Aikadimensiot

Voit käyttää seuraavia aikadimensioita tietojesi ryhmittelemiseen:

Luettelo ShopifyQL:n aikadimensioista, kuten sekunti, minuutti tai viikonpäivä.
OperaattoriKuvaus
secondRyhmitteleminen tunnin sekunnin mukaan.
minuteRyhmitteleminen tunnin minuutin mukaan.
hourRyhmittely kalenteripäivän tunnin mukaan.
dayRyhmittely kalenteripäivän mukaan.
weekRyhmittely kalenteriviikon mukaan.
monthRyhmittely kalenterikuukauden mukaan.
quarterRyhmittely kalenterineljänneksen mukaan.
yearRyhmittely kalenterivuoden mukaan.
hour_of_dayRyhmittely 24 tunnin mukaan (1, 2, ..., 24).
day_of_weekRyhmittely viikonpäivän mukaan (ma, ti, ke, ..., su).
week_of_yearRyhmittely viikon mukaan (1, 2, ..., 52).
month_of_yearRyhmitteleminen vuoden kuukauden mukaan (1, 2, ..., 12).

TIMESERIES

Voit käyttää TIMESERIES-avainsanaa, kun haluat erottaa ryhmittelyn aikadimension mukaan, tarkastella mittareita ajan mittaan ja täyttää puuttuvat päivämäärätiedot kyselyyn, josta haluat johtaa aikasarjakaavion.

Tässä esimerkissä täytät puuttuvat kokonaismyynnin tiedot viimeisten 15 päivän ajalta:

FROM sales
SHOW total_sales
GROUP BY product_title, billing_country
TIMESERIES day
SINCE -15d

TIMESERIES ja sarakkeiden järjestys

Sarakkeiden järjestys voi muuttua sen mukaan, onko TIMESERIES annettu joko GROUP BY- tai SHOW-arvossa.

Esimerkkejä TIMESERIES-avainsanasta ja siitä, miten sarakkeiden järjestys näkyy ShopifyQL:n GROUP BY- tai SHOW-näkymässä.
TIMESERIESSHOWGROUP BYTulos
AnnettuEi esilläEi esillä TIMESERIES on ensimmäinen dimensio.
AnnettuEi esilläNäkyyAikadimension sijainti määritetään sen mukaan, missä se sijaitsee GROUP BY ‑parametrissa.
AnnettuNäkyyNäkyyAikadimension sijainti määritetään sen mukaan, missä se sijaitsee SHOW ‑parametrissa.
Ei annettuEi esilläNäkyyAikadimension sijainti määritetään sen mukaan, missä se sijaitsee GROUP BY ‑parametrissa. Puuttuvia tietoja ei täytetä.
Ei annettuNäkyyNäkyyAikadimension sijainti määritetään sen mukaan, missä se sijaitsee SHOW ‑parametrissa. Puuttuvia tietoja ei täytetä.
Ei annettuNäkyyEi esilläKäynnistää syntaksivirheen, koska SHOW voi viitata vain GROUP BY ‑parametrin dimensioihin.

HAVING

WHERE-avainsanan tapaan voit käyttää HAVING-avainsanaa kyselyn tulosten suodattamiseen sen jälkeen, kun ne on ryhmitelty. Suodattimella voi olla yksi ehto, mutta voit muokata ehtoa sekä vertailuoperaattoreilla (kuten suurempi kuin >) että loogisilla operaattoreilla (kuten AND tai NOT). WHERE-avainsanasta poiketen HAVING voi viitata aliaksiin, koostetoimintoihin ja ryhmittelysarakkeisiin.

HAVING edellyttää, että kysely sisältää GROUP BY- tai TIMESERIES-ehdon, koska HAVING suodattaa kyselyn tulokset sen jälkeen, kun kysely on ryhmitelty GROUP BY- tai TIMESERIES-parametrin mukaan.

Tässä esimerkissä suodatat kokonaismyynnin kunkin sellaisen tuotteen osalta, jonka kokonaismyynti on yli 1 000 ja alle 5 000:

FROM sales
SHOW total_sales
GROUP BY product_title
HAVING total_sales > 1000 AND total_sales < 5000

WITH

Avainsana WITH muuttaa muiden ShopifyQL-avainsanojen käyttäytymistä. Muutoksia on kolme erilaista:

  • TOTALS: Tarjoaa mittarien ylätason yhteenvedon ennen niiden erittelyä jonkin dimension mukaan.
  • GROUP_TOTALS: Antaa kaikkien alaryhmittelyjen kokonaissumman, kun ryhmittely perustuu koostamiseen.
  • PERCENT_CHANGE: Lisää muutoksen prosentuaalisen mittarin jokaiseen vertailusarakkeeseen COMPARE TO ‑parametrissa. Kun tämä muuttuja on käytössä, jokaiseen vertailumittasarakkeeseen lisätään uusi prosenttimuutoksen sisältävä sarake.

TOTALS

TOTALS-muuttuja tarjoaa mittareiden ylätason yhteenvedon, ennen kuin ne eritellään jonkin muun dimension mukaan. Kun käytät WITH TOTALS ‑muuttujaa, kysely palauttaa kokonaissummat tulossarjan lisäsarakkeina, joissa on mittarin nimi ja "totals" osana sarakkeen nimeä. Jokainen rivi sisältää kaikki soveltuvat summat.

Esimerkiksi tässä kyselyssä näkyvät kokonaismyynnin kokonaissummat:

FROM sales
SHOW gross_sales, net_sales, total_sales
TIMESERIES day
WITH TOTALS

Tämä kysely saattaa palauttaa seuraavanlaisen raportin:

Esimerkki ShopifyQL-myyntitaulukosta, jossa käytetään WITH TOTALS -muuttujaa.
PäiväBruttomyyntiNettomyyntiKokonaismyyntiBruttomyynnin kokonaismääräNettomyynnin kokonaismääräMyynnin kokonaismäärä
2024-01-0114761524
2024-01-0225861524
2024-01-0336961524

GROUP_TOTALS

GROUP_TOTALS-muuttuja antaa kaikille alaryhmille kokonaissumman, kun ryhmittely perustuu koostamiseen. Kun käytät WITH GROUP_TOTALS ‑muuttujaa, kysely palauttaa kokonaissummat tulossarjan lisäsarakkeina, joissa on mittarin nimi, summattavat dimensiot ja "totals" osana sarakkeen nimeä. Jokainen rivi sisältää kaikki soveltuvat summat.

Esimerkiksi tässä kyselyssä näkyy kokonaismyynti laskutusosoitteen maan mukaan:

FROM sales
SHOW customer_id, total_sales
GROUP BY customer_id, billing_country
WITH TOTALS, GROUP_TOTALS

Tämä kysely saattaa palauttaa seuraavanlaisen raportin:

Esimerkki ShopifyQL-myyntitaulukosta, jossa käytetään GROUP_TOTALS-muuttujaa.
MaaAsiakastunnusKokonaismyyntiKokonaismyynti maan mukaan yhteensäMyynnin kokonaismäärä
Yhdysvallat1101
Yhdysvallatnull-111
Kanada1111

PERCENT_CHANGE

PERCENT_CHANGE-muuttuja lisää muutoksen prosentuaalisen mittarin jokaiseen vertailusarakkeeseen, kun käytät COMPARE TO ‑avainsanaa. Kun käytät WITH PERCENT_CHANGE ‑muuttujaa, kysely palauttaa jokaisen vertailumuuttujan prosenttimuutoksen tulossarjan lisäsarakkeina, joissa on mittarin nimi ja "percent change" osana sarakkeen nimeä.

Prosenttimuutosten laskentakaava on: (base_column - comparison_column) * 100 / abs(comparison_column)

Esimerkiksi tässä kyselyssä käytetään SINCE- ja COMPARE TO ‑avainsanoja edellisen kuukauden nettomyynnin vertaamiseen edellisen vuoden samaan kuukauteen. Lisäksi kyselyssä käytetään prosenttimuutoksen saraketta:

FROM sales
SHOW net_sales
TIMESERIES day
WITH PERCENT_CHANGE
SINCE -1m
UNTIL -0m
COMPARE TO previous_year

Saadun raportin sarakkeisiin sisältyvät päivä, nettomyynti, vertailupäivä, nettomyynnin vertailu ja nettomyynnin prosenttimuutos.

SINCE ja UNTIL

Jos haluat suodattaa kyselyn päivämäärän tai ajanjakson mukaan, voit käyttää avainsanoja SINCE ja UNTIL sekä niihin liittyviä parametreja. Nämä avainsanat ovat yksilöllisiä, koska ne suodattavat vain ajanjaksoja. Jos käytät SINCE-avainsanaa etkä määritä UNTIL-arvoa, aikavälisi loppu on oletusarvoisesti today.

Tämä esimerkkikysely löytää nettomyynnin viimeisen 12 kuukauden ajalta Kanadassa eiliseen asti:

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

Siirtymäoperaattorit

Voit suodattaa tietoja tiettyjen päivämäärien tai päivämäärien tai kellonaikojen siirtymien mukaan. ShopifyQL-siirtymäoperaattoreja ovat seuraavat:

Luettelo ShopifyQL:n siirtymäoperaattoreista, kuten kompensoiminen sekunnin, minuutin tai valitun päivän mukaan.
SiirtymäoperaattoriKuvaus
-{#}sKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden sekuntien määrä.
-{#}minKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden minuuttien määrä.
-{#}hKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden tuntien määrä.
-{#}dKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden päivien määrä.
-{#}wKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden viikkojen määrä.
-{#}mKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden kuukausien määrä.
-{#}qKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden neljännesten määrä.
-{#}yKyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden vuosien määrä.
yyyy-MM-ddTietty päivämäärä.
yyyy-MM-ddThh:mm:ssValittu päivämäärä ja kellonaika.

Päivämääräfunktiot

Voit käyttää seuraavia funktioita yhdessä kaikkien SINCE- ja UNTIL-avainsanojen päivämääräoperaattoreiden kanssa (tietyt päivät pois lukien). "startOf..." -funktiot lyhennetään niihin liittyvien aikayksiköiden (minuutti, tunti, päivä, viikko, kuukausi, vuosineljännes ja vuosi) alkuun "SINCE"-avainsanan kanssa ja "endOf..."-funktiot lyhennetään niihin liittyvien aikayksiköiden loppuun UNTIL-avainsanan kanssa.

Päivämääräfunktioiden yksiköiden ja operaattoriyksiköiden on vastattava toisiaan, jotta tulos on kelvollinen. Esimerkiksi startOfMonth(-1m) on oikein, mutta startOfMonth(-1d) ei ole.

Luettelo ShopifyQL:n päivämääräfunktioista, kuten päivän loppu tai vuosineljänneksen alku.
PäivämääräfunktioKuvaus
nowPäivämäärä ja kellonaika, jolloin kysely suoritetaan.
startOfMinute(-{#}min)Lyhentää päivämäärävälin operaattorin kohdeminuutin alkuun.
endOfMinute(-{#}min)Lyhentää päivämäärävälin operaattorin kohdeminuutin loppuun.
startOfHour(-{#}h)Lyhentää päivämäärävälin operaattorin kohdetunnin alkuun.
endOfHour(-{#}h)Lyhentää päivämäärävälin operaattorin kohdetunnin loppuun.
startOfDay(-{#}d)Lyhentää päivämäärävälin operaattorin kohdepäivän alkuun.
endOfDay(-{#}d)Lyhentää päivämäärävälin operaattorin kohdepäivän loppuun.
startOfWeek(-{#}w)Lyhentää päivämäärävälin operaattorin kohdeviikon alkuun.
endOfWeek(-{#}w)Lyhentää päivämäärävälin operaattorin kohdeviikon loppuun.
startOfMonth(-{#}m)Lyhentää päivämäärävälin operaattorin kohdekuukauden alkuun.
endOfMonth(-{#}m)Lyhentää päivämäärävälin operaattorin kohdekuukauden loppuun.
startOfQuarter(-{#}q)Lyhentää päivämäärävälin operaattorin kohdeneljänneksen alkuun.
endOfQuarter(-{#}q)Lyhentää päivämäärävälin operaattorin kohdeneljänneksen loppuun.
startOfYear(-{#}y)Lyhentää päivämäärävälin operaattorin kohdevuoden alkuun.
endOfYear(-{#}y)Lyhentää päivämäärävälin operaattorin kohdevuoden loppuun.

Jos esimerkiksi tänään olisi 8.11.2022, voit käyttää seuraavaa kyselyä 1.1.2020–31.10.2022 bruttomyynnin palauttamiseen:

FROM sales
SHOW gross_sales
SINCE startOfYear(-2y)
UNTIL endOfMonth(-1m)

DURING

DURING-avainsana yksinkertaistaa päivämäärien suodatusta päivämäärävälien mukaan ja korvaa operaattorit SINCE ja UNTIL. DURING-avainsanan avulla voit suodattaa kyselytuloksia tietyn ajanjakson, kuten kalenterivuoden tai tietyn kuukauden, tai ajanjaksojen osalta, joissa on eri päivämäärät eri vuosina, kuten Black Friday Cyber Monday. Esimerkki:

FROM sales
SHOW total_sales
GROUP BY day
DURING bfcm2021

Nimetyn päivämäärävälin operaattorit

DURING hyväksyy minkä tahansa seuraavista nimetyille aikavälin operaattoreille:

Luettelo ShopifyQL:n nimettyjen päivämäärävälien operaattoreista, kuten tänään, eilen tai tällä viikolla.
Nimetyn päivämäärävälin operaattoriKuvaus
todayPäivämäärä, jona kysely on suoritettava.
yesterdayEdellinen 24 tunnin jakso kyselyn suorittamisesta.
this_weekNykyinen kalenteriviikko.
this_monthNykyinen kalenterikuukausi.
this_quarterNykyinen kalenterineljännes.
this_yearNykyinen kalenteriviikko.
last_weekEdellinen kalenteriviikko.
last_monthEdellinen kalenterikuukausi.
last_quarterEdellinen kalenterineljännes.
last_yearEdellinen kalenteriviikko.
bfcmYYYYValitun vuoden Black Friday Cyber Monday ‑päivämääräväli. Esimerkiksi bfcm2022 palauttaa tulokseksi 25.–28.11.2022.

COMPARE TO

COMPARE TO-avainsanan avulla voit vertailla SINCE- ja UNTIL- tai DURING- sekä COMPARE TO ‑lausekkeiden päivämäärävälien tietoja.

Voit käyttää COMPARE TO ‑avainsanaa seuraavan tyyppisten parametrien kanssa:

  • Absoluuttiset päivämäärät, kuten 2023-01-01: Sisältää valitun aikajakson mittarit ja saman ajanjakson absoluuttisen päivämäärän vertailumittarit.
  • Nimetyt päivämäärät, kuten last_week: Sisältää valitun aikajakson mittarit ja saman ajanjakson nimetyn päivämäärän vertailumittarit.

    • COMPARE TO ‑lausekkeen käyttämän operaattorin ei tarvitse olla saman mittainen kuin DURING-avainsanan käyttämä. Jos UNTIL-arvoa ei ole määritetty, se laskee aikavälin yhtä suureksi kuin DURING-avainsanan arvo. Esimerkiksi DURING this_week COMPARE TO last_month vertaa tämän viikon tietoja viime kuukauden alusta alkavaan viikon aikajaksoon.
  • Siirtymäpäivämäärät kuten -3q: Sisältää valitun aikajakson mittarit ja saman ajanjakson suhteellisen päivämäärän vertailumittarit.

  • Useiden päivämäärien vertailu, kuten -1y, -2y: Vertaile tietyn päivämäärävälin tietoja useisiin muihin päivämääräväleihin. Tästä voi olla hyötyä, jos haluat seurata muutoksia useiden jaksojen ajalta.

  • Jos käytät päivämäärädimensiota kyselyssä, jossa on COMPARE TO, sinun on käytettävä TIMESERIES-parametria GROUP BY ‑parametrin sijaan.

Seuraavassa esimerkissä nettomyyntiä verrataan edellistä kuukautta samaan kuukauteen edellisen vuoden aikana:

FROM sales
SHOW net_sales, product_title
GROUP BY product_title
TIMESERIES day
SINCE -1m
UNTIL -0m
COMPARE TO previous_year

Suhteellisen päivämäärävälin operaattorit

Suhteelliset operaattorit palauttavat yhtä pitkän aikajakson kuin peruspäivämääräväli valittua aikajaksoa aikaisemmin. Nimettyjen päivämäärävälien operaattoreiden lisäksi COMPARE TO hyväksyy seuraavat suhteelliset operaattorit:

Luettelo ShopifyQL:n suhteellisista päivämäärävälioperaattoreista, kuten edellisestä jaksosta tai edellisestä vuodesta.
Suhteellisen päivämäärävälin operaattoriKuvaus
previous_periodYksi jakso ennen peruspäivämääräväliä.
previous_yearYksi vuosi ennen peruspäivämääräväliä.
previous_quarterYksi vuosineljännes ennen peruspäivämääräväliä.
previous_monthKuukausi ennen peruspäivämääräväliä.
previous_weekYksi viikko ennen peruspäivämääräväliä.
previous_dayYksi päivä ennen peruspäivämääräväliä.
previous_hourYksi tunti ennen peruspäivämääräväliä.
previous_minuteYksi minuutti ennen peruspäivämääräväliä.
previous_secondYksi sekunti ennen peruspäivämääräväliä.

ORDER BY

Voit määrittää, miten haluat lajitella kyselysi palauttamat tiedot käyttämällä ORDER BY-avainsanaa ja sen parametreja ASC, joka järjestää tiedot nousevaan järjestykseen ja DESC, joka järjestää tiedot laskevaan järjestykseen.

Voit määrittää minkä tahansa kyselyssä käytettävän mittarin tai dimension ORDER BY -avainsanassa. Voit myös käyttää useita kenttiä.

Esimerkiksi tämä kysely palauttaa kaikkien tuotteiden ja versioiden nettomyynnin viimeisen vuoden aikana. Tulokset lajitellaan ensin aakkosjärjestyksessä tuotteen nimen mukaan ja sen jälkeen käänteisessä aakkosjärjestyksessä tuotetyypin mukaan:

FROM sales
SHOW net_sales
GROUP BY product_title, product_type
SINCE -1y
UNTIL today
ORDER BY product_title, product_type DESC

Järjestyksellä, jossa kirjoitat mittareita tai dimensioita, on merkitystä. Jos määrität ORDER BY-parametrille useita arvoja, lajittelua sovelletaan mittareihin tai dimensioihin tässä järjestyksessä.

TIMESERIES ja sarakkeiden järjestys

Sarakkeiden järjestys voi muuttua sen mukaan, sisältääkö kysely TIMESERIES- ja ORDER BY ‑parametrit.

Esimerkki TIMESERIES-parametrista ja sarakkeiden järjestyksestä, kun ORDER BY on lisätty ShopifyQL:llä.
TIMESERIESORDER BYTulos
NäkyyEi esilläTulokset lajitellaan TIMESERIES-dimension mukaan.
NäkyyNäkyyTulokset lajitellaan TIMESERIES-aikadimension mukaan ja sen jälkeen ORDER BY ‑dimension mukaan.
Ei esilläNäkyyTulokset lajitellaan ORDER BY-dimension mukaan.
Ei esilläEi esilläTulokset lajitellaan ensimmäisen SHOW-sarakkeen mukaan.

LIMIT

LIMIT-avainsanalla voit määrittää kyselyn palauttamien rivien enimmäismäärän. Tästä on hyötyä, jos haluat vain ymmärtää, miten kunkin sarakkeen tiedot näkyvät. Se auttaa myös käsittelemään suurempia raportteja, joissa kyselyjen arvojen palauttaminen voi kestää tavallista pidempään. Voit yhdistää LIMIT- ja ORDER BY ‑lausekkeen luodaksesi ylä- ja alaluetteloita.

Jos et määritä LIMIT-arvoa, kyselyn rivimäärä on oletusarvoisesti 1 000.

Voit myös käyttää valinnaista { OFFSET # }-parametria ohittaaksesi tietyn rivimäärän ennen rivitietojen palautusta. Tulokseksi saadun lauseen muoto on seuraavan kaltainen: LIMIT 15 { OFFSET 5 }.

Tässä esimerkissä käytetään LIMIT- ja ORDER BY -avainsanoja, jotka kokoavat listan kymmenestä eniten myydystä tuotteesta viimeisen kolmen kuukauden aikana:

FROM sales
SHOW gross_sales as total_gross_sales
GROUP BY product_title
SINCE -3m
UNTIL today
ORDER BY total_gross_sales DESC
LIMIT 10

VISUALIZE ja TYPE

VISUALIZE-avainsanan avulla voit kirjoittaa ShopifyQL-kyselyn, joka näyttää tiedot graafisena visualisointina. Tuetut visualisoinnit sisältävät seuraavat arvot:

  • bar
  • stacked_bar
  • stacked_horizontal_bar
  • line
  • simple_bar
  • stacked_area
  • single_metric
  • donut
  • list
  • list_with_dimension_values
  • horizontal_bar
  • cohort
  • single_stacked_bar
  • funnel
  • grouped_bar
  • horizontal_grouped_bar
  • table
  • grid

TYPE on valinnainen avainsana, ja siihen on liitettävä yksi visualisointityyppi. Jos TYPE ei sisälly kyselyyn, ShopifyQL päättää kyselyysi parhaiten sopivan visualisoinnin automaattisesti. Jos kyselyäsi ei voida visualisoida tekstimuodossa, ShopifyQL palauttaa tiedot taulukkomuodossa.

VISUALIZE hyväksyy myös valinnaisen LIMIT-avainsanan, jossa parametri on hahmonnettavien datapisteiden rajallinen määrä.

Voit esimerkiksi visualisoida kuukausittaiset myyntitrendisi viimeisen vuoden ajalta trendiviivan avulla. Tämä kysely palauttaa aikasarjakuvaajan, joka esittää kuukausittaisen bruttomyynnin viimeisen vuoden ajalta. Myyntiä kuvaa viiva, jonka x-akselilla on kuukaudet ja y-akselilla bruttomyynti:

FROM sales
SHOW gross_sales
TIMESERIES month
SINCE -1y
UNTIL today
VISUALIZE gross_sales TYPE line

AS

AS on valinnainen avainsana, jonka avulla voit nimetä sarakkeen tai koostetoiminnon palauttaman arvon uudelleen (tai antaa sille aliaksen).

AS hyväksyy vain yhden parametrin. Jos aliaksen nimessä on välilyönti, sinun on laitettava aliaksen alkuun ja loppuun kaksinkertaiset lainausmerkit (").

FROM sales
SHOW total_sales AS "My Total Sales"

Muut ShopifyQL:n funktiot ja operaattorit

ShopifyQL sisältää seuraavat lisäoperaattorit ja ‑funktiot:

Matemaattiset operaattorit

ShopifyQL mahdollistaa laskutoimenpiteiden suorittamisen tietojesi mittareilla. Käytettävissä on seuraavat matemaattiset operaattorit:

Luettelo ShopifyQL:n matemaattisista operaattoreista, kuten plus ja miinus.
Matemaattinen operaattoriKuvaus
+Lisätään kaksi numeroa.
-Vähennetään kaksi numeroa.
*Kerrotaan kaksi numeroa.
/Jaetaan kaksi numeroa.

Tämä kysely laskee esimerkiksi kunkin alueen tilauksen arvon viimeisen vuoden ajalta. Kun käytät matemaattisia operaattoreita ja mittareja, voit liittää uuteen mittariin uuden nimen AS-avainsanan avulla.

FROM sales
SHOW (net_sales + returns) AS order_value, orders, (net_sales + returns)/orders AS sales_per_order
GROUP BY billing_region
SINCE -1y
UNTIL today

Toiminnot

ShopifyQL-funktioiden avulla voit koostaa sarakkeita tai yhdistää niitä luodaksesi uuden arvon Microsoft Excelin pivot-taulukoiden tapaan. ShopifyQL:n nykyisessä versiossa voi käyttää seuraavia funktio-operaattoreita:

Luettelo tuetuista ShopifyQL-funktioista, kuten välien poisto ja pyöristys.
Funktio-operaattoriKuvaus
TRIM(column_name)Poistaa merkkijonon alun ja lopun välilyönnit.
ROUND(column_name, decimal_places)Rounds a numerical value to the nearest integer or specified decimal places. In this function, decimal_places is an integer value:
  • If decimal_places > 0, then the function rounds the value to the right of the decimal point.
  • If decimal_places < 0, then the function rounds the value to the left of the decimal point.
  • If decimal_places = 0, then the function rounds the value to integer. In this case, the argument can be omitted entirely.

For example, this query uses the rounding function on the gross_sales column, but omits the decimal_places argument to round the value to the integer:

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

Implicit joins

A join allows you to view metrics from different domains together, side by side. Joins are done implicitly and intelligently in ShopifyQL.

ShopifyQL has the following join capabilities:

  • ShopifyQL allows dimension field joins when there is a single FROM table in the query.
  • Automatic left join on dimension fields.
  • ShopifyQL allows multi-fact joins (when there are multiple FROM tables in the queries).
  • Automatic full join on multi-fact joins, which support any number of tables or schemas and grouped by dimensions.
  • Metrics in multi-fact joins can use functions and math.

Shopify QL has the following join restrictions:

  • Join field must have the same name in all joined schemas.
  • Join field must be in GROUP BY.
  • Join field can't use functions or math.
  • FROM is necessary for multi-fact joins to work.
  • In a multi-fact join, every GROUP BY must be in all schemas and is considered a field on which to be joined.

For example, this query uses a multi-fact join:

FROM sales, sessions
SHOW day, total_sales, sessions
GROUP BY day
SINCE 2023-10-03
ORDER BY day

Partial string and array matching

You can use the following operators for partial string and array matching:

List of Partial string and array matching operators in ShopifyQL.
OperatorDescription
STARTS WITHReturn all rows where a column starts with a prefix.
ENDS WITHReturn all rows where a column ends with a suffix.
CONTAINSReturn all rows where a column contains a part of a string, or an element in an array.

Some examples of partial string matching using operators include the following queries:

FROM sales
SHOW product_title
WHERE product_title STARTS WITH 'Summer'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title ENDS WITH 'kit'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title CONTAINS 'Beef'
GROUP BY product_title

The CONTAINS operator can be used to match elements within arrays, including integers, strings, and decimals. This matching isn't case-sensitive. Some examples of array matching using CONTAINS include the following queries:

FROM sales
SHOW orders
WHERE products_bought_together_ids CONTAINS 101
FROM customers
SHOW total_number_of_orders
WHERE customer_cities CONTAINS 'seattle'
FROM sales
SHOW orders
WHERE variants_bought_together_variant_prices CONTAINS 10.2

Comments

You can use comments to explain sections of ShopifyQL statements, or to prevent the execution of a ShopifyQL statement. Any text within a comment will be ignored during execution time.

Single line comments start with -- and end at the end of the line.

Multi-line comments start with /* and end with */.

FROM sales
SHOW average_order_value, gross_sales
-- the line below has been commented out and won't run
-- GROUP BY billing_region
WHERE billing_country = 'United States'
/*
this line and the two lines below it have been commented out and won't run
SINCE 2021-01-01
UNTIL 2021-12-31
*/
Etkö löydä hakemaasi vastausta? Autamme mielellämme.