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.
Na tej stronie
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. |
Operator | Zarezerwowane 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
iSHOW
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:
-
FROM
-
SHOW
-
WHERE
-
GROUP BY
-
WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
-
TIMESERIES
-
HAVING
-
SINCE
&UNTIL
lubDURING
-
COMPARE TO
& opcjonalneUNTIL
-
ORDER BY
-
LIMIT
-
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:
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.
Słowo kluczowe | Opis |
---|---|
FROM | Określa tabelę zestawu danych, z której mają zostać wybrane dane. |
SHOW | Wybiera kolumny do wyodrębnienia z tabeli zestawu danych. |
WHERE | Określa warunek lub warunki, które muszą spełnić wiersze, aby zostały wybrane. |
GROUP BY | Grupuje wyodrębnione dane według wymiaru lub wymiary czasu. |
WITH | Modyfikuje zachowanie niektórych słów kluczowych ShopifyQL. |
TIMESERIES | Rozróżnia grupowanie według wymiarów czasowych i uzupełnia daty w zapytaniu. |
HAVING | Filtruje wyniki zapytania po ich zgrupowaniu. |
SINCE | Wyświetla dane od określonego momentu w przeszłości. Często sparowane z UNTIL . |
UNTIL | Pokazuje dane do określonego czasu w przeszłości. Często sparowane z SINCE lub COMPARE TO . |
DURING | Wyświetla dane z określonego okresu w przeszłości. |
COMPARE TO | Pokazuje dane do porównania z określonym czasem 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. |
VISUALIZE | Wyświetla dane w postaci wizualizacji liniowej lub słupkowej. Za pomocą słowa TYPE można określić preferowaną wizualizacje. |
AS | Opcjonalne 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:
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:
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:
Operator porównania | Opis |
---|---|
= | 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 | Opis |
---|---|
AND | Ogranicza wynik do wierszy spełniających warunki oddzielone operatorem AND . |
OR | Ogranicza wynik do wierszy spełniających przynajmniej jeden z warunków oddzielonych OR . |
NOT | Ogranicza 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:
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:
Oto kolejne przykładowe zapytanie, w którym używany jest wymiar czasu w celu przedstawienia łącznej sprzedaży 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 słowa kluczowegoTIMESERIES
.
Wymiary czasu
Są to wymiary czasu, których można użyć do pogrupowania danych:
Operator | Opis |
---|---|
second | Grupowanie według sekund w ramach godziny. |
minute | Grupowanie według minut w ramach godziny. |
hour | Grupowanie według godzin w dniu kalendarzowym. |
day | Grupowanie według dnia kalendarzowego |
week | Grupowanie według tygodnia kalendarzowego |
month | Grupowanie według miesiąca kalendarzowego. |
quarter | Grupowanie według kwartału kalendarzowego. |
year | Grupowanie według roku kalendarzowego. |
hour_of_day | Grupowanie według 24 godzin (1,2,...,24). |
day_of_week | Grupowanie według dnia tygodnia (P, W, Ś, ... N). |
week_of_year | Grupowanie według tygodnia roku (1,2, ...,52). |
month_of_year | Grupowanie 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:
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.
TIMESERIES | SHOW | GROUP BY | Wynik |
---|---|---|---|
Podane | Brak | Brak |
TIMESERIES jest pierwszym wymiarem. |
Podane | Brak | Istnieje | Pozycja wymiarów czasu jest definiowana przez jej pozycję w GROUP BY . |
Podane | Istnieje | Istnieje | Pozycja wymiarów czasu jest definiowana przez jej pozycję w SHOW . |
Nie podano | Brak | Istnieje | Pozycja wymiarów czasu jest definiowana przez jej pozycję w GROUP BY . Dane nie są wypełniane. |
Nie podano | Istnieje | Istnieje | Pozycja wymiarów czasu jest definiowana przez jej pozycję w SHOW . Dane nie są wypełniane. |
Nie podano | Istnieje | Brak | Wyzwala 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:
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 wCOMPARE 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:
To zapytanie może zwrócić raport podobny do tego:
Dzień | Sprzedaż brutto | Sprzedaż netto | Łączna sprzedaż | Sumy sprzedaży brutto | Sumy sprzedaży netto | Sumy sprzedaży łącznej |
---|---|---|---|---|---|---|
2024-01-01 | 1 | 4 | 7 | 6 | 15 | 24 |
2024-01-02 | 2 | 5 | 8 | 6 | 15 | 24 |
2024-01-03 | 3 | 6 | 9 | 6 | 15 | 24 |
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:
To zapytanie może zwrócić raport podobny do tego:
Kraj | ID klienta | Łączna sprzedaż | Suma całkowitej sprzedaży w kraju | Sumy sprzedaży łącznej |
---|---|---|---|---|
USA | 1 | 1 | 0 | 1 |
USA | null | -1 | 1 | 1 |
Kanada | 1 | 1 | 1 | 1 |
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ą:
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:
Operatory przesunięcia
Można filtrować według określonych dat lub według przesunięć daty i godziny. Operatory przesunięcia ShopifyQL:
Operator przesunięcia | Opis |
---|---|
-{#}s | Liczba sekund wstecz od daty i godziny uruchomienia zapytania. |
-{#}min | Liczba minut wstecz od daty i godziny uruchomienia zapytania. |
-{#}h | Liczba godzin wstecz od daty i godziny uruchomienia zapytania. |
-{#}d | Liczba dni wstecz od daty i godziny uruchomienia zapytania. |
-{#}w | Liczba tygodni wstecz od daty i godziny uruchomienia zapytania. |
-{#}m | Liczba miesięcy wstecz od daty i godziny uruchomienia zapytania. |
-{#}q | Liczba kwartałów wstecz od daty i godziny wykonania zapytania. |
-{#}y | Liczba lat wstecz od daty i godziny uruchomienia zapytania. |
yyyy-MM-dd | Konkretna data. |
yyyy-MM-ddThh:mm:ss | Konkretna 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.
Funkcja daty | Opis |
---|---|
now | Data 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.:
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:
Operatory określonych zakresów dat
DURING
obsługuje każdy z poniższych operatorów określonych zakresów dat:
Operator określonych zakresów dat | Opis |
---|---|
today | Data uruchomienia zapytania. |
yesterday | 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 |
bfcmYYYY | Zakres 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 przypadkuDURING
. Jeśli nie podano wartościUNTIL
, zakres czasu zostanie obliczony jako równy wartości określonej w słowie kluczowymDURING
. Na przykładDURING 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.
- Operator wykorzystywany przez
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 niegoTIMESERIES
, a nieGROUP BY
.
W poniższym przykładzie porównano sprzedaż netto w poprzednim miesiącu z tym samym miesiącem w poprzednim roku:
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:
Operator względnych zakresów dat | Opis |
---|---|
previous_period | Jeden okres przed bazowym zakresem dat. |
previous_year | Jeden rok przed bazowym zakresem dat. |
previous_quarter | Jeden kwartał przed bazowym zakresem dat. |
previous_month | Jeden miesiąc przed bazowym zakresem dat. |
previous_week | Jeden tydzień przed bazowym zakresem dat. |
previous_day | Jeden dzień przed bazowym zakresem dat. |
previous_hour | Jedna godzina przed bazowym zakresem dat. |
previous_minute | Jedna minuta przed bazowym zakresem dat. |
previous_second | Jedna 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:
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.
TIMESERIES | ORDER BY | Wynik |
---|---|---|
Istnieje | Brak | Wyniki są uporządkowane według wymiaru TIMESERIES . |
Istnieje | Istnieje | Wyniki są uporządkowane według wymiaru czasu TIMESERIES , a następnie wymiaruORDER BY . |
Brak | Istnieje | Wyniki są uporządkowane według wymiaru ORDER BY . |
Brak | Brak | Wyniki 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:
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:
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 (").
Inne funkcje i operatory ShopifyQL
ShopifyQL obejmuje następujące dodatkowe operatory i funkcje:
-
Operatory matematyczne, takie jak
+
lub/
-
Funkcje, takie jak
round()
itrim()
- Niejawne złączenia
-
Częściowe dopasowanie ciągu i tablicy, takie jak
STARTS WITH
iCONTAINS
- Komentarze
Operatory matematyczne
ShopifyQL umożliwia wykonywanie działań arytmetycznych na wskaźnikach w danych. Dostępne są następujące operatory matematyczne:
Operator matematyczny | Opis |
---|---|
+ | 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 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:
Operator funkcyjny | Opis |
---|---|
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ą:
|
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:
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:
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:
Operator | Opis |
---|---|
STARTS WITH | Zwraca wszystkie wiersze, w których kolumna zaczyna się od prefiksu. |
ENDS WITH | Zwraca wszystkie wiersze, w których kolumna kończy się sufiksem. |
CONTAINS | Zwraca 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:
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
:
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 */
.