Notebooks'ta ShopifyQL kullanma

ShopifyQL, Shopify'ın ticarete yönelik oluşturulan sorgu dilidir. Sorgu dilleri, veritabanlarından veri talep etmek ve almak için kullanılır. İşletmenizin veritabanını keşfetmek ve işletmenizi daha derinlemesine anlamanızı sağlayan verileri almak için Shopify'ın Notebooks uygulamasıyla birlikte ShopifyQL kullanabilirsiniz.

ShopifyQL Notebook sorgularında kullanılabilen değerlerin ve boyutların tam listesi için Siparişler şeması ve Ürünler şeması'na bakın.

ShopifyQL'e genel bakış

Mağazanızın verileri, tanımlanmış sütunlar ve satırlar halinde yapılandırılmış veritabanı tablolarında saklanır. Sütunlar, içerdikleri bilgi türünü (ör. satışlar) tanımlar, satırlar ise veri türünün gerçek değerini (ör. satışlarda 2.450 USD) belirtir.

Verilerinizin anlamlı bir biçimde alınabilmesi için veritabanına bir sorgu gönderilmesi gerekir. Sorgu, yanıt olarak belirli verileri talep eden bir sorudur. ShopifyQL gibi bir sorgu dili, bu soruyu oluşturmanın standart yoludur. Sorgu, anahtar sözcükler ve bunlarla ilişkili parametrelerden oluşturulur. Birkaç anahtar sözcüğün belirli parametrelerle birleşimi sorgunuzu oluşturur. Oluşturduktan sonra sorgunuzu çalıştırabilir ve yanıt alabilirsiniz.

Bu, sorgu olarak yazılmış bir ShopifyQL sözdizimi örneğidir. Anahtar sözcükler kalın olarak yazılmıştır ve ilişkili parametreleri parantez içindedir. Burada gösterilen parametreler yer tutuculardır:

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 }

Terimler sözlüğü

ShopifyQL terimlerinin tanımları
DönemTanım
BoyutVerileri bölümlere ayırarak daha net bir şekilde sıralanabilmesi ve sunulabilmesini sağlayan bir nitelik. Boyutla ilgili yaygın örnekler arasında zaman, ürünler ve yerler yer alır. Boyutlar, ShopifyQL'de parametre olarak kullanılır.
Anahtar sözcükSorgunuzu yönlendirmek için komut işlevinde davranan ShopifyQL sözdizimi.
MetrikVerilerin nicel ölçümü. Metriklerin yaygın örnekleri arasında toplam satışlar, sipariş sayısı ve brüt kar yer alır.
ParametreSorgunuza dahil edilecek veritabanı öğelerini veya ayrıntılarını tanımlayan ShopifyQL sözdizimi.

Anahtar sözcük referans tablosu

Bunlar, sorgunuzu yazmak için kullanabileceğiniz anahtar sözcüklerdir:

ShopifyQL anahtar sözcüklerinin listesi
Anahtar sözcükİşlevsel kullanım
FROMHangi veri kümesi tablosundan veri seçileceğini belirtir.
SHOWVeri kümesi tablosundan çıkarmak istediğiniz sütunları seçer.
VISUALIZEVerilerinizi bir çizgi de veya çubuk grafikte görüntüler.
GRUPLANDIRMA ÖLÇÜTÜAyıklanan verileri boyut veya zaman boyutlarına göre gruplandırır.
WHERESatırların seçilebilmesi için karşılaması gereken koşul veya koşulları tanımlar.
SINCEGeçmişteki belirli bir zamandan beri olan verileri gösterir.
UNTILGeçmişteki belirli bir zamana kadar olan verileri gösterir.
DURINGGeçmişteki belirli bir zamandan beri olan verileri gösterir.
COMPARE TOGeçmişteki belirli bir zamana kadar olan verileri gösterir.
ORDER BYVerilerin hangi sütuna göre sıralanacağını belirtir.
LIMITGösterilen veri satırlarının sayısını sınırlar.
ASSütunu, seçtiğiniz bir adla yeniden adlandırır.

ShopifyQL sorguları yazma

ShopifyQL sorguları, temel (yüksek düzeyde veri analizleri için ) ve kapsamlıyı (ayrıntılı analizler için) içeren bir yelpazeye yayılır. Her anahtar kelimenin, sorgunuzu oluşturan belirli bir işlevi vardır.

ShopifyQL temel bilgileri: FROM ve SHOW

En basit ShopifyQL sorgusunu oluşturmak için yalnızca iki anahtar kelime gerekir: sırasıyla FROM ve SHOW. Tablo adı parametresinden önce gelen FROM, hangi tablonun sorgusunu yapmak istediğinizi belirtir. Sütun adı parametresinden önce gelen SHOW ise seçmek istediğiniz sütunları belirtir.

