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ö
Ehto | Määritelmä |
---|---|
Mitta | Mää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. |
Avainsana | ShopifyQL-syntaksi, joka toimii kyselyäsi ohjaavana komentona. |
Mittarit | Tietojen määrällinen mittaaminen. Tyypillisiä esimerkkejä mittareista ovat kokonaismyynti, tilausten määrä ja bruttovoitto. |
Parametri | ShopifyQL-syntaksi, joka identifioi kyselyyn sisällytettävät tietokantaelementit tai tiedot. |
Operaattori | Varattu 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
- jaSHOW
-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.TIMESERIES
6.WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
7.HAVING
8.SINCE
&UNTIL
, taiDURING
9.COMPARE TO
& valinnainenUNTIL
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.
Avainsana | Kuvaus |
---|---|
FROM | Määrittää, mistä tietojoukkotaulukosta voit valita tietoja. |
SHOW | Valitsee sarakkeet, jotka haluat poimia tietojoukkotaulukosta. |
WHERE | Määrittää ehdon tai ehdot, jotka rivien on täytettävä, jotta ne voidaan valita. |
GROUP BY | Ryhmittää poimitut tiedot dimension tai aikadimensioiden perusteella. |
TIMESERIES | Erottaa ryhmittelemisen aikadimensioittain ja täyttää kyselyn puuttuvat päivämäärätiedot. |
WITH | Muuttaa tiettyjen ShopifyQL-avainsanojen käyttäytymistä. |
HAVING | Suodattaa kyselyn tulokset sen jälkeen, kun ne on ryhmitelty. |
SINCE | Näyttää tiedot aiemmin määritetyn ajan jälkeen. Tämän kanssa käytetään usein UNTIL -avainsanaa. |
UNTIL | Näyttää tiedot tiettyyn menneeseen aikaan asti. Tämän kanssa käytetään usein SINCE - tai COMPARE TO -avainsanaa. |
DURING | Näyttää tiedot tietyltä ajanjaksolta menneisyydessä. |
COMPARE TO | Näyttää tiedot tiettyyn menneeseen ajankohtaan verrattuna. |
ORDER BY | Määrittää, minkä sarakkeen mukaan tiedot järjestetään. |
LIMIT | Rajoittaa näytettävien tietorivien määrää. |
VISUALIZE | Näyttää tiedot viiva- tai pylväskaaviona. Voit määrittää haluamasi visualisoinnin TYPE -avainsanalla. |
AS | Valinnainen avainsana, joka vaihtaa sarakkeen nimen valitsemaksesi nimeksi. |
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'
GROUP BY product_title, product_type, product_vendor
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:
Vertailuoperaattori | Kuvaus |
---|---|
= | yhtä suuri kuin |
!= | ei ole yhtä suuri kuin |
< | pienempi kuin |
> | suurempi kuin |
<= | pienempi tai yhtä suuri kuin |
>= | suurempi tai yhtä suuri kuin |
Jotta voit suodattaa tietojasi tarkemmin, voit lisätä kyselyyn loogisia operaattoreita. ShopifyQL:n loogiset operaattorit on lueteltu alla:
Looginen operaattori | Kuvaus |
---|---|
AND | Suodatin, jonka avulla voit sisällyttää kaikki rivit, joissa AND -operaattori erottaa ehdot, jotka täyttyvät. |
OR | Suodatin, jonka avulla voit sisällyttää kaikki rivit, joissa OR -operaattori erottaa ehdot, joista jompi kumpi täyttyy. |
NOT | Suodatin, 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 is_discounted_sale = true
GROUP BY product_title, product_type, product_vendor
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:
Operaattori | Kuvaus |
---|---|
second | Ryhmitteleminen tunnin sekunnin mukaan. |
minute | Ryhmitteleminen tunnin minuutin mukaan. |
hour | Ryhmittely kalenteripäivän tunnin mukaan. |
day | Ryhmittely kalenteripäivän mukaan. |
week | Ryhmittely kalenteriviikon mukaan. |
month | Ryhmittely kalenterikuukauden mukaan. |
quarter | Ryhmittely kalenterineljänneksen mukaan. |
year | Ryhmittely kalenterivuoden mukaan. |
hour_of_day | Tämä on nollaperusteinen ryhmittely 24 tunnin mukaan (0, 1, ..., 23). |
day_of_week | Tämä on nollaperusteinen ryhmittely viikonpäivän mukaan (0, 1, ... , 6). |
week_of_year | Ryhmittely viikon mukaan (1, 2, ..., 52). |
month_of_year | Ryhmitteleminen vuoden kuukauden mukaan (1, 2, ..., 12). |
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.
TIMESERIES | SHOW | GROUP BY | Tulos |
---|---|---|---|
Annettu | Ei esillä | Ei esillä |
TIMESERIES on ensimmäinen dimensio. |
Annettu | Ei esillä | Näkyy | Aikadimension sijainti määritetään sen mukaan, missä se sijaitsee GROUP BY ‑parametrissa. |
Annettu | Näkyy | Näkyy | Aikadimension sijainti määritetään sen mukaan, missä se sijaitsee SHOW ‑parametrissa. |
Ei annettu | Ei esillä | Näkyy | Aikadimension sijainti määritetään sen mukaan, missä se sijaitsee GROUP BY ‑parametrissa. Puuttuvia tietoja ei täytetä. |
Ei annettu | Näkyy | Näkyy | Aikadimension sijainti määritetään sen mukaan, missä se sijaitsee SHOW ‑parametrissa. Puuttuvia tietoja ei täytetä. |
Ei annettu | Näkyy | Ei esillä | Käynnistää syntaksivirheen, koska SHOW voi viitata vain GROUP BY ‑parametrin dimensioihin. |
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 vertailusarakkeeseenCOMPARE 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:
Päivä | Bruttomyynti | Nettomyynti | Kokonaismyynti |
---|---|---|---|
Yhteenveto | 6 | 15 | 24 |
2024-01-01 | 1 | 4 | 7 |
2024-01-02 | 2 | 5 | 8 |
2024-01-03 | 3 | 6 | 9 |
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:
Maa | Asiakastunnus | Kokonaismyynti |
---|---|---|
Yhteenveto (Yhdysvallat + Kanada) | - | 1 |
Yhdysvaltain ryhmä yhteensä | - | 0 |
Yhdysvallat | 1 | 1 |
Yhdysvallat | null | -1 |
Kanadan ryhmä yhteensä | - | 1 |
Kanada | 1 | 1 |
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 sales
SHOW net_sales
WHERE billing_country = 'Canada'
GROUP BY month
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:
Siirtymäoperaattori | Kuvaus |
---|---|
-{#}s | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden sekuntien määrä. |
-{#}min | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden minuuttien määrä. |
-{#}h | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden tuntien määrä. |
-{#}d | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden päivien määrä. |
-{#}w | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden viikkojen määrä. |
-{#}m | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden kuukausien määrä. |
-{#}q | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden neljännesten määrä. |
-{#}y | Kyselyn suorituspäivän ja ‑ajan jälkeen kuluneiden vuosien määrä. |
yyyy-MM-dd | Tietty päivämäärä. |
yyyy-MM-ddThh:mm:ss | Valittu päivämäärä ja kellonaika. |
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.
Päivämääräfunktio | Kuvaus |
---|---|
now | Pä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. |
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:
Nimetyn päivämäärävälin operaattori | Kuvaus |
---|---|
today | Päivämäärä, jona kysely on suoritettava. |
yesterday | Edellinen 24 tunnin jakso kyselyn suorittamisesta. |
this_week | Nykyinen kalenteriviikko. |
this_month | Nykyinen kalenterikuukausi. |
this_quarter | Nykyinen kalenterineljännes. |
this_year | Nykyinen kalenteriviikko. |
last_week | Edellinen kalenteriviikko. |
last_month | Edellinen kalenterikuukausi. |
last_quarter | Edellinen kalenterineljännes. |
last_year | Edellinen kalenteriviikko. |
bfcmYYYY | Valitun 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 kuinDURING
-avainsanan käyttämä. JosUNTIL
-arvoa ei ole määritetty, se laskee aikavälin yhtä suureksi kuinDURING
-avainsanan arvo. EsimerkiksiDURING 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
-parametriaGROUP 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:
Suhteellisen päivämäärävälin operaattori | Kuvaus |
---|---|
previous_period | Yksi jakso ennen peruspäivämääräväliä. |
previous_year | Yksi vuosi ennen peruspäivämääräväliä. |
previous_quarter | Yksi vuosineljännes ennen peruspäivämääräväliä. |
previous_month | Kuukausi ennen peruspäivämääräväliä. |
previous_week | Yksi viikko ennen peruspäivämääräväliä. |
previous_day | Yksi päivä ennen peruspäivämääräväliä. |
previous_hour | Yksi tunti ennen peruspäivämääräväliä. |
previous_minute | Yksi minuutti ennen peruspäivämääräväliä. |
previous_second | Yksi sekunti ennen peruspäivämääräväliä. |
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.
TIMESERIES | ORDER BY | Tulos |
---|---|---|
Näkyy | Ei esillä | Tulokset lajitellaan TIMESERIES -dimension mukaan. |
Näkyy | Näkyy | Tulokset lajitellaan TIMESERIES -aikadimension mukaan ja sen jälkeen ORDER BY ‑dimension mukaan. |
Ei esillä | Näkyy | Tulokset lajitellaan ORDER BY -dimension mukaan. |
Ei esillä | Ei esillä | Tulokset lajitellaan ensimmäisen SHOW -sarakkeen mukaan. |
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 lausekkeen 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-operaattorit
ShopifyQL sisältää seuraavat lisäoperaattorit:
- matemaattiset operaattorit, kuten
+
tai/
- implisiittinen yhdistäminen
- osittaisten merkkijonojen ja matriisien täsmääminen, kuten
STARTS WITH
jaCONTAINS
- Kommentit
Matemaattiset operaattorit
ShopifyQL mahdollistaa laskutoimenpiteiden suorittamisen tietojesi mittareilla. Käytettävissä on seuraavat matemaattiset operaattorit:
Matemaattinen operaattori | Kuvaus |
---|---|
+ | Lisätään kaksi numeroa. |
- | Vähennetään kaksi numeroa. |
* | Kerrotaan kaksi numeroa. |
/ | Jaetaan kaksi numeroa. |
Tämä kysely esimerkiksi laskee tilauksen arvon jokaiselle alueelle viimeisen vuoden ajalta. Kun käytät matemaattisia operaattoreita ja mittareja, voit liittää uuteen mittariin uuden nimen AS
-avainsanan avulla. Ota huomioon, että matemaattisten lausekkeiden käytöllä on rajoituksia.
FROM sales
SHOW (net_sales + returns) AS order_value, orders
GROUP BY billing_region
SINCE -1y
UNTIL today
implisiittinen yhdistäminen
Liitoksen avulla voit tarkastella eri verkkotunnusten mittareita yhdessä vierekkäin. Liitokset tehdään implisiittisesti ja älykkäästi ShopifyQL:ssä.
ShopifyQL tarjoaa seuraavat liitostoiminnot:
- ShopifyQL sallii mittakenttien liitokset, kun kyselyssä on yksi
FROM
-taulukko. - Se tukee automaattisia vasempia liitoksia mittakentissä.
- ShopifyQL sallii useiden tietojen liitokset (kun kyselyissä on useita
FROM
-taulukoita). - Se tukee automaattisia täysiä liitoksia useiden tietojen liitoksissa,jotka tukevat mitä tahansa määrää taulukoita tai skeemoja ja jotka on ryhmitelty mittojen mukaan.
- Useiden tietojen liitosten mittareissa voi käyttää matematiikkaa.
Shopify QL:llä on seuraavat liitosrajoitukset:
- Liitoskentällä täytyy olla sama nimi kaikissa liitetyissä skeemoissa.
- Liitoskentän täytyy olla
GROUP BY
. - Liitoskentässä ei voi käyttää matematiikkaa.
FROM
on pakollinen, jotta useiden tietojen liitokset toimivat.- Usein tietojen liitoksissa jokainen
GROUP BY
täytyy olla mukana kaikissa skeemoissa. Se katsotaan kentäksi, johon liitetään.
Esimerkiksi tämä kysely käyttää usein tietojen liitosta:
FROM sales, sessions
SHOW day, total_sales, sessions
GROUP BY day
SINCE 2023-10-03
ORDER BY day
Osittainen merkkijonojen matriisien yhdistäminen
Voit käyttää seuraavia operaattoreita osittaisessa merkkijonojen ja matriisien yhdistämisessä:
Operaattori | Kuvaus |
---|---|
STARTS WITH | Palauttaa kaikki rivit, joiden sarake alkaa etuliitteellä. |
ENDS WITH | Palauttaa kaikki rivit, joiden sarake loppuu jälkiliitteeseen. |
CONTAINS | Palauttaa kaikki rivit, joissa sarake sisältää osan merkkijonosta tai matriisin elementin. |
Alla on joitain esimerkkejä kyselyistä, joissa käytetään osittaista merkkijonojen yhdistämistä operaattoreilla:
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
Operaattorilla CONTAINS
voi yhdistää matriisien elementtejä (mukaan lukien kokonaisluvut, merkkijonot ja desimaaliluvut). Tässä yhdistämisessä kirjainkoolla ei ole merkitystä. Alla on joitakin esimerkkejä matriisien yhdistämisessä kyselyillä, joihin sisältyy operaattori CONTAINS
:
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'
Kommentit
Kommenttien avulla voit selittää ShopifyQL-lausekkeiden osia tai estää ShopifyQL-lausekkeen suorittamisen. Kaikki kommentin tekstit ohitetaan suoritusajan aikana.
Yhden rivin kommentit alkavat --
ja loppuvat rivin loppuun.
Usean rivin kommentit alkavat /*
ja loppuvat */
.
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
*/