Używanie języka ShopifyQL w aplikacji Notebooks

ShopifyQL to język zapytań Shopify stworzony na potrzeby handlu. Języki zapytań są wykorzystywane do żądania i pobierania danych z baz danych. Języka ShopifyQL możesz używać z aplikacją Notebooks firmy Shopify do przeszukiwania własnej bazy danych i pobierania danych, które zapewnią Ci pełniejszy wgląd w sytuację Twojej firmy.

Aby uzyskać pełną listę dostępnych wartości i wymiarów, które mogą być używane w zapytaniach ShopifyQL Notebook, zapoznaj się ze Schematem zamówień i Schematem produktów.

Przegląd ShopifyQL

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 pytanie, które wymaga podania konkretnych danych jako odpowiedzi. Język zapytań, taki jak ShopifyQL, to ustandaryzowany sposób konstruowania takiego pytania. Zapytanie składa się ze słów kluczowych i odpowiadających im parametrów. Tworzy je kombinacja kilku słów kluczowych o określonych parametrach. Po utworzeniu zapytania można je wykonać i uzyskać odpowiedź.

Poniżej znajduje się przykład składni ShopifyQL zapisanej jako zapytanie. Słowa kluczowe są pogrubione, a odpowiadające im parametry są umieszczone w nawiasach. Parametry te są symbolami zastępczymi:

FROM { table_name }
  SHOW { column1, column2, ... }
  GROUP BY { dimension | date_group }
  WHERE { condition }
  SINCE { date_offset }
  UNTIL { date_offset }
  ORDER BY { column } DESC
  LIMIT { count }

Słownik terminów

Definicje warunków ShopifyQL
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.

Tabela referencyjna słów kluczowych

Poniżej przedstawiono słowa kluczowe, których możesz użyć do napisania zapytania:

Lista słów kluczowych ShopifyQL
Słowo kluczoweWykorzystanie funkcjonalne
FROMOkreśla tabelę zestawu danych, z której mają zostać wybrane dane.
SHOWWybiera kolumny do wyodrębnienia z tabeli zestawu danych.
VISUALIZEWyświetla dane w postaci wizualizacji liniowej lub słupkowej.
GROUP BYGrupuje wyodrębnione dane według wymiaru lub wymiary czasu.
WHEREOkreśla warunek lub warunki, które muszą spełnić wiersze, aby zostały wybrane.
SINCEWyświetla dane od określonego momentu w przeszłości.
UNTILWyświetla dane do określonego momentu w przeszłości.
DURINGWyświetla dane od określonego momentu w przeszłości.
COMPARE TOWyświetla dane do określonego momentu w przeszłości.
ORDER BYOkreśla kolumnę, według której mają być uporządkowane dane.
LIMITOgranicza liczbę wyświetlanych wierszy danych.
ASZmienia nazwę kolumny na wybraną nazwę.

Pisanie zapytań 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.

Podstawy ShopifyQL: FROM i SHOW

Do utworzenia najprostszego zapytania ShopifyQL wymagane są tylko dwa słowa kluczowe: FROM i SHOW, zapisane w tej kolejności. Słowo kluczowe FROM, po którym następuje parametr nazwy tabeli, określa tabelę, do której ma być wykonane zapytanie. Słowo kluczowe SHOW, po którym następuje parametr nazwy kolumny, określa kolumny, które mają zostać wybrane.

Możesz na przykład utworzyć listę wszystkich identyfikatorów produktów i odpowiadających im tytułów z tabeli sprzedaży, pisząc poniższe zapytanie:

FROM products
  SHOW product_id, product_title

Dane grupowania: GROUP BY

Aby segmentować wskaźnik 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 wymiarowym.

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

FROM orders
  SHOW shipping
  GROUP BY billing_country, billing_region

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

FROM orders
  SHOW net_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 modyfikatora ALL:

FROM orders
  SHOW net_sales
  GROUP BY month ALL
  SINCE last_year
  UNTIL today

Jeśli używasz modyfikatora ALL, musisz również określić SINCE i UNTIL. Uwaga: modyfikator ALL działa tylko z wymiarem czasu.

Wymiary czasu

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

Wymiary czasu ShopifyQL
OperatorWykorzystanie funkcjonalne
godzinaGrupowanie według godzin w dniu kalendarzowym.
dzieńGrupowanie według dnia kalendarzowego
tydzieńGrupowanie według tygodnia kalendarzowego
miesiącGrupowanie według miesiąca kalendarzowego.
kwartałGrupowanie według kwartału kalendarzowego.
rokGrupowanie według roku kalendarzowego.
hour_of_dayGrupowanie według 24 godzin (1,2,...,24).
day_of_weekGrupowanie według dnia tygodnia (M,T,W,...,S).
week_of_yearGrupowanie według tygodnia roku (1,2,...,52).

