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.

Verilerinizi anlamlı bir biçimde almak için veritabanına sorgu gönderilmelidir. Sorgu, yanıt olarak belirli verileri isteyen 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önem Tanım
Boyut Verileri 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ük Sorgunuzu yönlendirmek için komut işlevinde davranan ShopifyQL sözdizimi.
Metrik Verilerin nicel ölçümü. Metriklerin yaygın örnekleri arasında toplam satışlar, sipariş sayısı ve brüt kar yer alır.
Parametre Sorgunuza 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
FROM Hangi veri kümesi tablosundan veri seçileceğini belirtir.
SHOW Veri kümesi tablosundan çıkarmak istediğiniz sütunları seçer.
VISUALIZE Verilerinizi 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.
WHERE Satırların seçilebilmesi için karşılaması gereken koşul veya koşulları tanımlar.
SINCE Geçmişteki belirli bir zamandan beri olan verileri gösterir.
UNTIL Geçmişteki belirli bir zamana kadar olan verileri gösterir.
DURING Geçmişteki belirli bir zamandan beri olan verileri gösterir.
COMPARE TO Geçmişteki belirli bir zamana kadar olan verileri gösterir.
ORDER BY Verilerin hangi sütuna göre sıralanacağını belirtir.
LIMIT Gösterilen veri satırlarının sayısını sınırlar.
AS Sütunu, seçtiğiniz bir adla yeniden adlandırır.

ShopifyQL sorgularını 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: GRUPLANDIRMA ÖLÇÜTÜ

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, faturalandırma ü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
saat Takvim günü saatlere göre gruplama.
gün Takvim gününe göre gruplandırma.
week Takvim haftasına göre gruplandırma.
ay Takvim ayına göre gruplandırma.
çeyrek Takvim çeyreğine göre gruplandırma.
year Takvim yılına göre gruplandırma.
hour_of_day 24 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_year Yılın haftasına (1,2,...,52) göre gruplandırma.

Veriler 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
AND AND ile ayrılan koşulların karşılandığı tüm satırları göstermek için filtreleyin.
OR OR ile ayrılan koşullardan herhangi birinin karşılandığı tüm satırları göstermek için filtreleyin.
NOT Yalnı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
-{#}d Gün sorgusunun çalıştırıldığı tarihten önceki gün sayısı.
-{#}w Gün sorgusunun çalıştırıldığı tarihten önceki hafta sayısı.
-{#}m Gün sorgusunun çalıştırıldığı tarihten önceki ay sayısı.
-{#}q Gün sorgusunun çalıştırıldığı tarihten önceki çeyrek sayısı.
-{#}y Gün sorgusunun çalıştırıldığı tarihten önceki yıl sayısı.
yyyy-mm-dd Belirli bir tarih.
bugün Sorgunun çalıştırıldığı tarih.
dün Sorgunun çalıştırıldığı tarihten önceki 24 saatlik dönem.

Tarih Aralıklarında Filtreleme: DURING (SIRASINDA)

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ün Sorgunun çalıştırıldığı tarih.
dün Sorgunun ç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ı.
bfcm2022 25 Kasım - 28 Kasım 2022 tarihleri arası.
bfcm2021 26 Kasım - 29 Kasım 2022.

Tarih aralıkları arasında karşılaştırma yapma: COMPARE TO (İLE KARŞILAŞTIR)

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 faturalandırma ülkesi ve bölgesinin, faturalandırma ülkesine göre ve ardından her ülkedeki faturalandırma 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.


Sınır

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 faturalandırma 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
*/

Shopify ile satış yapmaya hazır mısınız?

Ücretsiz olarak dene