Örneğin, şu sorguyu yazarak tüm ürün kimliklerini ve bunlarla ilişkili başlıkları satış tablosundan listeleyebilirsiniz:

FROM products
  SHOW product_id, product_title

Verileri gruplandırma: GROUP BY

Bir metriği boyuta göre segmentlere ayırmak (ör. bölgeye göre satışları gruplandırma) istiyorsanız GRUPLANDIRMA ÖLÇÜTÜ anahtar sözcüğünü kullanın. GRUPLANDIRMA ÖLÇÜTÜ anahtar sözcüğü herhangi bir boyut parametresiyle eşleştirilebilir.

Örneğin, fatura ülkesine ve bölgesine göre toplam kargo ücretlerini gruplandıran bir sorgu şu şekilde yazılır:

FROM orders
  SHOW shipping
  GROUP BY billing_country, billing_region

Aya göre net satışları göstermek için zaman boyutunu kullanan bir sorgu örneği aşağıda verilmiştir:

FROM orders
  SHOW net_sales
  GROUP BY month

Yukarıdaki sorgu, satış yapmadığınız hiçbir ayı döndürmez. Tam ve kesintisiz bir zaman dilimini döndüren bir sorgu istiyorsanız ALL değiştiricisini kullanın:

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

ALL değiştiricisini kullanırken SINCE (başlangıç) ve UNTIL (bitiş) tarihlerini de belirtmeniz gerekir. ALL değiştiricisinin yalnızca zaman boyutuyla çalıştığını unutmayın.

Zaman Boyutları

Bunlar, verilerinizi gruplandırmak için kullanabileceğiniz zaman boyutlarıdır:

ShopifyQL zaman boyutları
Operatörİşlevsel kullanım
saatTakvim günü saatlere göre gruplama.
günTakvim gününe göre gruplandırma.
weekTakvim haftasına göre gruplandırma.
ayTakvim ayına göre gruplandırma.
çeyrekTakvim çeyreğine göre gruplandırma.
yearTakvim yılına göre gruplandırma.
hour_of_day24 saate göre gruplandırma (1,2,...,24).
day_of_week"day of week" (haftanın günü) bilgisine (P, S, Ç,...,P) göre gruplandırma.
week_of_yearYılın haftasına (1,2,...,52) göre gruplandırma.

Verileri Filtreleme: WHERE

WHERE anahtar sözcüğü, ShopifyQL sorgusunun tüme boyutsal filtre uygulamanıza olanak tanır.

Örneğin, net satışları yalnızca belirli bir bölge için aya göre gruplandırılmış şekilde almak istiyorsanız sorgunuz şu şekildedir:

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

Yukarıdaki örnekte de gördüğünüz gibi SHOW veya GROUP BY anahtar sözcüklerinde WHERE parametresi bulunmasa bile sonuç kümesini WHERE parametresiyle filtreleyebilirsiniz. Bu örnekte, billing_region sonuç kümesine dahil edilmemiş olsa bile net satışlar, fatura adresleri yalnızca Ohio'da bulunan siparişler için tüm aylarda filtrelenir.

Karşılaştırma operatörleri

WHERE anahtar sözcüğü, verileri filtrelemek için karşılaştırma operatörlerini kullanır. Yukarıdaki örnekte, sorgunun belirli bir değere filtre uyguladığını belirtmek için '=' operatörü kullanıldı ancak kullanabileceğiniz başka operatörler de vardır:

ShopifyQL karşılaştırma operatörleri
Karşılaştırma operatörüİşlevsel kullanım
=şuna eşit:
!=şuna eşit değil:
<şu değerden düşük:
>şu değerden yüksek:
<=şu değerden düşük veya ona eşit:
>=şu değerden yüksek veya ona eşit:

Mantıksal operatörler

Verilerinizi daha fazla filtrelemek için sorgunuza mantıksal operatörler ekleyebilirsiniz. ShopifyQL mantıksal operatörleri şunlardır:

ShopifyQL mantıksal operatörleri
Mantıksal operatörİşlevsel kullanım
ANDAND ile ayrılan koşulların karşılandığı tüm satırları göstermek için filtreleyin.
OROR ile ayrılan koşullardan herhangi birinin karşılandığı tüm satırları göstermek için filtreleyin.
NOTYalnızca koşulların karşılanmadığı satırları (ör. belirtilen değeri içermeyen satırlar) gösterecek şekilde filtreleyin.

Mantıksal operatörler ekleyerek WHERE anahtar sözcüğüyle birden fazla filtre kullanabilirsiniz.

Fatura adresleri yalnızca Ohio'da bulunan, indirim uygulanmış tüm siparişlerin net satışlarının aylık gruplandırılması için örnek veri kümesi sorgusuna eklenecek sorgu şu şekildedir:

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

Tarih aralıkları: SINCE ve UNTIL