Filtrowanie danych: WHERE

Słowo kluczowe WHERE umożliwia zastosowanie filtra wymiarowego do całego zapytania ShopifyQL.

Na przykład, jeśli chcesz uzyskać sprzedaż netto pogrupowaną według miesięcy, ale tylko dla określonego produktu, zapytanie będzie brzmiało:

FROM orders
  SHOW net_sales
  GROUP BY month ALL
  WHERE billing_region = 'ohio'
  SINCE last_year
  UNTIL today

Jak widać na powyższym przykładzie, można filtrować zestaw wyników za pomocą parametru WHERE, nawet jeśli parametr ten nie jest zawarty w słowach kluczowych SHOW ani GROUP BY. W tym przypadku sprzedaż netto jest filtrowana przez wszystkie miesiące dla zamówień tylko z adresem rozliczeniowym w Ohio, nawet jeśli billing_region nie jest uwzględniony 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ą inne operatory:

Operatory porównania ShopifyQL
Operator porównaniaWykorzystanie funkcjonalne
=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:

Operatory logiczne ShopifyQL
Operator logicznyWykorzystanie funkcjonalne
ANDFiltrowanie w celu wyświetlenia wszystkich wierszy, w których spełnione są warunki oddzielone operatorem AND.
ORFiltrowanie w celu wyświetlenia wszystkich wierszy, w których spełniony jest dowolny z warunków oddzielonych operatorem OR.
NOTFiltrowanie w celu wyświetlenia tylko wierszy, w których warunki nie są spełnione, np. wierszy, 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 uzupełnieniu przykładowego zapytania dotyczącego zestawu danych, które zwraca miesięczne podsumowanie sprzedaży netto dla wszystkich zamówień z adresem rozliczeniowym w Ohio, zapytanie wygląda tak:

FROM orders
  SHOW net_sales
  GROUP BY month ALL
  WHERE billing_region = 'ohio' AND discounts > 0
  SINCE last_year
  UNTIL today

Zakresy dat: SINCE and UNTIL

Jeśli chcesz filtrować zapytanie według daty lub okresu czasu, możesz użyć słów kluczowych SINCE i UNTIL oraz związanych z nimi parametrów. Te słowa kluczowe są unikalne, ponieważ filtrują tylko okresy czasu.

Przykładowo poniższe zapytanie ma na celu wyszukanie sprzedaży netto z ostatnich 12 miesięcy w Kanadzie, począwszy od dnia dzisiejszego:

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

Operatory przesunięcia

Filtrowanie może być wykonywane według określonych dat lub według przesunięć dat. Operatory przesunięcia ShopifyQL to:

