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.
Na tej stronie
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:
Słownik terminów
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:
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. |
DURING | Wyświetla dane od określonego momentu w przeszłości. |
COMPARE TO | 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:
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:
Oto kolejne przykładowe zapytanie, w którym używany jest wymiar czasu w celu przedstawienia sprzedaży netto według miesięcy:
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:
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:
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:
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:
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:
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:
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:
Operatory przesunięcia
Filtrowanie może być wykonywane według określonych dat lub według przesunięć dat. Operatory przesunięcia ShopifyQL to:
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. |
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:
W przypadku słowa kluczowego DURING można użyć dowolnego z poniższych nazwanych operatorów zakresu dat:
Operator zakresu dat | Wykorzystanie funkcjonalne |
---|---|
dzisiaj | Data uruchomienia zapytania. |
wczoraj | Okres 24-godzinny poprzedzający wykonanie zapytania |
this_week | Bieżący tydzień kalendarzowy. |
this_month | Bieżący miesiąc kalendarzowy. |
this_quarter | Bieżący kwartał kalendarzowy. |
this_year | Bieżący rok kalendarzowy |
last_week | Poprzedni tydzień kalendarzowy. |
last_month | Poprzedni miesiąc kalendarzowy. |
last_quarter | Poprzedni kwartał kalendarzowy. |
last_year | Poprzedni rok kalendarzowy |
bfcm2022 | od 25 do 28 listopada 2022 r. |
bfcm2021 | 26 - 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.
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.
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:
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:
Operatory matematyczne
ShopifyQL umożliwia wykonywanie działań arytmetycznych na wskaźnikach w danych. Dostępne są następujące operatory matematyczne:
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.
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:
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
, max
i 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:
Poniżej przedstawiono prawidłowe zapytanie, które łączy zagregowane pola z funkcjami agregującymi:
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 */
.