Korzystanie z edytora zapytań ShopifyQL

ShopifyQL możesz używać z nową wersją Shopify Analytics do przeszukiwania własnej bazy danych i pobierania danych, które zapewnią Ci pełniejszy wgląd w sytuację Twojej firmy.

ShopifyQL lub Język zapytań Shopify jest językiem zapytań Shopify stworzonym dla handlu. Języki zapytań są wykorzystywane do żądania i pobierania danych z baz danych. Dane sklepu są przechowywane w tabelach bazy danych o strukturze zdefiniowanych kolumn i wierszy. Kolumny definiują typ informacji, które zawierają, np. sprzedaż, a wiersze określają rzeczywistą wartość typu danych, np. 2450 USD z tytułu sprzedaży.

Aby pobrać dane w zrozumiałym formacie, należy przesłać zapytanie do bazy danych. Zapytanie to forma pytania o konkretne dane, w której używane są słowa kluczowe oraz powiązane z nimi parametry. Tworzy je kombinacja kilku słów kluczowych o określonych parametrach. Po utworzeniu zapytania możesz je wykonać i uzyskać raport.

Słownik terminów

Definicje terminów ShopifyQL, takich jak wymiar, słowo kluczowe i operator.
WarunekDefinicja
WymiarAtrybut, który dzieli dane na segmenty, dzięki czemu można je posortować i przedstawić w bardziej przejrzysty sposób. Typowe przykłady wymiarów to czas, produkty i miejsca. Wymiary są używane jako parametry w ShopifyQL.
Słowo kluczoweSkładnia ShopifyQL, która pełni funkcję polecenia kierującego zapytaniem.
WskaźnikIlościowy pomiar danych. Typowe przykłady wskaźników to sprzedaż całkowita, liczba zamówień i zysk brutto.
ParametrSkładnia ShopifyQL identyfikująca elementy bazy danych lub szczegóły, które mają być zawarte w zapytaniu.
OperatorZarezerwowane słowo lub znak używane w ramach zapytania. Przykłady: STARTS WITH, >= lub last_week.

Składnia ShopifyQL

Podczas tworzenia prawidłowego zapytania do raportu za pomocą ShopifyQL musisz spełnić następujące wymagania:

  • Całe zapytanie możesz umieścić w jednej linii lub w osobnych liniach.
  • Musisz podać co najmniej te słowa kluczowe: FROM i SHOW z ich odpowiednimi parametrami. Wszystkie inne słowa kluczowe i parametry są opcjonalne.
  • Wszystkie słowa kluczowe w zapytaniu muszą być zapisane w następującej kolejności:
    1. FROM
    2. SHOW
    3. WHERE
    4. GROUP BY
    5. WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
    6. TIMESERIES
    7. HAVING
    8. SINCE & UNTIL lub DURING
    9. COMPARE TO & opcjonalne UNTIL
    10. ORDER BY
    11. LIMIT
    12. VISUALIZE & TYPE

Poniżej znajduje się przykład składni ShopifyQL zapisanej jako zapytanie przy użyciu prawidłowej składni. Kluczowe słowa są wyróżnione pogrubieniem, ich parametry zapisano za pomocą ogólnych symboli zastępczych, a opcjonalne parametry umieszczono w nawiasach:

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

Słowa kluczowe ShopifyQL

Zapytania ShopifyQL mogą mieć charakter podstawowy i wówczas umożliwiają uzyskanie ogólnego wglądu w dane lub mogą być kompleksowe i dotyczyć informacji szczegółowych. Każde słowo kluczowe ma określoną funkcję, która buduje zapytanie.

Lista słów kluczowych ShopifyQL i ich opisów.
Słowo kluczoweOpis
FROMOkreśla tabelę zestawu danych, z której mają zostać wybrane dane.
SHOWWybiera kolumny do wyodrębnienia z tabeli zestawu danych.
WHEREOkreśla warunek lub warunki, które muszą spełnić wiersze, aby zostały wybrane.
GROUP BYGrupuje wyodrębnione dane według wymiaru lub wymiary czasu.
WITHModyfikuje zachowanie niektórych słów kluczowych ShopifyQL.
TIMESERIESRozróżnia grupowanie według wymiarów czasowych i uzupełnia daty w zapytaniu.
HAVINGFiltruje wyniki zapytania po ich zgrupowaniu.
SINCEWyświetla dane od określonego momentu w przeszłości. Często sparowane z UNTIL.
UNTILPokazuje dane do określonego czasu w przeszłości. Często sparowane z SINCE lub COMPARE TO.
DURINGWyświetla dane z określonego okresu w przeszłości.
COMPARE TOPokazuje dane do porównania z określonym czasem w przeszłości.
ORDER BYOkreśla kolumnę, według której mają być uporządkowane dane.
LIMITOgranicza liczbę wyświetlanych wierszy danych.
VISUALIZEWyświetla dane w postaci wizualizacji liniowej lub słupkowej. Za pomocą słowa TYPE można określić preferowaną wizualizacje.
ASOpcjonalne słowo kluczowe, które zmienia nazwę kolumny na wybraną nazwę.