Operatory przesunięcia ShopifyQL
Operator przesunięciaWykorzystanie funkcjonalne
-{#}dLiczba dni, które upłynęły od dnia wykonania zapytania.
-{#}wLiczba tygodni, które upłynęły od dnia wykonania zapytania.
-{#}mLiczba miesięcy, które upłynęły od dnia wykonania zapytania.
-{#}qLiczba kwartałów, które upłynęły od dnia wykonania zapytania.
-{#}yLiczba lat, które upłynęły od dnia wykonania zapytania.
rrrr-mm-ddKonkretna data.
dzisiajData wykonania zapytania.
wczorajOkres 24-godzinny poprzedzający wykonanie zapytania.

Filtrowanie według zakresów dat: DURING

Słowo kluczowe DURING upraszcza filtrowanie dat dla zakresów dat. 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 Cyber Monday). Przykład:

FROM orders
  SHOW sum(net_sales)
  GROUP BY day ALL
  DURING bfcm2021

W przypadku słowa kluczowego DURING można użyć dowolnego z poniższych nazwanych operatorów zakresu dat:

Nazwane operatory zakresu dat ShopifyQL
Operator zakresu datWykorzystanie funkcjonalne
dzisiajData uruchomienia zapytania.
wczorajOkres 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
bfcm2022od 25 do 28 listopada 2022 r.
bfcm202126 - 29 listopada 2021 r.

Porównywanie w ramach zakresów dat: COMPARE TO

Słowo kluczowe COMPARE TO umożliwia porównywanie danych dla zakresu dat DURING i zakresu COMPARE TO. Dozwolony jest dowolny z nazwanych operatorów zakresu dat wymienionych w sekcji DURING. Operator wykorzystywany przez COMPARE TO musi odnosić się do tej takiej samej długości czasu co w przypadku DURING. Na przykład: DURING this_week COMPARE TO last_week jest prawidłową kombinacją, ale DURING this_week COMPARE TO last_month już nie.

Poniższy przykład porównuje sprzedaż netto w Black Friday Cyber Monday 2022 r. ze sprzedażą w analogicznym okresie 2021 r.

FROM orders
  SHOW sum(net_sales)
  GROUP BY day ALL
  DURING bfcm2022
  COMPARE TO bfcm2021

Sortowanie danych: 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 każdego kraju i regionu rozliczenia, posortowaną w odwrotnej kolejności alfabetycznej według kraju rozliczenia, a następnie według regionu rozliczenia w każdym kraju.

FROM orders
  SHOW net_sales
  GROUP BY billing_country, billing_region
  SINCE -1y
  UNTIL today
  ORDER BY billing_country, billing_region 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.


Limit

Słowo kluczowe LIMIT umożliwia określenie liczby wierszy zwracanych przez zapytanie. Jest ono przydatne, gdy chcesz tylko zorientować się, jak będą wyglądały dane w poszczególnych kolumnach. Możesz też użyć go w połączeniu ze słowem ORDER BY, aby utworzyć uporządkowane listy.

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

FROM products
  SHOW net_product_quantity
  GROUP BY product_title
  SINCE -3m
  UNTIL today
  ORDER BY net_product_quantity DESC
  LIMIT 10

Tworzenie wykresów zapytań: VISUALIZE i TYPE

Słowo kluczowe VISUALIZE umożliwia napisanie zapytania ShopifyQL, które wyświetla dane w postaci wizualizacji liniowej lub słupkowej.

Słowo kluczowe TYPE jest opcjonalne i musi mu towarzyszyć 'line' lub 'bar', aby zapytanie zwróciło wizualizację w postaci wykresu liniowego lub słupkowego. Jeśli słowo TYPE nie jest zawarte w zapytaniu, wówczas ShopifyQL automatycznie wybiera najlepszą wizualizację, która pasuje do zapytania. Jeśli zapytanie nie może zostać zwizualizowane w takiej formie, w jakiej zostało napisane, wówczas ShopifyQL zwraca dane tabelaryczne.

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 orders
  VISUALIZE gross_sales
  TYPE line
  GROUP BY month ALL
  SINCE -1y
  UNTIL today

Operatory matematyczne

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

Operatory przesunięcia ShopifyQL
Operator matematycznyWykorzystanie funkcjonalne
+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 orders
  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 pozwalają na agregowanie kolumn w sposób podobny do tabel przestawnych w programie Microsoft Excel. Agregowanie kolumn oznacza łączenie ich w celu uzyskania nowej wartości. W aktualnej wersji ShopifyQL dostępne są następujące operatory funkcyjne:

Operatory przesunięcia ShopifyQL
Operator funkcyjnyWykorzystanie funkcjonalne
count()Liczba wystąpień w zbiorze wyników.
sum()Suma wartości w zbiorze wyników.
min()Minimalna wartość w zbiorze wyników.
max()Maksymalna wartość w zbiorze wyników.
avg()Średnia wartość ustawionego wyniku.

Funkcje sum, min, maxi avg mogą być używane tylko z wartościami numerycznymi, count można używać do liczenia różnych wystąpień atrybutów wymiarowych. Nie można użyć zagregowanych pól jako argumentów w funkcjach. Zagregowane pola kończą się _sum, _count lub _percent.

Na przykład poniższe zapytanie zwraca błąd, ponieważ wykonana już została agregacja total_sales:

FROM orders
  SHOW sum(total_sales)

Poniżej przedstawiono prawidłowe zapytanie, które łączy zagregowane pola z funkcjami agregującymi:

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

To zapytanie zwraca zagregowaną sumę średniej wartości zamówienia i sumę sprzedaży brutto jako wynik funkcji sum. Wskaźniki te są podzielone według regionu rozliczenia dla wszystkich zamówień złożonych w 2021 roku.


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 orders
  SHOW average_order_value, sum(gross_sales)
  -- the line below has been commented out and will not run
  -- GROUP BY billing_region
  WHERE billing_country = 'United States'
  /*
  this line and the two lines below it have been commented out and will not run
  SINCE 2021-01-01
  UNTIL 2021-12-31
*/
Nie możesz znaleźć odpowiedzi, których szukasz? Jesteśmy tutaj, aby Ci pomóc.