Sử dụng ShopifyQL trong Sổ tay
ShopifyQL là ngôn ngữ truy vấn của Shopify được thiết kế dành cho thương mại. Ngôn ngữ truy vấn được sử dụng để yêu cầu và truy xuất dữ liệu từ cơ sở dữ liệu. Bạn có thể sử dụng ShopifyQL với ứng dụng Sổ tay Shopify để khám phá cơ sở dữ liệu của doanh nghiệp và truy xuất dữ liệu, giúp bạn hiểu sâu hơn về doanh nghiệp.
Để xem danh sách đầy đủ giá trị và kích thước có sẵn có thể sử dụng trong các truy vấn của ShopifyQL Notebooks, tham khảo Lược đồ đơn hàng và Lược đồ sản phẩm.
Trên trang này
Tổng quan về ShopifyQL
Dữ liệu của cửa hàng được lưu trữ trong các bảng cơ sở dữ liệu, có cấu trúc trong các cột và hàng đã xác định. Các cột xác định loại thông tin chứa trong đó, chẳng hạn như doanh số và hàng chỉ rõ giá trị thực tế của loại dữ liệu, ví dụ như doanh số 2.450 USD.
Để truy xuất dữ liệu theo định dạng có ý nghĩa, bạn phải gửi truy vấn đến cơ sở dữ liệu. Truy vấn là câu hỏi yêu cầu dữ liệu cụ thể làm câu trả lời. Ngôn ngữ truy vấn như ShopifyQL là cách xây dựng câu hỏi đã được chuẩn hóa. Truy vấn được tạo từ từ khóa và các tham số tương ứng. Việc kết hợp một số từ khóa với các tham số cụ thể sẽ giúp xây dựng truy vấn. Sau khi xây dựng truy vấn, bạn có thể chạy truy vấn và nhận câu trả lời.
Đây là ví dụ về cú pháp ShopifyQL được viết ra dưới dạng truy vấn. Từ khóa được in đậm, các tham số tương ứng nằm trong dấu ngoặc. Các tham số hiển thị ở đây là phần giữ chỗ:
Bảng thuật ngữ
Thuật ngữ | Định nghĩa |
---|---|
Kích thước | Thuộc tính sẽ phân khúc dữ liệu để có thể sắp xếp và trình bày dữ liệu rõ ràng hơn. Ví dụ thường gặp về kích thước bao gồm thời gian, sản phẩm và địa điểm. Kích thước được sử dụng làm tham số trong ShopifyQL. |
Từ khóa | Cú pháp ShopifyQL đóng vai trò như lệnh chỉ dẫn truy vấn. |
Số liệu | Kích thước định lượng dữ liệu. Ví dụ thường gặp về số liệu bao gồm tổng doanh số, số lượng đơn hàng và lợi nhuận gộp. |
Tham số | Cú pháp ShopifyQL xác định các phần tử cơ sở dữ liệu hoặc thông tin chi tiết được thêm vào truy vấn. |
Bảng tham chiếu từ khóa
Đây là những từ khóa bạn có thể sử dụng để viết truy vấn:
Từ khóa | Chức năng sử dụng |
---|---|
FROM | Chỉ định bảng tập dữ liệu để chọn dữ liệu. |
SHOW | Chọn các cột bạn muốn trích xuất từ bảng tập dữ liệu. |
VISUALIZE | Hiển thị dữ liệu dưới dạng hình ảnh trực quan hóa dòng hoặc thanh. |
GROUP BY | Nhóm dữ liệu đã trích xuất theo kích thước hoặc kích thước thời gian. |
WHERE | Xác định điều kiện hoặc các điều kiện mà các hàng phải đáp ứng để được chọn. |
SINCE | Hiển thị dữ liệu kể từ một thời điểm cụ thể trước đây. |
UNTIL | Hiển thị dữ liệu cho đến thời điểm cụ thể trước đây. |
DURING | Hiển thị dữ liệu kể từ một thời điểm cụ thể trước đây. |
COMPARE TO | Hiển thị dữ liệu cho đến thời điểm cụ thể trước đây. |
ORDER BY | Chỉ định cột để sắp xếp dữ liệu theo đó. |
LIMIT | Giới hạn số hàng dữ liệu hiển thị. |
AS | Đổi tên cột thành tên bạn chọn. |
Viết truy vấn ShopifyQL
Truy vấn ShopifyQL có thể bao hàm từ thông tin cơ bản, thông tin chi tiết về dữ liệu cấp cao đến thông tin toàn diện, chi tiết. Mỗi từ khóa có một chức năng cụ thể giúp xây dựng truy vấn.
Từ khóa cơ bản của ShopifyQL: FROM và SHOW
Việc tạo truy vấn ShopifyQL đơn giản nhất chỉ cần hai từ khóa: FROM và SHOW, được viết theo thứ tự này. FROM, theo sau là tham số tên bảng sẽ chỉ định bảng bạn muốn truy vấn. SHOW, theo sau là tham số tên cột sẽ chỉ định các cột bạn muốn chọn.
Ví dụ: Bạn có thể liệt kê tất cả ID sản phẩm và tiêu đề tương ứng trong bảng doanh số bằng cách viết truy vấn này:
Nhóm dữ liệu: GROUP BY
Để phân khúc số liệu theo kích thước, chẳng hạn nhóm doanh số theo khu vực, sử dụng từ khóa GROUP BY. Có thể ghép nối từ khóa GROUP BY với tham số kích thước bất kỳ.
Ví dụ: Truy vấn nhóm tổng phí vận chuyển theo quốc gia và khu vực thanh toán được viết là:
Đây là một ví dụ khác về truy vấn sử dụng chiều thời gian để hiển thị doanh thu thực theo tháng:
Truy vấn trên không trả về tháng không có doanh số. Nếu bạn muốn truy vấn trả về một khoảng thời gian hoàn chỉnh và không gián đoạn, hãy sử dụng từ bổ trợ ALL:
Khi sử dụng từ bổ trợ ALL, bạn cũng cần chỉ định SINCE và UNTIL. Lưu ý: Từ bổ trợ ALL chỉ phù hợp với kích thước thời gian.
Đại lượng thời gian
Đây là các kích thước thời gian bạn có thể sử dụng để nhóm dữ liệu:
Toán tử | Chức năng sử dụng |
---|---|
giờ | Nhóm theo giờ của ngày dương lịch. |
day | Nhóm theo ngày dương lịch. |
week | Nhóm theo tuần dương lịch. |
tháng | Nhóm theo tháng dương lịch. |
quý | Nhóm theo quý dương lịch. |
year | Nhóm theo năm dương lịch. |
hour_of_day | Nhóm theo 24 giờ (1, 2,..., 24). |
day_of_week | Nhóm theo ngày trong tuần (M, T, W,..., S). |
week_of_year | Nhóm theo tuần trong năm (1, 2,..., 52). |
Lọc dữ liệu: WHERE
Từ khóa WHERE cho phép bạn áp dụng bộ lọc theo kích thước cho toàn bộ truy vấn ShopifyQL.
Ví dụ: Nếu bạn muốn trả về doanh thu thực, được nhóm theo tháng nhưng chỉ cho một khu vực cụ thể, truy vấn của bạn là:
Như có thể thấy trong ví dụ trên, bạn có thể lọc kết quả được thiết lập bằng tham số WHERE ngay cả khi tham số đó không có trong từ khóa SHOW hoặc GROUP BY. Trong trường hợp này, doanh thu thực chỉ được lọc trong tất cả tháng đối với đơn hàng có địa chỉ thanh toán tại Ohio, mặc dù billing_region không có trong kết quả đã đặt.
Toán tử so sánh
Từ khóa WHERE sử dụng toán tử so sánh để lọc dữ liệu. Trong ví dụ trên "=" được sử dụng để chỉ định rằng truy vấn sẽ lọc dựa trên một giá trị cụ thể, tuy nhiên, bạn có thể sử dụng những toán tử khác:
Toán tử so sánh | Chức năng sử dụng |
---|---|
= | bằng |
!= | khác |
< | nhỏ hơn |
> | lớn hơn |
<= | nhỏ hơn hoặc bằng |
>= | lớn hơn hoặc bằng |
Toán tử logic
Để lọc thêm dữ liệu, bạn có thể thêm toán tử logic vào truy vấn. Các toán tử logic của ShopifyQL là:
Toán tử logic | Chức năng sử dụng |
---|---|
AND | Lọc để hiển thị tất cả hàng đáp ứng các điều kiện phân tách bằng AND. |
HOẶC | Lọc để hiển thị tất cả hàng đáp ứng một trong các điều kiện phân tách bằng OR. |
NOT | Lọc để chỉ hiển thị các hàng không đáp ứng các điều kiện như hàng không chứa giá trị đã chỉ định. |
Bạn có thể sử dụng nhiều bộ lọc với từ khóa WHERE bằng cách thêm toán tử logic.
Thêm vào truy vấn tập dữ liệu mẫu để nhóm doanh thu thực hằng tháng cho tất cả đơn hàng có địa chỉ thanh toán tại Ohio và đã áp dụng ưu đãi giảm giá, truy vấn là:
Khoảng ngày: SINCE và UNTIL
Nếu muốn lọc truy vấn theo ngày hoặc khoảng thời gian nhất định, bạn có thể sử dụng từ khóa SINCE và UNTIL và các tham số liên quan. Các từ khóa này là duy nhất vì chỉ lọc khoảng thời gian.
Ví dụ: Đây là truy vấn để tìm doanh thu thực trong 12 tháng qua tại Canada, bắt đầu từ hôm nay:
Toán tử bù đắp
Bạn có thể lọc theo ngày cụ thể hoặc theo chênh lệch ngày. Các toán tử bù đắp ShopifyQL là:
Toán tử bù đắp | Chức năng sử dụng |
---|---|
-{#}d | Số ngày qua từ ngày chạy truy vấn. |
-{#}w | Số tuần qua từ ngày chạy truy vấn. |
-{#}m | Số tháng qua từ ngày chạy truy vấn. |
-{#}q | Số quý qua từ ngày chạy truy vấn. |
-{#}y | Số năm qua từ ngày chạy truy vấn. |
dd-mm-yyyy | Ngày cụ thể. |
hôm nay | Ngày chạy truy vấn. |
hôm qua | Khoảng thời gian 24 giờ trước đó kể từ khi chạy truy vấn. |
Lọc theo khoảng ngày: DURING
Từ khóa DURING giúp đơn giản hóa quá trình lọc khoảng ngày. Bạn có thể sử dụng từ khóa DURING để lọc kết quả truy vấn trong một khoảng thời gian đã biết như năm dương lịch hoặc tháng cụ thể hoặc trong khoảng ngày có nhiều ngày mỗi năm như Black Friday Cyber Monday. Ví dụ:
DURING chấp nhận bất kỳ toán tử khoảng ngày nào dưới đây:
Toán tử khoảng ngày | Chức năng sử dụng |
---|---|
hôm nay | Ngày chạy truy vấn. |
hôm qua | Khoảng thời gian 24 giờ trước đó kể từ khi chạy truy vấn. |
this_week | Tuần dương lịch hiện tại. |
this_month | Tháng dương lịch hiện tại. |
this_quarter | Quý dương lịch hiện tại. |
this_year | Năm dương lịch hiện tại. |
last_week | Tuần dương lịch trước đó. |
last_month | Tháng dương lịch trước đó. |
last_quarter | Quý dương lịch trước đó. |
last_year | Năm dương lịch trước đó. |
bfcm2022 | Từ ngày 25 tháng 11 đến ngày 28 tháng 11 năm 2022. |
bfcm2021 | Ngày 26 tháng 11 đến ngày 29 tháng 11 năm 2021. |
So sánh theo khoảng ngày: COMPARE TO
Từ khóa COMPARE TO cho phép bạn so sánh dữ liệu trong khoảng ngày trong DURING và dữ liệu trong COMPARE TO. Từ khóa này chấp nhận mọi toán tử khoảng ngày được liệt kê trong mục DURING. Toán tử do COMPARE TO sử dụng phải có độ dài thời gian tương tự như toán tử do DURING sử dụng. Ví dụ: DURING this_week COMPARE TO last_week
là tổ hợp hợp lệ nhưng DURING this_week COMPARE TO last_month
thì không.
Ví dụ sau đây so sánh doanh thu thực trong dịp Black Friday Cyber Monday 2022 với Black Friday Cyber Monday 2021.
Sắp xếp dữ liệu: ORDER BY
Bạn có thể chỉ định cách bạn muốn sắp xếp dữ liệu do truy vấn trả về bằng từ khóa ORDER BY và các tham số: ASC đối với thứ tự tăng dần và DESC đối với thứ tự giảm dần.
Bạn có thể chỉ định số liệu hoặc kích thước bất kỳ mà bạn đang đưa vào truy vấn trong từ khóa ORDER BY, bao gồm nhiều trường.
Ví dụ: Truy vấn này trả về doanh thu thực của mỗi quốc gia và khu vực thanh toán, được sắp xếp theo thứ tự bảng chữ cái đảo ngược theo quốc gia thanh toán và sau đó theo khu vực thanh toán trong từng quốc gia.
Thứ tự bạn viết số liệu hoặc kích thước rất quan trọng. Nếu bạn chỉ định nhiều giá trị cho ORDER BY, tính năng sắp xếp được áp dụng cho từng số liệu hoặc kích thước theo thứ tự đã cho.
Giới hạn
Từ khóa LIMIT cho phép bạn chỉ định số lượng hàng mà truy vấn trả về. Từ khóa này rất hữu ích khi bạn chỉ muốn hiểu về hình thức của dữ liệu trong mỗi cột. Hoặc bạn có thể kết hợp từ khóa này với ORDER BY để tạo danh sách sản phẩm bán chạy nhất và bán kém nhất.
Ví dụ này sử dụng LIMIT và ORDER BY để tạo danh sách 10 sản phẩm bán chạy nhất theo số lượng trong 3 tháng qua:
Lập biểu đồ truy vấn: VISUALIZE và TYPE
Từ khóa VISUALIZE cho phép bạn viết truy vấn ShopifyQL hiển thị dữ liệu dưới dạng hình ảnh trực quan hóa dòng hoặc thanh.
Từ khóa TYPE không bắt buộc và phải đi kèm với "dòng" hoặc "thanh" để truy vấn trả về hình ảnh trực quan hóa dưới dạng biểu đồ dòng hoặc biểu đồ thanh tương ứng. Nếu TYPE không có trong truy vấn, ShopifyQL sẽ tự động quyết định hình ảnh trực quan hóa phù hợp nhất với truy vấn của bạn. Nếu không thể trực quan hóa truy vấn như đã viết, ShopifyQL sẽ trả về dữ liệu bảng.
Ví dụ: Bạn có thể trực quan hóa xu hướng bán hàng của mình trong năm ngoái theo tháng bằng đường xu hướng. Truy vấn này sẽ trả về biểu đồ chuỗi thời gian hiển thị tổng doanh số theo tháng trong năm ngoái. Tổng doanh số được mô tả bằng một đường duy nhất, có trục x được gắn nhãn là tháng và trục y được gắn nhãn là tổng doanh số:
Toán tử toán học
ShopifyQL cho phép các phép tính số học với số liệu trong dữ liệu của bạn. Có thể sử dụng các toán tử toán học sau:
Toán tử toán học | Chức năng sử dụng |
---|---|
+ | Phép cộng hai số. |
- | Phép trừ hai số. |
* | Phép nhân hai số. |
/ | Phép chia hai số. |
Ví dụ: Truy vấn này tính giá trị đơn hàng cho từng vùng trong năm ngoái. Khi sử dụng toán tử toán học với số liệu, bạn có thể sử dụng từ khóa AS để gán tên mới cho số liệu mới.
Hàm số
Các chức năng ShopifyQL cho phép bạn tổng hợp các cột tương tự như tính năng pivot table trong Microsoft Excel. Tổng hợp các cột nghĩa là kết hợp các cột để tạo giá trị mới. Các toán tử chức năng sau đây hiện có trong phiên bản ShopifyQL mới:
Toán tử chức năng | Chức năng sử dụng |
---|---|
count() | Số lượng phiên bản trong tập kết quả. |
sum() | Tổng các giá trị trong tập kết quả. |
min() | Giá trị tối thiểu trong tập kết quả. |
max() | Giá trị tối đa trong tập kết quả. |
avg() | Đã đặt giá trị trung bình trong kết quả. |
Chỉ có thể sử dụng các hàm sum
, min
, max
và avg
với các giá trị số, nhưng có thể sử dụng count
để đếm các phiên bản khác nhau của thuộc tính theo kích thước. Bạn không thể sử dụng các trường tổng hợp làm đối số trong các hàm. Các trường tổng hợp kết thúc bằng _sum
, _count
, hoặc _percent
.
Ví dụ: Truy vấn này trả về lỗi vì total_sales đã được tổng hợp:
Đây là truy vấn hợp lệ kết hợp các trường tổng hợp với các chức năng tổng hợp:
Truy vấn này trả về tổng giá trị đơn hàng trung bình tổng hợp, tổng doanh số tính bằng hàm sum
. Các số liệu này được phân chia theo khu vực thanh toán đối với tất cả đơn hàng đã đặt vào năm 2021.
Bình luận
Bạn có thể sử dụng bình luận để giải thích các mục của câu lệnh ShopifyQL hoặc ngăn cản việc thực hiện câu lệnh ShopifyQL. Mọi văn bản trong bình luận sẽ bị bỏ qua trong quá trình thực hiện.
Các bình luận một dòng bắt đầu bằng --
và kết thúc vào cuối dòng.
Bình luận nhiều dòng bắt đầu bằng /*
và kết thúc bằng */
.