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
Warunek Definicja
Wymiar Atrybut, 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 kluczowe Składnia ShopifyQL, która pełni funkcję polecenia kierującego zapytaniem.
Wskaźnik Ilościowy pomiar danych. Typowe przykłady wskaźników to sprzedaż całkowita, liczba zamówień i zysk brutto.
Parametr Skł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 kluczowe Wykorzystanie funkcjonalne
FROM Określa tabelę zestawu danych, z której mają zostać wybrane dane.
SHOW Wybiera kolumny do wyodrębnienia z tabeli zestawu danych.
VISUALIZE Wyświetla dane w postaci wizualizacji liniowej lub słupkowej.
GROUP BY Grupuje wyodrębnione dane według wymiaru lub wymiary czasu.
WHERE Określa warunek lub warunki, które muszą spełnić wiersze, aby zostały wybrane.
SINCE Wyświetla dane od określonego momentu w przeszłości.
UNTIL Wyświetla dane do określonego momentu w przeszłości.
ORDER BY Określa kolumnę, według której mają być uporządkowane dane.
LIMIT Ogranicza liczbę wyświetlanych wierszy danych.
AS Zmienia 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
Operator Wykorzystanie funkcjonalne
godzina Grupowanie według godzin w dniu kalendarzowym.
dzień Grupowanie według dnia kalendarzowego
tydzień Grupowanie według tygodnia kalendarzowego
miesiąc Grupowanie według miesiąca kalendarzowego.
kwartał Grupowanie według kwartału kalendarzowego.
rok Grupowanie według roku kalendarzowego.
hour_of_day Grupowanie według 24 godzin (1,2,...,24).
day_of_week Grupowanie według dnia tygodnia (M,T,W,...,S).
week_of_year Grupowanie 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ównania Wykorzystanie 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 logiczny Wykorzystanie funkcjonalne
AND Filtrowanie w celu wyświetlenia wszystkich wierszy, w których spełnione są warunki oddzielone operatorem AND.
OR Filtrowanie w celu wyświetlenia wszystkich wierszy, w których spełniony jest dowolny z warunków oddzielonych operatorem OR.
NOT Filtrowanie 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ęcia Wykorzystanie funkcjonalne
-{#}d Liczba dni, które upłynęły od dnia wykonania zapytania.
-{#}w Liczba tygodni, które upłynęły od dnia wykonania zapytania.
-{#}m Liczba miesięcy, które upłynęły od dnia wykonania zapytania.
-{#}q Liczba kwartałów, które upłynęły od dnia wykonania zapytania.
-{#}y Liczba lat, które upłynęły od dnia wykonania zapytania.
rrrr-mm-dd Konkretna data.
dzisiaj Data wykonania zapytania.
wczoraj Okres 24-godzinny poprzedzający wykonanie zapytania.

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 sumę sprzedaży 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.


Ogranicz

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 matematyczny Wykorzystanie 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 funkcyjny Wykorzystanie 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.

Gotowy(-a) do rozpoczęcia sprzedaży za pomocą Shopify?

Wypróbuj za darmo