Sorgunuzu tarihe veya belirli bir zaman dilimine göre filtrelemek istiyorsanız SINCE ve UNTIL anahtar sözcüklerini ve bunlarla ilişkili parametreleri kullanabilirsiniz. Yalnızca zaman dilimlerini filtrelediğinden bu anahtar kelimeler benzersizdir.

Örneğin, bugünden başlayarak son 12 ayda Kanada'da gerçekleşen net satışları bulmaya yönelik bir sorgu şu şekildedir:

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

Tarih aralığı operatörleri

Belirli tarihlere veya tarih aralıklarına göre filtre oluşturabilirsiniz. ShopifyQL tarih aralığı operatörleri şunlardır:

ShopifyQL tarih aralığı operatörleri
Tarih aralığı operatörüİşlevsel kullanım
-{#}dGün sorgusunun çalıştırıldığı tarihten önceki gün sayısı.
-{#}wGün sorgusunun çalıştırıldığı tarihten önceki hafta sayısı.
-{#}mGün sorgusunun çalıştırıldığı tarihten önceki ay sayısı.
-{#}qGün sorgusunun çalıştırıldığı tarihten önceki çeyrek sayısı.
-{#}yGün sorgusunun çalıştırıldığı tarihten önceki yıl sayısı.
yyyy-mm-ddBelirli bir tarih.
bugünSorgunun çalıştırıldığı tarih.
dünSorgunun çalıştırıldığı tarihten önceki 24 saatlik dönem.

Tarih Aralıklarında Filtreleme: DURING

DURING anahtar sözcüğü, tarih aralıkları için tarihe göre filtrelemeyi basitleştirir. Takvim yılı veya belirli bir ay gibi bilinen bir zaman aralığı veya Black Friday Cyber Monday gibi her yıl tarihleri değişen tarih aralıklarını kullanarak sorgu sonuçlarını filtrelemek için DURING anahtar sözcüğünü kullanabilirsiniz. Örneğin:

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

DURING, aşağıdaki adlandırılmış tarih aralığı operatörlerini kabul eder:

ShopifyQL adlandırılmış tarih aralığı operatörleri
Tarih aralığı operatörüİşlevsel kullanım
bugünSorgunun çalıştırıldığı tarih.
dünSorgunun çalıştırıldığı tarihten önceki 24 saatlik zaman aralığı.
this_weekİçinde bulunulan takvim haftası.
this_monthİçinde bulunulan takvim ayı.
this_quarterİçinde bulunulan takvim çeyreği.
this_yearİçinde bulunulan takvim yılı.
last_weekÖnceki takvim haftası.
last_monthÖnceki takvim ayı.
last_quarterÖnceki takvim çeyreği.
last_yearÖnceki takvim yılı.
bfcm202225 Kasım - 28 Kasım 2022 tarihleri arası.
bfcm202126 Kasım - 29 Kasım 2022.

Tarih aralıkları arasında karşılaştırma yapma: COMPARE TO

COMPARE TO anahtar sözcüğü, DURING tarih aralığındaki verileri, COMPARE TO tarih aralığındaki verilerle karşılaştırmanıza olanak sağlar. DURING bölümünde listelenen adlandırılmış tarih aralığı operatörlerinin herhangi birini kabul eder. COMPARE TO tarafından kullanılan operatör, DURING tarafından kullanılan operatör ile aynı uzunlukta olmalıdır. Örneğin, DURING this_week COMPARE TO last_week bir kombinasyondur, ancak DURING this_week COMPARE TO last_month kombinasyon değildir.

Aşağıdaki örnek, 2022'deki Black Friday Cyber Monday net satışlarını, 2021'deki Black Friday Cyber Monday ile karşılaştırır.

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

Verileri Sıralama: ORDER BY

ORDER BY anahtar sözcüğünü ve parametrelerini kullanarak sorgunuz tarafından döndürülen verileri nasıl sıralamak istediğinizi belirtebilirsiniz. Artan düzen için ASC ve azalan düzen için DESC parametrelerini kullanabilirsiniz.

Sorgunuza dahil ettiğiniz herhangi bir metriği veya boyutu (birden çok alan dahil) ORDER BY anahtar sözcüğünde belirtebilirsiniz.

Örneğin, bu sorgu her fatura ülkesi ve bölgesinin, fatura ülkesine göre ve ardından her ülkedeki fatura bölgesine göre alfabetik olarak sondan başa sıralanmış net satışlarını döndürür.

FROM orders
  SHOW net_sales
  GROUP BY billing_country, billing_region
  SINCE -1y
  UNTIL today
  ORDER BY billing_country, billing_region DESC

Metriklerinizi veya boyutlarınızı hangi sırayla yazdığınız önemlidir. ORDER BY için birden fazla değer belirtirseniz sıralama, her metrik ya da boyuta belirtilen sırayla uygulanır.


Limit

LIMIT anahtar sözcüğü, sorgunun kaç satır döndüreceğini belirtmenize olanak tanır. Bu özellik, her sütundaki verilerin görünümünü anlamak istediğinizde kullanışlıdır. Alternatif olarak, LIMIT anahtar sözcüğünü üst ve alt listeler oluşturmak için ORDER BY ile birleştirebilirsiniz.

Son 3 ay içinde en çok satılan ilk 10 ürün listesini adede göre oluşturmak için LIMIT ve ORDER BY anahtar sözcüklerinin kullanıldığı örnek şu şekildedir:

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

Sorgularınızın grafiğini oluşturma: VISUALIZE ve TYPE

VISUALIZE anahtar sözcüğü, verileri bir çizgi veya çubuk grafikte görüntüleyen bir ShopifyQL sorgusu yazmanıza olanak tanır.

TYPE anahtar sözcüğü isteğe bağlıdır ve sorgunuzun sırasıyla çizgi grafik veya çubuk grafikte bir görselleştirme döndürmesi için "çizgi" veya "çubuk" ile birlikte kullanılmalıdır. TYPE sorgunuza dahil değilse ShopifyQL, sorgunuza en uygun görselleştirmeye otomatik olarak karar verir. Sorgunuz yazılı olarak görselleştirilemezse ShopifyQL tablo verilerini döndürür.

Örneğin, bir trend çizgisi ile geçen yıla ait satış trendinizi ay bazında görselleştirebilirsiniz. Aşağıdaki sorgu, geçen yıl boyunca gerçekleşen brüt satışları aya göre gösteren zaman serisi grafiği döndürür. Brüt satışlar, x ekseni ay olarak ve y ekseni brüt satış olarak etiketlenerek tek bir satırla gösterilir:

FROM orders
  VISUALIZE gross_sales
  TYPE line
  GROUP BY month ALL
  SINCE -1y
  UNTIL today

Matematiksel Operatörler

ShopifyQL, verilerinizdeki metriklerle aritmetik işlemler yapılmasına izin verir. Mevcut matematiksel operatörler aşağıda verilmiştir:

ShopifyQL tarih aralığı operatörleri
Matematiksel Operatörİşlevsel kullanım
+İki sayının eklenmesi.
-İki sayının çıkarılması.
*İki sayının çarpılması.
/İki sayının bölünmesi.

Örneğin, aşağıdaki sorguda her bölge için son bir yıldaki sipariş değeri hesaplanır. Matematiksel operatörleri metriklerle kullanırken, yeni metriğe yeni bir ad atamak için AS anahtar sözcüğünü kullanabilirsiniz.

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

İşlevler

ShopifyQL işlevleri, Microsoft Excel'deki pivot tablolara benzer sütunları toplamanıza olanak tanır. Sütunları toplamak, onları yeni bir değer oluşturmak için birleştirmek anlamına gelir. Aşağıdaki işlevler ShopifyQL'nin geçerli sürümünde kullanılabilir:

ShopifyQL tarih aralığı operatörleri
İşlev operatörüİşlevsel kullanım
count()Sonuç kümesindeki örneklerin sayısı.
sum()Sonuç kümesindeki değerlerin toplamı.
min()Sonuç kümesindeki minimum değer.
max()Sonuç kümesindeki maksimum değer.
avg()Sonuç kümesindeki ortalama değer.

sum, min, max ve avg işlevleri yalnızca sayısal değerlerle kullanılabilirken count işlevi boyutsal özelliklerin farklı örneklerini saymak için kullanılabilir. Toplanan alanları işlevlerde bağımsız değişken olarak kullanamazsınız. Toplanan alanlar _sum, _count veya _percent şeklinde sonlanır.

Örneğin, total_sales zaten toplandığından aşağıdaki sorgu bir hata döndürür:

FROM orders
  SHOW sum(total_sales)

Toplanan alanları toplama işlevleriyle birleştiren geçerli bir sorgu örneği şu şekildedir:

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

Bu sorgu, sum işlevinin bir sonucu olarak ortalama sipariş değeri toplamını ve brüt satışlar toplamını döndürür. Bu metrikler, 2021'de verilen tüm siparişlerin fatura bölgesine göre ayrılmıştır.


Yorumlar

Yorumları, ShopifyQL ifadelerinin bölümlerini açıklamak veya bir ShopifyQL ifadesinin yürütülmesini önlemek için kullanabilirsiniz. Bir yorumun içindeki metinler, kod yürütülürken dikkate alınmaz.

Tek satırlı yorumlar, -- ile başlar ve satırın sonunda biter.

Çok satırlı yorumlar /* ile başlar ve */ ile biter.

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
*/
Aradığınız cevapları bulamıyor musunuz? Yardımcı olmak için buradayız.