FROM i SHOW

Utworzenie najprostszego zapytania ShopifyQL wymaga tylko dwóch słów kluczowych: FROM i SHOW, zapisanych w tej kolejności. FROM, po którym następuje jeden lub więcej parametrów nazw tabel, określa, które tabele mają zostać objęte zapytaniem. SHOW, po którym następuje dowolna liczba parametrów nazw kolumn, określa kolumny, które chcesz wybrać.

SHOW mogą służyć do określania kolejności zwracania wskaźników i wymiarów w raporcie.

Na przykład możesz uzyskać sumę całkowitej sprzedaży, pisząc takie zapytanie:

FROM sales
SHOW total_sales

WHERE

Słowo kluczowe WHERE umożliwia zastosowanie filtra wymiarowego do całego zapytania ShopifyQL. Filtr może być modyfikowany zarówno przez operatory porównania (takie jak: większe niż >), operatory logiczne (takie jak: AND lub NOT), jak i częściowe dopasowywanie ciągów znaków i tablic (takie jak: STARTS WITH i CONTAINS).

WHERE warunki muszą spełniać następujące wymagania:

  • Wartości muszą być otoczone pojedynczymi cudzysłowami ('), a nie podwójnymi cudzysłowami (").
  • Warunki nie mogą zawierać żadnych działań arytmetycznych.
  • Warunki mogą dotyczyć tylko wymiaru, a nie wskaźnika.

Na przykład, jeśli chcesz uzyskać łączną sprzedaż filtrowaną według kraju rozliczeniowego, możesz użyć takiego zapytania:

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

Na przykład w powyższym przykładzie możesz filtrować wynik ustawiony za pomocą parametru WHERE, nawet jeśli ten parametr nie jest uwzględniony w słowie kluczowym SHOW. W tym przypadku łączna sprzedaż jest ograniczona do zamówień z Kanady, nawet jeśli nie uwzględniono billing_country w zestawie wyników.

Operatory porównania

Słowo kluczowe WHERE wykorzystuje operatory porównania do filtrowania danych. W powyższym przykładzie użyto = do określenia, że zapytanie filtruje według określonej wartości, jednak dostępne są także inne operatory:

Lista operatorów porównania ShopifyQL, takich jak większe niż lub równe.
Operator porównaniaOpis
=równe
!=nierówne
<mniejsze niż
>większe niż
<=mniejsze lub równe
>=większe lub równe

Operatory logiczne

Aby jeszcze bardziej przefiltrować dane, możesz dodać do zapytania operatory logiczne. Operatory logiczne ShopifyQL to:

Lista operatorów logicznych ShopifyQL, takich jak AND, OR i NOT.
Operator logicznyOpis
ANDOgranicza wynik do wierszy spełniających warunki oddzielone operatorem AND.
OROgranicza wynik do wierszy spełniających przynajmniej jeden z warunków oddzielonych OR.
NOTOgranicza wynik do wierszy, które nie spełniają określonych warunków, na przykład takich, które nie zawierają określonej wartości.

Możesz użyć wielu filtrów ze słowem kluczowym WHERE, dodając operatory logiczne.

Po rozszerzeniu przykładowego zapytania dotyczącego zestawu danych, które zwraca miesięczne podsumowanie sprzedaży netto dla wszystkich zamówień na suszone brzoskwinie z adresem rozliczeniowym w Kanadzie, zapytanie wygląda tak:

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

Do segmentacjiwskaźnika według wymiaru, np. sprzedaż grupowa według regionu, użyj słowa kluczowego GROUP BY. Słowo kluczowe GROUP BY można sparować z dowolnym parametrem wymiaru.

Przykładowo zapytanie, które grupuje łączną sprzedaż według kraju i regionu rozliczenia, jest zapisane w poniższy sposób:

FROM sales
SHOW total_sales
GROUP BY billing_country, billing_region

Oto kolejne przykładowe zapytanie, w którym używany jest wymiar czasu w celu przedstawienia łącznej sprzedaży według miesięcy:

FROM sales
SHOW total_sales
GROUP BY month

Powyższe zapytanie nie zwraca miesięcy, w których nie odnotowano sprzedaży. Jeśli chcesz, aby zapytanie zwróciło pełny, nieprzerwany okres czasu, użyj słowa kluczowegoTIMESERIES.

FROM sales
SHOW total_sales
TIMESERIES month
SINCE last_year
UNTIL today

Wymiary czasu

Są to wymiary czasu, których można użyć do pogrupowania danych:

Lista wymiarów czasu ShopifyQL, takich jak sekunda, minuta lub dzień tygodnia.
OperatorOpis
secondGrupowanie według sekund w ramach godziny.
minuteGrupowanie według minut w ramach godziny.
hourGrupowanie według godzin w dniu kalendarzowym.
dayGrupowanie według dnia kalendarzowego
weekGrupowanie według tygodnia kalendarzowego
monthGrupowanie według miesiąca kalendarzowego.
quarterGrupowanie według kwartału kalendarzowego.
yearGrupowanie według roku kalendarzowego.
hour_of_dayGrupowanie według 24 godzin (1,2,...,24).
day_of_weekGrupowanie według dnia tygodnia (P, W, Ś, ... N).
week_of_yearGrupowanie według tygodnia roku (1,2, ...,52).
month_of_yearGrupowanie według miesiąca roku (1, 2, ..., 12).

TIMESERIES

Możesz użyć słowa kluczowego TIMESERIES, jeśli chcesz odróżnić grupowanie według wymiarów czasu, wyświetlać wskaźniki w przedziale czasu i wypełniać daty w zapytaniu, aby przekształcić je wykres szeregów czasowych w miejscach, gdzie brakuje danych.

W tym przykładzie uzupełniasz brakujące dane o całkowitej sprzedaży z ostatnich 15 dni:

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

TIMESERIES i kolejność kolumn

W zależności od tego, czy słowo kluczowe TIMESERIES jest podane i obecne w wartościach GROUP BY lub SHOW, kolejność kolumn może ulec zmianie.

Przykłady TIMESERIES i sposób wyświetlania kolejności kolumn przy użyciu GROUP BY lub SHOW w ShopifyQL.
TIMESERIESSHOWGROUP BYWynik
PodaneBrakBrak TIMESERIES jest pierwszym wymiarem.
PodaneBrakIstniejePozycja wymiarów czasu jest definiowana przez jej pozycję w GROUP BY.
PodaneIstniejeIstniejePozycja wymiarów czasu jest definiowana przez jej pozycję w SHOW.
Nie podanoBrakIstniejePozycja wymiarów czasu jest definiowana przez jej pozycję w GROUP BY. Dane nie są wypełniane.
Nie podanoIstniejeIstniejePozycja wymiarów czasu jest definiowana przez jej pozycję w SHOW. Dane nie są wypełniane.
Nie podanoIstniejeBrakWyzwala błąd składniowy, ponieważ SHOW może dotyczyć tylko wymiarów obecnych w GROUP BY.

HAVING

Słowo kluczowe HAVING pozwala na filtrowanie wyników zapytania po dokonaniu grupowania, podobnie jak WHERE. Filtr może mieć jeden warunek, ale warunek może być zmieniany zarówno przez operatory porównania (takie jak większe niż >) jak i operatory logiczne (takie jak AND lub NOT). HAVING może odwoływać się do aliasów, funkcji agregacji i kolumn grupowania, w odróżnieniu od słowa kluczowego WHERE

HAVING wymaga, aby zapytanie zawierało klauzulę GROUP BY lub TIMESERIES, ponieważ HAVING filtruje wyniki zapytania po ich pogrupowaniu według GROUP BY lub TIMESERIES.

W tym przykładzie filtrujesz całkowitą sprzedaż dla każdego produktu, którego sprzedaż wynosi więcej niż 1000 i mniej niż 5000:

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

WITH

Słowo kluczowe WITH modyfikuje zachowanie niektórych innych słów kluczowych ShopifyQL. Dostępne są 3 modyfikacje:

  • TOTALS: Prezentuje podsumowanie wskaźników na najwyższym poziomie, zanim zostaną one podzielone według dowolnego wymiaru.
  • GROUP_TOTALS: Prezentuje łączną wartość dla wszystkich podgrup w przypadku grupowania z agregacją.
  • PERCENT_CHANGE: Dodaje wskaźnik zmiany procentowej do każdej kolumny porównania w COMPARE TO. Gdy ten modyfikator jest obecny, dla każdej kolumny wskaźnika porównania dodawana jest nowa kolumna zawierająca zmianę procentową.

TOTALS

Modyfikator TOTALS zawiera podsumowanie wskaźników najwyższego poziomu, zanim będą one podzielone na inny wymiar. Gdy używasz WITH TOTALS, zapytanie zwraca sumy jako dodatkowe kolumny w zestawie wyników, gdzie nazwa kolumny zawiera nazwę wskaźnika oraz słowo 'sumy'. Każdy wiersz zawiera wszystkie odpowiednie sumy.

Na przykład to zapytanie wyświetla sumy łącznej sprzedaży:

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

To zapytanie może zwrócić raport podobny do tego:

Przykład tabeli ShopifyQL dla sprzedaży z użyciem WITH TOTALS.
DzieńSprzedaż bruttoSprzedaż nettoŁączna sprzedażSumy sprzedaży bruttoSumy sprzedaży nettoSumy sprzedaży łącznej
2024-01-0114761524
2024-01-0225861524
2024-01-0336961524

GROUP_TOTALS

Modyfikator GROUP_TOTALS zapewnia sumę dla wszystkich podgrup w przypadku grupowania z agregacją. Gdy używasz WITH GROUP_TOTALS, zapytanie zwraca sumy jako dodatkowe kolumny w zestawie wyników, gdzie nazwa kolumny zawiera nazwę wskaźnika, wymiary podlegające sumowaniu oraz słowo 'sumy'. Każdy wiersz zawiera wszystkie odpowiednie sumy.

Na przykład to zapytanie wyświetla łączną sprzedaż według kraju rozliczeniowego:

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

To zapytanie może zwrócić raport podobny do tego:

Przykładowa tabela sprzedaży ShopifyQL z wykorzystaniem GROUP_TOTALS.
KrajID klientaŁączna sprzedażSuma całkowitej sprzedaży w krajuSumy sprzedaży łącznej
USA1101
USAnull-111
Kanada1111

PERCENT_CHANGE

Modyfikator PERCENT_CHANGE dodaje wskaźnik zmiany procentowej do każdej kolumny porównania, gdy używasz COMPARE TO. Gdy używasz WITH PERCENT_CHANGE, zapytanie zwraca procentową zmianę dla każdego porównywanego wskaźnika jako dodatkowe kolumny w zestawie wyników, gdzie nazwa kolumny zawiera nazwę wskaźnika oraz wyrażenie 'zmiana procentowa'.

Wzór używany do obliczania zmiany procentowej to: (base_column - comparison_column) * 100 / abs(comparison_column)

W tym przykładzie zapytanie wykorzystuje SINCE i COMPARE TO do porównania dziennej sprzedaży netto z ubiegłego miesiąca z analogicznym okresem w poprzednim roku, dodając kolumnę ze zmianą procentową:

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

Kolumny w wygenerowanym raporcie obejmują dzień, sprzedaż netto, dzień porównania, sprzedaż netto z porównania oraz procentową zmianę sprzedaży netto.

SINCE i UNTIL

Jeśli chcesz filtrować zapytanie według daty lub okresu, możesz użyć słów kluczowych SINCE i UNTIL oraz powiązanych z nimi parametrów. Te słowa kluczowe są unikalne, ponieważ filtrują tylko okresy czasu. Jeśli zastosujesz SINCE bez zdefiniowania wartości UNTIL, koniec zakresu czasu zostanie ustawiony domyślnie na today.

Przykładowo poniższe zapytanie ma na celu wyszukanie sprzedaży netto z ostatnich 12 miesięcy w Kanadzie, kończąc na dniu wczorajszym:

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

Operatory przesunięcia

Można filtrować według określonych dat lub według przesunięć daty i godziny. Operatory przesunięcia ShopifyQL:

Lista operatorów przesunięcia, takich jak przesunięcie o sekundy, minuty lub do określonej daty.
Operator przesunięciaOpis
-{#}sLiczba sekund wstecz od daty i godziny uruchomienia zapytania.
-{#}minLiczba minut wstecz od daty i godziny uruchomienia zapytania.
-{#}hLiczba godzin wstecz od daty i godziny uruchomienia zapytania.
-{#}dLiczba dni wstecz od daty i godziny uruchomienia zapytania.
-{#}wLiczba tygodni wstecz od daty i godziny uruchomienia zapytania.
-{#}mLiczba miesięcy wstecz od daty i godziny uruchomienia zapytania.
-{#}qLiczba kwartałów wstecz od daty i godziny wykonania zapytania.
-{#}yLiczba lat wstecz od daty i godziny uruchomienia zapytania.
yyyy-MM-ddKonkretna data.
yyyy-MM-ddThh:mm:ssKonkretna data i godzina.

Funkcje dat

Możesz używać następujących funkcji w połączeniu z operatorami zakresu dat (z wyjątkiem określonych dat) w klauzulach SINCE i UNTIL. Gdy funkcje "startOf..." są używane z SINCE, ograniczają operator, ustawiając go na początek odpowiedniej jednostki czasu (minuta, godzina, dzień, tydzień, miesiąc, kwartał, rok), a funkcje "endOf..." w połączeniu z UNTIL ograniczają operator, ustawiając go na koniec tej jednostki czasu.

Jednostki funkcji daty i operatora muszą być zgodne, aby zwracany był poprawny wynik. Na przykład startOfMonth(-1m) jest poprawny, ale startOfMonth(-1d) jest niepoprawny.

Lista funkcji daty ShopifyQL, np. koniec dnia lub początek kwartału.
Funkcja datyOpis
nowData i godzina wykonania zapytania.
startOfMinute(-{#}min)Ogranicza operator zakresu dat, ustawiając go na początek wybranej minuty.
endOfMinute(-{#}min)Ogranicza operator zakresu dat, ustawiając go na koniec wybranej minuty.
startOfHour(-{#}h)Ogranicza operator zakresu dat, ustawiając go na początek wybranej godziny.
endOfHour(-{#}h)Ogranicza operator zakresu dat, ustawiając go na koniec wybranej godziny.
startOfDay(-{#}d)Ogranicza operator zakresu dat, ustawiając go na początek wybranego dnia.
endOfDay(-{#}d)Ogranicza operator zakresu dat, ustawiając go na koniec wybranego dnia.
startOfWeek(-{#}w)Ogranicza operator zakresu dat, ustawiając go na początek wybranego tygodnia.
endOfWeek(-{#}w)Ogranicza operator zakresu dat, ustawiając go na koniec wybranego tygodnia.
startOfMonth(-{#}m)Ogranicza operator zakresu dat, ustawiając go na początek wybranego miesiąca.
endOfMonth(-{#}m)Ogranicza operator zakresu dat, ustawiając go na koniec wybranego miesiąca.
startOfQuarter(-{#}q)Ogranicza operator zakresu dat, ustawiając go na początek wybranego kwartału.
endOfQuarter(-{#}q)Ogranicza operator zakresu dat, ustawiając go na koniec wybranego kwartału.
startOfYear(-{#}y)Ogranicza operator zakresu dat, ustawiając go na początek wybranego roku.
endOfYear(-{#}y)Ogranicza operator zakresu dat, ustawiając go na koniec wybranego roku.

Na przykład, jeśli dzisiaj jest 8 listopada 2022 r., możesz użyć następującego zapytania, aby uzyskać sprzedaż brutto od 1 stycznia 2020 r. do 31 października 2022 r.:

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

DURING

Słowo kluczowe DURING upraszcza filtrowanie dat dla zakresów dat i zastępuje użycie SINCE i UNTIL. Możesz użyć słowa kluczowego DURING do filtrowania wyników zapytania dla znanego okresu, np. roku kalendarzowego lub określonego miesiąca, lub dla zakresów dat, które każdego roku przypadają w różnych dniach (przykładem może być Black Friday i Cyber Monday). Przykład: Przykład:

FROM sales
SHOW total_sales
GROUP BY day
DURING bfcm2021

Operatory określonych zakresów dat

DURING obsługuje każdy z poniższych operatorów określonych zakresów dat:

Lista operatorów określonych zakresów dat ShopifyQL, takich jak dzisiaj, wczoraj lub ten tydzień.
Operator określonych zakresów datOpis
todayData uruchomienia zapytania.
yesterdayOkres 24-godzinny poprzedzający wykonanie zapytania
this_weekBieżący tydzień kalendarzowy.
this_monthBieżący miesiąc kalendarzowy.
this_quarterBieżący kwartał kalendarzowy.
this_yearBieżący rok kalendarzowy
last_weekPoprzedni tydzień kalendarzowy.
last_monthPoprzedni miesiąc kalendarzowy.
last_quarterPoprzedni kwartał kalendarzowy.
last_yearPoprzedni rok kalendarzowy
bfcmYYYYZakres Black Friday i Cyber Monday dla określonego roku. Na przykład bfcm2022 zwraca wyniki dotyczące 25-28 listopada 2022 r.

COMPARE TO

Słowo kluczowe COMPARE TO umożliwia porównywanie danych w zakresie dat SINCE i UNTIL lub DURING oraz COMPARE TO.

Możesz użyć słowa kluczowego COMPARE TO z następującymi typami parametrów:

  • Daty bezwzględne, takie jak 2023-01-01: Obejmuje wskaźniki dla podanego okresu i wskaźniki porównawcze dla tego samego okresu odnoszącego się do daty bezwzględnej.
  • Określone daty, takie jak last_week: Obejmuje wskaźniki dla podanego okresu i wskaźniki porównawcze dla tego samego okresu odnoszącego się do określonej daty.

    • Operator wykorzystywany przez COMPARE TO nie musi mieć takiego samego przedziału czasowego, jak w przypadku DURING. Jeśli nie podano wartości UNTIL, zakres czasu zostanie obliczony jako równy wartości określonej w słowie kluczowym DURING. Na przykład DURING this_week COMPARE TO last_month porównuje dane z tego tygodnia z okresem jednotygodniowym, który zaczyna się na początku ostatniego miesiąca.
  • Przesunięte daty, takie jak -3q: Obejmuje wskaźniki dla określonego okresu i wskaźniki porównawcze dla tego samego okresu odnoszącego się do daty względnej.

  • Wiele porównań dat, takich jak -1y, -2y: Porównaj dane z określonego zakresu dat z wieloma innymi zakresami dat. Może to być przydatne, gdy chcesz śledzić zmiany na przestrzeni kilku okresów.

  • Jeśli używasz wymiaru daty w zapytaniu z COMPARE TO, musisz użyć dla niego TIMESERIES, a nie GROUP BY.

W poniższym przykładzie porównano sprzedaż netto w poprzednim miesiącu z tym samym miesiącem w poprzednim roku:

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

Operator względnych zakresów dat

Operatory względne zwracają ten sam przedział czasowy co podstawowy zakres dat, przesunięty wstecz o określony okres. Oprócz operatorów określonych zakresów dat, COMPARE TO obsługuje także następujące operatory względne:

Lista operatorów względnych zakresów dat ShopifyQL, takich jak poprzedni okres lub poprzedni rok.
Operator względnych zakresów datOpis
previous_periodJeden okres przed bazowym zakresem dat.
previous_yearJeden rok przed bazowym zakresem dat.
previous_quarterJeden kwartał przed bazowym zakresem dat.
previous_monthJeden miesiąc przed bazowym zakresem dat.
previous_weekJeden tydzień przed bazowym zakresem dat.
previous_dayJeden dzień przed bazowym zakresem dat.
previous_hourJedna godzina przed bazowym zakresem dat.
previous_minuteJedna minuta przed bazowym zakresem dat.
previous_secondJedna sekunda przed bazowym zakresem dat.

ORDER BY

Sposób sortowania danych zwracanych przez zapytanie można określić za pomocą słowa kluczowego ORDER BY i jego parametrów: ASC, oznaczającego kolejność rosnącą, i DESC, oznaczającego kolejność malejącą.

W słowie kluczowym ORDER BY można określić dowolny wskaźnik lub wymiar uwzględniony w zapytaniu, w tym wiele pól.

Na przykład to zapytanie zwraca sprzedaż netto dla wszystkich produktów i wariantów w ciągu ostatniego roku. Wyniki są najpierw posortowane w kolejności alfabetycznej według tytułu produktu, a następnie w odwrotnym porządku alfabetycznym według typu produktu:

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

Kolejność zapisu wskaźników lub wymiarów ma znaczenie. Jeśli określisz wiele wartości dla parametru ORDER BY, każdy wskaźnik lub wymiar zostanie posortowany w podanej kolejności.

TIMESERIES i kolejność kolumn

W zależności od tego, czy zapytanie zawiera TIMESERIES i ORDER BY, kolejność kolumn może ulec zmianie.

Przykład TIMESERIES oraz kolejność kolumn, gdy zastosowano ORDER BY w ShopifyQL.
TIMESERIESORDER BYWynik
IstniejeBrakWyniki są uporządkowane według wymiaru TIMESERIES.
IstniejeIstniejeWyniki są uporządkowane według wymiaru czasu TIMESERIES, a następnie wymiaruORDER BY.
BrakIstniejeWyniki są uporządkowane według wymiaru ORDER BY.
BrakBrakWyniki są uporządkowane według pierwszej kolumny SHOW.

LIMIT

Słowo kluczowe LIMIT umożliwia określenie maksymalnej liczby wierszy zwracanych przez zapytanie. Jest to przydatne, gdy po prostu chcesz zrozumieć, w jaki sposób wyświetlane są dane w każdej kolumnie lub w przypadku większych raportów, w przypadku których zwracanie wartości może trwać dłużej niż zapytania. Możesz połączyć LIMIT z ORDER BY , aby utworzyć górne i dolne listy.

Jeśli nie określisz wartości LIMIT, zapytanie domyślnie będzie zawierać 1000 wierszy.

Możesz także użyć opcjonalnego parametru { OFFSET # }, aby pominąć określoną liczbę wierszy przed rozpoczęciem zwracania danych wiersza. Wynikowa fraza zostanie sformatowana podobnie do: LIMIT 15 { OFFSET 5 }.

W poniższym przykładzie użyto słów kluczowych LIMIT i ORDER BY, aby utworzyć listę 10 najlepiej sprzedających się produktów w ciągu ostatnich 3 miesięcy:

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 i TYPE

Słowo kluczowe VISUALIZE umożliwia tworzenie zapytań ShopifyQL, które prezentują dane w postaci graficznej wizualizacji. Obsługiwane wizualizacje zawierają następujące wartości:

  • 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

Słowo kluczowe TYPE jest opcjonalne i musi być używane razem z jednym typem wizualizacji. Jeśli TYPE nie jest uwzględniony w zapytaniu, ShopifyQL automatycznie określa najlepszą wizualizację odpowiednią dla Twojego zapytania. Jeśli Twoje zapytanie nie może zostać przedstawione jako tekst pisany, ShopifyQL zwróci dane w formie tabelarycznej.

VISUALIZE obsługuje także opcjonalne słowo kluczowe LIMIT, w przypadku którego parametr jest ograniczoną liczbą punktów danych do renderowania.

Możesz na przykład określić trend sprzedaży w ciągu ostatniego roku według miesięcy za pomocą linii trendu. Poniższe zapytanie zwraca wykres szeregu czasowego, na którym wyświetlana jest sprzedaż brutto w poszczególnych miesiącach w ciągu ostatniego roku. Sprzedaż jest przedstawiona za pomocą pojedynczej linii z osią x oznaczoną jako miesiąc i osią y oznaczoną jako sprzedaż brutto:

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

AS

Słowo kluczowe AS jest opcjonalnym słowem kluczowym, które umożliwia zmianę nazwy (lub podanie aliasu) kolumny lub wartości zwracanej funkcji zagregowanej.

AS akceptuje tylko jeden parametr. Jeśli alias zawiera spację w nazwie, należy go ująć w podwójny cudzysłów (").

FROM sales
SHOW total_sales AS "My Total Sales"

Inne funkcje i operatory ShopifyQL

ShopifyQL obejmuje następujące dodatkowe operatory i funkcje:

Operatory matematyczne

ShopifyQL umożliwia wykonywanie działań arytmetycznych na wskaźnikach w danych. Dostępne są następujące operatory matematyczne:

Lista operatorów matematycznych ShopifyQL, w tym plus i minus.
Operator matematycznyOpis
+Dodawanie dwóch liczb.
-Odejmowanie dwóch liczb.
*Mnożenie dwóch liczb.
/Dzielenie dwóch liczb.

Poniższe zapytanie oblicza na przykład wartość zamówienia dla każdego regionu w ciągu ostatniego roku. Korzystając z operatorów matematycznych ze wskaźnikami, możesz użyć słowa kluczowego AS, aby przypisać nową nazwę do nowego wskaźnika.

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

Funkcje

Funkcje ShopifyQL umożliwiają agregowanie kolumn lub ich łączenie w celu utworzenia nowej wartości, w sposób podobny do tabel przestawnych w programie Microsoft Excel. W bieżącej wersji ShopifyQL dostępne są następujące operatory funkcji:

Lista obsługiwanych funkcji ShopifyQL, takich jak przycinanie i zaokrąglanie.
Operator funkcyjnyOpis
TRIM(column_name)Usuwa spacje na początku i końcu ciągu znaków.
ROUND(column_name, decimal_places)Zaokrągla wartość liczbową do najbliższej liczby całkowitej lub określonej liczby miejsc dziesiętnych. W tej funkcji decimal_places jest wartością całkowitą:
  • Jeśli decimal_places > 0, funkcja zaokrągla wartość po przecinku.
  • Jeśli decimal_places < 0, funkcja zaokrągla wartość przed przecinkiem.
  • Jeżeli decimal_places = 0, funkcja zaokrągla wartość do liczby całkowitej. W tym przypadku argument ten można całkowicie pominąć.

Na przykład to zapytanie używa funkcji zaokrąglania w kolumnie gross_sales, ale pomija argument decimal_places w celu zaokrąglenia wartości do liczby całkowitej:

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

Niejawne złączenia

Połączenie umożliwia jednoczesne wyświetlanie obok siebie wskaźników z różnych domen. W ShopifyQL łączenia są wykonywane w niejawny i inteligentny sposób.

ShopifyQL ma następujące możliwości łączenia:

  • ShopifyQL pozwala na łączenie pól wymiarów, jeśli w zapytaniu znajduje się jedna tabela FROM.
  • Automatyczne łączenie pozostałych wartości w polach wymiarów.
  • ShopifyQL umożliwia łączenie wielofaktyczne (gdy w zapytaniach występuje wiele tabel FROM).
  • Automatyczne pełne łączenie w połączeniach wielofaktycznych, obsługujące dowolną liczbę tabel lub schematów i pogrupowane według wymiarów.
  • Metryki w połączeniach wielofaktycznych mogą używać funkcji i wyrażeń matematycznych.

W Shopify QL obowiązują następujące ograniczenia łączenia:

  • Pole łączenia musi mieć tę samą nazwę we wszystkich połączonych schematach.
  • Pole łączenia musi występować w GROUP BY.
  • Pole łączenia nie może używać funkcji ani wyrażeń matematycznych.
  • FROM jest konieczny do działania połączeń wielofaktycznych.
  • W przypadku łączenia wielofaktycznego każdy element GROUP BY musi znajdować się we wszystkich schematach i jest uważany za pole, na podstawie którego ma zostać wykonane łączenie.

Na przykład to zapytanie wykorzystuje połączenie wielofaktyczne:

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

Częściowe dopasowanie ciągu znaków i tablicy

Do częściowego dopasowywania ciągów znaków i tablic można używać następujących operatorów:

Lista operatorów częściowego dopasowywania ciągów znaków i tablic w ShopifyQL.
OperatorOpis
STARTS WITHZwraca wszystkie wiersze, w których kolumna zaczyna się od prefiksu.
ENDS WITHZwraca wszystkie wiersze, w których kolumna kończy się sufiksem.
CONTAINSZwraca wszystkie wiersze, w których kolumna zawiera część ciągu znaków lub element tablicy.

Oto kilka przykładów częściowego dopasowywania ciągów znaków przy użyciu operatorów:

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

Operatora CONTAINS można używać do dopasowywania elementów w tablicach, w tym liczb całkowitych, ciągów znaków i liczb dziesiętnych. W tym dopasowaniu wielkość liter nie ma znaczenia. Oto kilka przykładów dopasowywania tablic przy użyciu operatora 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

Komentarze

Możesz użyć komentarzy, aby wyjaśnić sekcje instrukcji ShopifyQL lub zapobiec wykonaniu instrukcji ShopifyQL. Każdy tekst w komentarzu zostanie zignorowany podczas wykonywania instrukcji.

Komentarze jednowierszowe zaczynają się od -- i kończą na końcu wiersza.

Komentarze wielowierszowe zaczynają się od /* i kończą się na */.

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
*/
Nie możesz znaleźć odpowiedzi, których szukasz? Jesteśmy tutaj, aby Ci pomóc.