การใช้เครื่องมือแก้ไขคำค้นหา ShopifyQL
คุณสามารถใช้ ShopifyQL ร่วมกับตัววิเคราะห์ข้อมูลใหม่ของ Shopify เพื่อสำรวจฐานข้อมูลของธุรกิจคุณ และกู้คืนข้อมูลที่ช่วยให้คุณเข้าใจธุรกิจของคุณในเชิงลึกมากขึ้น
ShopifyQL หรือภาษาแบบสอบถามของ Shopify คือภาษาแบบสอบถามของ Shopify ที่สร้างขึ้นเพื่อการค้า ภาษาแบบสอบถามจะใช้ในการร้องขอและกู้คืนข้อมูลจากฐานข้อมูล ข้อมูลของร้านค้าคุณจะถูกเก็บไว้ในตารางฐานข้อมูล มีโครงสร้างในคอลัมน์และแถวที่กําหนดไว้ คอลัมน์จะกําหนดประเภทของข้อมูลที่มี เช่น ยอดขาย และแถวจะระบุค่าจริงของประเภทข้อมูล เช่น ยอดขาย 2,450 ดอลลาร์สหรัฐ
หากต้องการกู้คืนข้อมูลของคุณในรูปแบบที่มีความหมาย จะต้องส่งการสอบถามไปยังฐานข้อมูล คำค้นหาคือคําถามที่ขอข้อมูลเฉพาะเป็นคําตอบ โดยประกอบด้วยคำสำคัญและพารามิเตอร์ที่สอดคล้องกัน การรวมคำสำคัญหลายคํากับพารามิเตอร์เฉพาะจะเป็นการสร้างคําค้นหาของคุณ หลังจากที่คุณได้สร้างคำค้นหาแล้ว คุณสามารถใช้งานและรับรายงานได้
ในหน้านี้
อภิธานศัพท์
ข้อกำหนด | ความหมาย |
---|---|
ขนาด | คุณลักษณะที่แบ่งกลุ่มข้อมูลเพื่อให้จัดเรียงและนําเสนอได้ชัดเจนมากขึ้น ตัวอย่างทั่วไปของขนาดได้แก่ เวลา สินค้า และสถานที่ ขนาดจะถูกใช้เป็นพารามิเตอร์ใน ShopifyQL |
คำสำคัญ | ไวยากรณ์ของ ShopifyQL ที่กระจัดกระจายเป็นข้อความสั่งเพื่อส่งการสอบถามของคุณโดยตรง |
ตัวชี้วัด | การวัดข้อมูลเป็นปริมาณ ตัวอย่างทั่วไปของเกณฑ์ชี้วัดได้แก่ ยอดขายรวม จํานวนของคำสั่งซื้อ และกําไรขั้นต้น |
พารามิเตอร์ | ไวยากรณ์ของ ShopifyQL ที่ระบุองค์ประกอบของฐานข้อมูลหรือรายละเอียดที่จะรวมอยู่ในแบบสอบถามของคุณ |
ตัวดำเนินการ | ข้อความหรืออักขระที่สงวนไว้ซึ่งใช้เป็นส่วนหนึ่งของคำค้นหา ตัวอย่างได้แก่ STARTS WITH >= หรือ last_week
|
ไวยากรณ์ ShopifyQL
คุณต้องปฏิบัติตามข้อกำหนดต่อไปนี้เมื่อสร้างคำค้นหารายงานที่ถูกต้องโดยใช้ ShopifyQL
- คุณจะสร้างคำค้นหาทั้งหมดเพียงบรรทัดเดียวหรือแยกทีละบรรทัดก็ได้
- คุณต้องใส่คำสำคัญ
FROM
และSHOW
อย่างน้อยหนึ่งรายการพร้อมกับพารามิเตอร์ที่เกี่ยวข้อง คำสำคัญและพารามิเตอร์อื่นๆ ทั้งหมดจะใส่หรือไม่ก็ได้ - คำสำคัญทั้งหมดในคําค้นหาต้องอยู่ในลำดับต่อไปนี้
-
FROM
-
SHOW
-
WHERE
-
GROUP BY
-
WITH
TOTALS
,GROUP_TOTALS
,PERCENT_CHANGE
-
TIMESERIES
-
HAVING
-
SINCE
และUNTIL
หรือDURING
-
COMPARE TO
และไม่บังคับUNTIL
-
ORDER BY
-
LIMIT
-
VISUALIZE
และTYPE
-
นี่คือตัวอย่างของ ShopifyQL ที่เขียนเป็นคำค้นหาโดยใช้ไวยากรณ์ที่ถูกต้อง คำสำคัญเป็นตัวหนา พารามิเตอร์ที่สอดคล้องกันของคำนั้นๆ จะรวมอยู่โดยใช้ตัวยึดตำแหน่งทั่วไป และพารามิเตอร์ที่เป็นตัวเลือกจะอยู่ในวงเล็บ
คำสำคัญ ShopifyQL
การสอบถามของ ShopifyQL สามารถแบ่งช่วงได้จากส่วนพื้นฐาน ข้อมูลเชิงลึกของข้อมูลระดับสูง และแบบครอบคลุม เพื่อดูรายละเอียดข้อมูลเชิงลึก แต่ละคีย์เวิร์ดมีฟังก์ชันเฉพาะที่สร้างจากการสอบถามของคุณ
คำสำคัญ | คำอธิบาย |
---|---|
FROM | ระบุว่าตารางชุดข้อมูลใดเพื่อเลือกข้อมูล |
SHOW | เลือกคอลัมน์ที่คุณต้องการแยกจากตารางชุดข้อมูล |
ดดดWHERE | กําหนดเงื่อนไขหรือเงื่อนไขที่ต้องเลือกแถว |
GROUP BY | จัดกลุ่มข้อมูลที่แยกออกมาตามขนาดมิติหรือเวลา |
WITH | แก้ไขพฤติก รรมของคำสำคัญ ShopifyQL บางคํา |
TIMESERIES | แยกการจัดกลุ่มตามเวลา มิติ และเติมวันที่ในคำค้นหา |
HAVING | กรองผลลัพธ์ของคำค้นหาหลังจากที่มีการจัดกลุ่ม |
SINCE | แสดงข้อมูลตั้งแต่วันที่ระบุไว้ในอดีต มักใช้คู่กับ UNTIL
|
UNTIL | แสดงข้อมูลจนถึงวันที่ระบุในอดีต มักใช้คู่กับ SINCE หรือ COMPARE TO
|
DURING | แสดงข้อมูลในช่วงเวลาที่ระบุในอดีต |
COMPARE TO | แสดงข้อมูลเพื่อเปรียบเทียบกับเวลาที่ระบุในอดีต |
ORDER BY | ระบุคอลัมน์ที่จะสั่งซื้อข้อมูล |
LIMIT | จํากัดจํานวนแถวของข้อมูลที่จะแสดง |
VISUALIZE | แสดงข้อมูลของคุณบนเส้นหรือแถบการแสดงภาพ คุณสามารถระบุการแสดงภาพที่คุณต้องการด้วย TYPE
|
AS | คำสำคัญเสริมที่เปลี่ยนชื่อคอลัมน์เป็นชื่อที่คุณเลือก |
FROM และ SHOW
การสร้างคำค้นหา ShopifyQL ที่ง่ายที่สุดต้องใช้คำสำคัญสองคำเท่านั้น: FROM
และSHOW
ซึ่งเขียนไว้ในคำสั่งซื้อนั้น FROM
ตามด้วยพารามิเตอร์ชื่อตารางอย่างน้อยหนึ่งพารามิเตอร์ที่จะระบุว่าตารางใดที่คุณต้องการสอบถาม SHOW
ตามด้วยพารามิเตอร์ชื่อคอลัมน์จำนวนเท่าใดก็ได้ที่จะระบุคอลัมน์ที่คุณต้องการเลือก
SHOW
สามารถใช้เพื่อระบุลำดับที่จะส่งคืนตัวชี้วัดและมิติในรายงานได้
ตัวอย่างเช่น คุณสามารถส่งคืนผลรวมของยอดขายทั้งหมดโดยเขียนคำค้นหานี้
WHERE
โดยคำสำคัญ WHERE
นี้จะช่วยให้คุณสามารถใช้ตัวกรองมิติกับคำค้นหาทั้งหมดของ ShopifyQL ได้ ต ัวกรองสามารถแก้ไขได้โดยตัวดำเนินการเปรียบเทียบ ทั้งสองตัว (เช่น มากกว่า >
) ตัวดำเนินการทางตรรกะ (เช่น AND
หรือ NOT
) และการจับคู่สตริงและอาร์เรย์บางส่วน (เช่น STARTS WITH
และ CONTAINS
)
WHERE
เงื่อนไขต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ค่าต้องรวมไว้ในอัญประกาศเดี่ยว (') ไม่ใช่อัญประกาศคู่ (")
- เงื่อนไขไม่สามารถมีเลขคณิตใดๆ ได้
- เงื่อนไขสามารถอ้างอิงได้เฉพาะมิติเท่านั้น ไม่ใช่ตัวชี้วัด
ตัวอย่างเช่น หากคุณต้องการคืนยอดขายทั้งหมด แต่กรองตามประเทศสำหรับเรียกเก็บเงิน คำค้นหาของคุณจ ะเป็น
เช่นเดียวกับในตัวอย่างข้างต้น คุณสามารถกรองผลลัพธ์ที่ตั้งค่าด้วยพารามิเตอร์ WHERE
ได้ แม้พารามิเตอร์นั้นจะไม่รวมอยู่ในคำสำคัญ SHOW
ของคุณ ในกรณีนี้ ยอดขายทั้งหมดจะถูกกรองตามการสั่งซื้อคำสั่งซื้อจากแคนาดาเท่านั้น แม้ว่า billing_country
จะไม่รวมอยู่ในชุดผลลัพธ์
ผู้ประกอบการเปรียบเทียบ
คำสำคัญ WHERE
ใช้ตัวดำเนินการการเปรียบเทียบในการกรองข้อมูล ในตัวอย่างด้านบน ได้ใช้ =
เพื่อระบุว่าคำค้นหาจะกรองตามค่าที่ระบุ อย่างไรก็ตาม มีตัวดำเนินการอื่นๆ ให้คุณเลือกใช้
ตัวดำเนินการเปรียบเทียบ | คำอธิบาย |
---|---|
= | เท่ากับ |
!= | ไม่เท่ากับ |
< | น้อยกว่า |
> | มากกว่า |
<= | น้อยกว่าหรือเท่ากับ |
>= | มากกว่าหรือเท่ากับ |
ตัวดำเนินการทางตรรกะ
หากต้องการกรองข้อมูลของคุณเพิ่มเติม คุณสามารถเพิ่มผู้ประกอบการตรรกะไปยังแบบสอบถามของคุณ ตัวประกอบตรรกะ ShopifyQL ได้แก่:
ตัวประกอบตรรกะ | คำอธิบาย |
---|---|
AND | กรองเพื่อรวมแถวทั้งหมดที่ตรงตามเงื่อนไขซึ่งคั่นด้วย AND
|
OR | กรองเพื่อรวมแถวทั้งหมดที่ตรงตามเงื่อนไขใดเงื่อนไขหนึ่งซึ่งคั่นด้วย OR
|
NOT | กรองเพื่อรวมเฉพาะแถวที่ไม่ตรงตามเงื่อนไข เช่น แถวที่ไม่มีค่าที่ระบุ |
คุณสามารถใช้ตัวกรองหลายตัวกรองกับคำสำคัญ WHERE
โดยการเพิ่มตัวดำเนินการทางตรรกะ
การเพิ่มไปยังคำค้นหาชุดข้อมูลตัวอย่าง เพื่อรับการจัดกลุ่มยอดขายสุทธิรายเดือนสำหรับคำสั่งซื้อทั้งหมดที่มีลูกพีชแห้งซึ่งมีที่อยู่สำหรับเรียกเก็บเงินอยู่ในแคนาดาและใช้ส่วนลด คำค้นหาจะมีลักษณะดังนี้
GROUP BY
หากต้องการแบ่งตัวชี้วัดตามขอบเขต เช่น รวมยอดขายเป็นกลุ่มตามภูมิภาค ให้ใช้คำสำคัญ GROUP BY
สามารถจับคู่คำสำคัญ GROUP BY
กับพารามิเตอร์ขอบเขตใดก็ได้
ตัวอย่างเช่น การสอบถามที่จัดกลุ่มยอดขายรวมตามประเทศและภูมิภาคสำหรับเรียกเก็บเงินจะเขียนไว้ ดังนี้:
นี่คือตัวอย่างคำค้นหาที่ใช้ขอบเขตด้านเวลาเพื่อแสดงยอดขายรวมตามเดือน:
คำค้นหาข้างต้นไม่แสดงผลเดือนที่คุณไม่มียอดขาย หากคุณต้องการให้คำค้นหาแสดงช่วงเวลาทั้งหมดแบบไม่ขาดตอน ให้ใช้คำสำคัญTIMESERIES
ขนาดเวลา
นี่คือขนาดเวลาที่คุณสามารถใช้เพื่อจัดกลุ่มข้อมูลได้:
ตัวดำเนินการ | คำอธิบาย |
---|---|
second | จัดกลุ่มตามวินาทีในหนึ่งชั่วโมง |
minute | จัดกลุ่มตามนาทีในหนึ่งชั่วโมง |
hour | การจัดกลุ ่มตามชั่วโมงของวันตามปฏิทิน |
day | จัดกลุ่มตามวันที่ในปฏิทิน |
week | จัดกลุ่มตามสัปดาห์ในปฏิทิน |
month | การจัดกลุ่มตามเดือนปฏิทิน |
quarter | การจัดกลุ่มตามไตรมาสในปฏิทิน |
year | การจัดกลุ่มตามปีปฏิทิน |
hour_of_day | จัดกลุ่มตาม 24 ชั่วโมง (1, 2, ..., 24) |
day_of_week | การจัดกลุ่มตามวันในสัปดาห์ (จ, อ, พ, ..., อา) |
week_of_year | การจัดกลุ่มตามสัปดาห์ของปี (1, 2, ..., 52) |
month_of_year | จัดกลุ่มตามเดือนในปี (1, 2, ..., 12) |
TIMESERIES
คุณสามารถใช้คำสำคัญ TIMESERIES
เมื่อคุณต้องการแยกการจัดกลุ่มตามมิติเวลา ดูตัวชี้วัดตามเวลา และเติมวันที่ในคำค้นหาเพื่อเปลี่ยนเป็นกราฟอนุกรมเวลาที่ไม่มีข้อมูล
ในตัวอย่างนี้ คุณกำลังเติมข้อมูลยอดขายทั้งหมดที่ขาดหายไปในช่วง 15 วันที่ผ่านมา
TIMESERIES และลำดับคอลัมน์
ลำดับคอลัมน์สามารถเปลี่ยนได้ โดยขึ้นอยู่กับว่ามีการกำหนด TIMESERIES
และอยู่ในค่า GROUP BY
หรือ SHOW
หรือไม่
TIMESERIES | SHOW | GROUP BY | ผลลัพธ์ |
---|---|---|---|
กำหนด | ไม่มีอยู่ | ไม่มีอยู่ | มิติ TIMESERIES คือมิติแรก |
กำหนด | ไม่มีอยู่ | นำเสนอ | ตําแหน่งของมิติเวลาจะถูกกําหนดโดยตําแหน่งของ GROUP BY
|
กำหนด | นำเสนอ | นำเสนอ | ตําแหน่งของมิติเวลาจะถูกกําหนดโดยตําแหน่งของ SHOW
|
ไม่ได้รับ | ไม่มีอยู่ | นำเสนอ | ตําแหน่งของมิติเวลาจะถูกกําหนดโดยตําแหน่งของ GROUP BY ระบบยังไม่ได้เติมข้อมูล |
ไม่ได้รับ | นำเสนอ | นำเสนอ | ตําแหน่งของมิติเวลาจะถูกกําหนดโดยตําแหน่งของ SHOW ระบบยังไม่ได้เติมข้อมูล |
ไม่ได้รับ | นำเสนอ | ไม่มีอยู่ | ทริกเกอร์ข้อผิดพลาดทางไวยากรณ์เนื่องจาก SHOW อ้างอิงได้เฉพาะมิติที่มีอยู่ใน GROUP BY เท่านั้น |
HAVING
คุณสามารถใช้คำสำคัญ HAVING
เพื่อกรองผลลัพธ์คำค้นหาหลังจากที่มีการจัดกล ุ่มแล้วได้ ซึ่งคล้ายกับ WHERE
ตัวกรองอาจมีเงื่อนไขหนึ่งเงื่อนไข แต่เงื่อนไขสามารถแก้ไขได้โดยทั้งตัวดำเนินการเปรียบเทียบ (เช่น มากกว่า >
) และตัวดำเนินการทางตรรกะ (เช่นAND
หรือ NOT
) โดย HAVING
สามารถอ้างอิงคอลัมน์นามแฝง ฟังก์ชันรวม และการจัดกลุ่มได้ ซึ่งต่างจาก WHERE
HAVING
กำหนดให้คำค้นหาต้องมี GROUP BY
หรืออนุประโยค TIMESERIES
เนื่องจาก HAVING
จะกรองผลลัพธ์ของคำค้นหาหลังจากที่จัดกลุ่มโดย GROUP BY
หรือ TIMESERIES
ในตัวอย่างนี้ คุณกำลังกรองยอดขายทั้งหมดของสินค้าแต่ละรายการที่มียอดขายทั้งหมดมากกว่า 1000 แต่น้อยกว่า 5000
WITH
คำสำคัญ WITH
จะแก้ไขพฤติกรรมของคำสำคัญอื่นๆ บางส่วนของ ShopifyQL โดยจะมีการแก้ไขทั้งหมด 3 แบบต่อไปนี้
-
TOTALS
: ระบุข้อมูลสรุปตัวชี้วัดระดับสูงก่อนที่จะแยกย่อยตามมิติ -
GROUP_TOTALS
: ระบุยอดรวมของการจัดกลุ่มย่อยทั้งหมดเมื่อมีกลุ่มตามการรวมกลุ่ม -
PERCENT_CHANGE
: เพิ่มตัวชี้วัดเปอร์เซ็นต์การเปลี่ยนแปลงให้กับแต่ละคอลัมน์การเปรียบเทียบในCOMPARE TO
เมื่อมีการใช้ตัวแก้ไขนี้ คอลัมน์ใหม่จะถูกเพิ่มไปยังคอลัมน์ตัวชี้วัดการเปรียบเทียบแต่ละคอลัมน์ที่มีเปอร์เซ็นต์การเปลี่ยนแปลง
TOTALS
ตัวแก้ไข TOTALS
นี้จะระบุข้อมูลสรุปตัวชี้วัดระดับสูงก่อนที่จะแยกย่อย ตามมิติ เมื่อคุณใช้งาน WITH TOTALS
คำค้นหาจะแสดงผลยอดรวมเป็นคอลัมน์พิเศษในผลลัพธ์ที่ตั้งด้วยชื่อตัวชี้วัดและ “ยอดรวม” โดยเป็นส่วนหนึ่งของชื่อคอลัมน์ แต่ละแถวจะมียอดรวมที่เกี่ยวข้องทั้งหมด
ตัวอย่างเช่น คำค้นหานี้แสดงยอดรวมของยอดขายทั้งหมด
คำค้นหานี้อาจแสดงผลรายงานที่คล้ายกับข้อความนี้
วันที่ | ยอดขายรวม | ยอดขายสุทธิ | ยอดขายรวม | ยอดขายรวมทั้งหมด | ยอดขายสุทธิทั้งหมด | ยอดขายทั้งหมด |
---|---|---|---|---|---|---|
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
ตัวแก้ไข GROUP_TOTALS
นี้ระบุยอดรวมของการจัดกลุ่มย่อยทั้งหมดเมื่อมีกลุ่มตามการรวมกลุ่ม เมื่อคุณใช้ WITH GROUP_TOTALS
ค้นหาจะแสดงผลยอดรวมเป็นคอลัมน์พิเศษในผลลัพธ์ที่ตั้งชื่อด้วยชื่อตัวชี้วัด มิติยอดรวม และ “ยอดรวม” เป็นส่วนหนึ่งของชื่อคอลัมน์ แต่ละแถวจะมียอดรวมที่เกี่ยวข้องทั้งหมด
ตัวอย่างเช่น คำค้นหานี้แสดงยอดรวมของยอดขายทั้งหมดตามประเทศสำหรับเรียกเก็บเงิน
คำค้นหานี้อาจแสดงผลรายงานที่คล้ายกับข้อความนี้
ประเทศ | ID ลูกค้า | ยอดขายรวม | ยอดขายรวม ยอดทั้งหมดในประเทศ | ยอดขายทั้งหมด |
---|---|---|---|---|
สหรัฐฯ | 1 | 1 | 0 | 1 |
สหรัฐฯ | null | -1 | 1 | 1 |
แคนาดา | 1 | 1 | 1 | 1 |
PERCENT_CHANGE
ตัวแก้ไข PERCENT_CHANGE
ปรับเพิ่มตัวชี้วัดเปอร์เซ็นต์การเปลี่ยนแปลงให้กับคอลัมน์การเปรียบเทียบแต่ละคอลัมน์เมื่อใช้ COMPARE TO
เมื่อคุณใช้งาน WITH PERCENT_CHANGE
คำค้นหาจะแสดงผลเปอร์เซ็นต์การเปลี่ยนแปลงของตัวชี้วัดการเปรียบเทียบแต่ละตัวเป็นคอลัมน์พิเศษในผลลัพธ์ที่ตั้งชื่อด้วยชื่อตัวชี้วัดและ “เปอร์เซ็นต์dkiเปลี่ยนแปลง” เป็นส่วนหนึ่งของชื่อคอลัมน์
สูตรที่ใช้คํานวณเปอร์เซ็นต์การเปลี่ยนแปลงคือ (base_column - comparison_column) * 100 / abs(comparison_column)
ตั วอย่างเช่น คำค้นหานี้ใช้ SINCE
และ COMPARE TO
เพื่อเปรียบเทียบยอดขายสุทธิต่อวันในเดือนที่ผ่านมากับเดือนเดียวกันในปีก่อนหน้า โดยมีคอลัมน์เปอร์เซ็นต์การเปลี่ยนแปลง
คอลัมน์ในรายงานผลลัพธ์ประกอบด้วยวัน ยอดขายสุทธิ วันที่เปรียบเทียบ ยอดขายสุทธิที่เปรียบเทียบ และยอดขายสุทธิที่มีเปอร์เซ็นต์การเปลี่ยนแปลง
SINCE และ UNTIL
หากคุณต้องการกรองคําค้นหาตามวันที่หรือช่วงเวลาหนึ่ง คุณสามารถใช้คำสำคัญ SINCE
และ UNTIL
รวมถึงพารามิเตอร์ที่เกี่ยวข้องได้ คำสำคัญเหล่านี้เป็นคำเฉพาะเนื่องจา กเป็นการกรองเฉพาะช่วงเวลาเท่านั้น หากคุณใช้ SINCE
และไม่ได้กำหนดค่า UNTIL
ช่วงเวลาสิ้นสุดของคุณจะเป็น today
ตามค่าเริ่มต้น
ตัวอย่างเช่น นี่คือคำค้นหายอดขายสุทธิในช่วง 12 เดือนที่ผ่านมาในแคนาดา โดยสิ้นสุดเมื่อวานนี้
ตัวดำเนินการชดเชย
คุณสามารถกรองตามวันที่ที่เฉพาะเจาะจงหรือตามการชดเชนวันที่และเวลา ตัวดำเนินการการชดเชยของ ShopifyQL ได้แก่
ตัวดำเนินการชดเชย | คำอธิบาย |
---|---|
-{#}s | จำนวนวินาทีที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}min | จำนวนนาทีที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}h | จำนวนชั่วโมงที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}d | จำนวนวันที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}w | จำนวนสัปดาห์ที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}m | จำนวนเดือนที่ผ่านมาโดยนับตั้งแต่วันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}q | จํานวนไตรมาสที่ผ่านมาจากวันที่และเวลาที่เรียกใช้คำค้นหา |
-{#}y | จำนวนปีที่ผ่านมาโดยนับตั้งแ ต่วันที่และเวลาที่เรียกใช้คำค้นหา |
yyyy-MM-dd | วันที่ใดวันที่หนึ่ง |
yyyy-MM-ddThh:mm:ss | วันที่และเวลาที่เจาะจง |
ฟังก์ชันวันที่
คุณสามารถใช้ฟังก์ชันต่อไปนี้ร่วมกับตัวดำเนินการช่วงวันที่ (ยกเว้นวันที่ที่ระบุ) ใน SINCE
และ UNTIL
ได้ ฟังก์ชัน “startOf...
” จะตัดทอนให้สั้นลงให้เริ่มต้นที่หน่วยเวลาที่เกี่ยวข้อง (นาที ชั่วโมง วัน สัปดาห์ เดือน ไตรมาส และปี) เมื่อใช้กับ SINCE
และฟังก์ชัน “endOf...
” จะตัดทอนให้สั้นลงให้สิ้นสุดที่หน่วยเวลาที่เกี่ยวข้องเมื่อใช้กับ UNTIL
หน่วยฟังก์ชันวันที่และหน่วยการดำเนินการต้องตรงกันเพื่อแสดงผลลัพธ์ที่ถูกต้อง ตัวอย่างเช่น startOfMonth(-1m)
ถูกต้อง แต่ startOfMonth(-1d)
ไม่ถูกต้อง
ฟังก์ชันวันที่ | คำอธิบาย |
---|---|
now | วันที่และเวลาที่เรียกใช้คำค้นหา |
startOfMinute(-{#}min) | ตัดทอนตัวดำเนินการช่วงวันที่ให้เริ่มต้นที่นาทีเป้าหมาย |
endOfMinute(-{#}min) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่นาทีเป้าหมาย |
startOfHour(-{#}h) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่ชั่วโมงเป้าหมาย |
endOfHour(-{#}h) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สิ้นสุดที่ชั่วโมงเป้าหมาย |
startOfDay(-{#}d) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่วันเป้าหมาย |
endOfDay(-{#}d) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่วันเป้าหมาย | startOfWeek(-{#}w) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่สัปดาห์เป้าหมาย |
endOfWeek(-{#}w) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่สัปดาห์เป้าหมาย |
startOfMonth(-{#}m) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่เดือนเป้าหมาย |
endOfMonth(-{#}m) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่เดือนเป้าหมาย |
startOfQuarter(-{#}q) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่ไตรมาสเป้าหมาย |
endOfQuarter(-{#}q) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่ไตรมาสเป้าหมาย |
startOfYear(-{#}y) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้เริ่มต้นที่ปีเป้าหมาย |
endOfYear(-{#}y) | ตัดทอนตัวดำเนินการช่วงวันที่ให้สั้นลงให้สิ้นสุดที่ปีเป้าหมาย |
ตัวอย่างเช่น หากวันนี้เป็นวันที่ 8 พฤศจิกายน 2022 คุณสามารถใช้คำค้นหาต่อไปนี้เพื่อแสดงผลยอดขายรวมตั้งแต่วันที่ 1 มกราคม 2020 ถึง 31 ตุลาคม 2022
DURING
คำสำคัญ DURING
ช่วยให้กรองช่วงวันที่ และแทนที่การใช้ SINCE
และ UNTIL
ได้ง่ายดายยิ่งขึ้น คุณสามารถใช้คำสำคัญ DURING
เพื่อกรองผลลัพธ์การค้นหาในช่วงเวลาที่ระบุได้ เช่น ปีปฏิทินหรือเดือนที่ระบุ หรือช่วงวันที่ที่มีการกำหนดวันที่แตกต่างในแต่ละปี เช่น Black Friday Cyber Monday ตัวอย่างเช่น
ตัวดำเนินการช่วงวันที่ที่ตั้งชื่อ
DURING
สามารถใช้กับตัวดำเนินการช่วงวันที่ที่ตั้งชื่อดังต่อไปนี้ได้
ตัวดำเนินการช่วงวันที่ที่ตั้งชื่อ | คำอธิบาย |
---|---|
today | วันที่ที่เรียกใช้คำค้นหา |
yesterday | ช่วงเวลา 24 ชั่วโมงก่อนหน้านับตั้งแต่มีการเรียกใช้คำค้นหา |
this_week | สัปดาห์ปัจจุบันในปฏิทิน |
this_month | เดือนปัจจุบันในปฏิทิน |
this_quarter | ไตรมาสปัจจุบันในปฏิทิน |
this_year | ปีปฏิทินปัจจุบัน |
last_week | สัปดาห์ก่อนหน้าในปฏิทิน |
last_month | เดือนก่อนหน้าในปฏิทิน |
last_quarter | ไตรมาสก่อนหน้าในปฏิทิน |
last_year | ปีปฏิทินก่อนหน้า |
bfcmYYYY | ช่วง Black Friday Cyber Monday ที่เลือกได้ในช่วงปีที่ระบุ ตัวอย่างเช่น bfcm2022 แสดงผลลัพธ์วันที่ 25-28 พฤศจิกายน 2022 |
COMPARE TO
คำสำคัญ COMPARE TO
ช่วยให้คุณสามารถเปรียบเทียบข้อมูลในช่วงวันที่ใน SINCE
และ UNTIL
หรือ DURING
และใน COMPARE TO
ได้
คุณสามารถใช้คำสำคัญ COMPARE TO
กับพารามิเตอร์ประเภทต่อไปนี้ได้
- วันที่ที่แน่นอน เช่น
2023-01-01
: รวมตัวชี้วัดสำหรับช่วงเวลาที่กำหนดและตัวชี้วัดการเปรียบเทียบสำหรับช่วงเวลาเดียวกันในวันที่ที่แน่นอน -
วันที่ที่ตั้งชื่อ เช่น
last_week
: รวมตัวชี้วัดสำหรับช่วงเวลาที่กำหนดและตัวชี้วัดการเปรียบเทียบสำหรับช่วงเวลาเดียวกันในวันที่ที่ตั้งชื่อ- ตัวดำเนินการที่ใช้โดย
COMPARE TO
ไม่จำเป็นต้องมีระยะเวลาเท่ากับตัวดำเนินการที่ใช้โดยDURING
หากไม่มีค่าUNTIL
ระบบจะคํานวณช่วงเวลาให้เท่ากับค่าที่ระบุไว้ในDURING
ตัวอย่างเช่นDURING this_week COMPARE TO last_month
เปรียบเทียบข้อมูลของสัปดาห์นี้กับระยะเวลาหนึ่งสัปดาห์ที่เริ่มต้นในช่วงต้นเดือนที่ผ่านมา
- ตัวดำเนินการที่ใช้โดย
วัน ที่ชดเชย เช่น
-3q
: รวมตัวชี้วัดสำหรับช่วงเวลาที่กำหนดและตัวชี้วัดการเปรียบเทียบสำหรับช่วงเวลาเดียวกันในวันที่ที่สัมพันธ์กันการเปรียบเทียบหลายวันที่ เช่น
-1y, -2y
: เปรียบเทียบข้อมูลของคุณจากช่วงวันที่ที่เจาะจงกับช่วงวันที่อื่นๆ หลายรายการ ซึ่งจะเป็นประโยชน์เมื่อคุณต้องการติดตามการเปลี่ยนแปลงในช่วงระยะเวลาต่างๆหากคุณใช้มิติวันที่ในคำค้นหาที่มี
COMPARE TO
คุณต้องใช้TIMESERIES
แทนGROUP BY
ตัวอย่างต่อไปนี้เปรียบเทียบยอดขายสุทธิของเดือนก่อนหน้ากับเดือนเดียวกันในปีก่อนหน้า
ตัวดำเนินการช่วงวันที่ที่สัมพันธ์กัน
ตัวดำเนินการที่สัมพันธ์กันจะแสดงผลระยะเวลาที่เหมือนกับช่วงวันที่พื้นฐาน โดยเลื่อนกลับตามช่วงเวลาที่ระบุ นอกเหนือจากตัวดำเนินการช่วงวันที่ที่มีชื่อแล้ว COMPARE TO
ให้ยอมรับตัวดำเนินการที่สัมพันธ์กันต่อไปนี้
ตัวดำเนินการช่วงวันที่ที่สัมพันธ์กัน | คำอธิบาย |
---|---|
previous_period | หนึ่งช่วงเวลาก่อนช่วงวันที่เริ่มต้น |
previous_year | หนึ่งปีก่อนช่วงวันที่เริ่มต้น |
previous_quarter | หนึ่งไตรมาสก่อนช่วงวันที่เริ่มต้น |
previous_month | หนึ่งเดือนก่อนช่วงวันที่พื้นฐาน |
previous_week | หนึ่งสัปดาห์ก่อนช่วงวันที่เริ่มต้น |
previous_day | หนึ่งวันก่อนช่วงวันที่เริ่มต้น |
previous_hour | หนึ่งชั่วโมงก่อนช่วงวันที่เริ่มต้น |
previous_minute | หนึ่งนาทีก่อนช่วงวันที่เริ่มต้น |
previous_second | หนึ่งวินาทีก่อนช่วงวันที่เริ่มต้น |
ORDER BY
คุณสามารถระบุวิธีที่คุณต้องการจัดเรียงข้อมูลที่แสดงผลโดยคำค้นหาของคุณได้โดยการใช้คำสำคัญ ORDER BY
และพารามิเตอร์ของคำดังกล่าว คือ ASC
สำหรับคำสั่งซื้อที่เรียงจากน้อยไปหามาก และ DESC
สำหรับคำสั่งซื้อที่เรียงจากมากไปหาน้อย
คุณสามารถระบุตัวชี้วัดหรือขอบเขตใดๆ ที่คุณรวมไว้ในคำค้นหาในคำสำคัญ ORDER BY
ได้ รวมถึงช่องหลายช่อง
ตัวอย่างเช่น คำค้นหานี้จะแสดงผลยอดขายสุทธิของสินค้าและตัวเลือกสินค้าทั้งหมดในปีที่ผ่านมา ผลลัพธ์จะเรียงตามตัวอักษรของชื่อสินค้าก่อน จากนั้นจะเรียงตามตัวอักษรจากหลังมาหน้าตามประเภทสินค้า
ลำดับการเขียนตัวชี้วัดหรือขอบเขตนั้นมีความสำคัญ หากคุณระบุค่าหลายค่าใน ORDER BY
ระบบจะจัดเรียงแต่ละตัวชี้วัดหรือขอบเขตตามลำดับที่ระบุไว้
TIMESERIES และลำดับคอลัมน์
ลำดับคอลัมน์สามารถเปลี่ยนได้ โดยขึ้นอยู่กับว่าคำค้นหามี TIMESERIES
และ ORDER BY
หรือไม่
TIMESERIES | ORDER BY | ผลลัพธ์ |
---|---|---|
นำเสนอ | ไม่มีอยู่ | ผลลัพธ์จะเรียงลำดับตามมิติ TIMESERIES
|
นำเสนอ | นำเสนอ | ผลลัพธ์จะเรียงลำดับตามมิติเวลา TIMESERIES จากนั้นตามมิติ ORDER BY
|
ไม่มีอยู่ | นำเสนอ | ผลลัพธ์จะเรียงลำดับตามมิติ ORDER BY
|
ไม่มีอยู่ | ไม่มีอยู่ | ผลลัพธ์จะเรียงลำดับตามคอลัมน์ SHOW แรก |
LIMIT
คำสำคัญ LIMIT
ช่วยให้คุณระบุจํานวนแถวสูงสุดที่จะคำค้นหาจะแสดงผล ซึ่งจะเป็นประโยชน์เมื่อคุณเพียงต้องการเข้าใจลักษณะการแสดงข้อมูลในแต่ละคอลัมน์ หรือรายงานที่มีขนาดใหญ่กว่าที่คำค้นหาอาจใช้เวลานานในการคืนค่า คุณสามารถรวม LIMIT
เข้ากับ ORDER BY
เพื่อสร้างรายการที่มีด้านบนและด้านล่างได้
หากคุณไม่ได้ระบุค่า LIMIT
คำค้นหาจะแสดงผล 1000 แถวตามค่าเริ่มต้น
นอกจากนี้คุณยังสามารถใช้พารามิเตอร์เสริม { OFFSET # }
เพื่อข้ามแถวบางส่วนก่อนเริ่มแสดงผลข้อมูลแถว วลีผลลัพธ์จะถูกจัดรูปแบบคล้ายกับ: LIMIT 15 { OFFSET 5 }
ตัวอย่างนี้ใช้ LIMIT
และ ORDER BY
เพื่อสร้างรายการสินค้าขายดี 10 อันดับแรกในช่วง 3 เดือนที่ผ่านมา
VISUALIZE และ TYPE
คำสำคัญ VISUALIZE
ช่วยให้คุณสามารถเขียนคำค้นหาของ ShopifyQL ที่แสดงข้อมูลในการแสดงภาพแบบกราฟิก การแสดงภาพที่รองรับประกอบด้วยค่าต่อไปนี้:
-
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
คำสำคัญ TYPE
เป็นตัวเลือกเสริม และต้องระบุพร้อมกับการแสดงภาพประเภทเดียว หากไม่มี TYPE
ในคำค้นหา ShopifyQL จะตัดสินใจเลือกการแสดงภาพที่ดีที่สุดให้เหมาะสมกับคำค้นหาของคุณโดยอัตโนมัติ หากคำค้นหาของคุณไม่สามารถแสดงภาพเป็นข้อความได้ ShopifyQL จะแสดงข้อมูลตาราง
VISUALIZE
ยังยอมรับคำสำคัญ LIMIT
ที่เป็นตัวเลือกเสริมซึ่งพารามิเตอร์คือจํานวนที่จํากัดของจุดข้อมูลที่จะ แสดงผล
ตัวอย่างเช่น คุณสามารถดูแนวโน้มยอดขายของคุณตามเดือนในช่วงปีที่ผ่านมาด้วยเส้นแนวโน้ม คำค้นหานี้แสดงผลแผนภูมิเวลาที่แสดงยอดขายรวมตามเดือนในปีที่ผ่านมา ยอดขายรวมจะถูกแสดงเป็นเส้นเดียว โดยมีแกน x เป็นเดือน และแกน y เป็นยอดขายรวม
AS
คำสำคัญ AS
เป็นคำสำคัญเสริมที่ช่วยให้คุณสามารถเปลี่ยนชื่อ (หรือระบุนามแฝง) คอลัมน์หรือค่าส่งคืนของ ฟังก์ชันการรวมได้
AS
ยอมรับเฉพาะพารามิเตอร์เดียว หากนามแฝงมีช่องว่างในชื่อ คุณต้องล้อมรอบน ามแฝงด้วยอัญประกาศคู่ (")
ฟังก์ชันและตัวดำเนินการอื่นๆ ของ ShopifyQL
ShopifyQL ประกอบด้วยตัวดำเนินการและฟังก์ชันเพิ่มเติมดังต่อไปนี้
-
ตัวดำเนินการทางคณิตศาสตร์ เช่น
+
หรือ/
-
ฟังก์ชัน เช่น
round()
และtrim()
- การรวมโดยนัย
-
การจับคู่สตริงและอาร์เรย์บางส่วน เช่น
STARTS WITH
และCONTAINS
- ความคิดเห็น
ตัวดำเนินการทางคณิตศาสตร์
ShopifyQL อนุญาตให้ดำเนินการทางคณิตศาสตร์กับตัวชี้วัดของคุณได้ โดยตัวดำเนินการทางคณิตศาตร์ที่ใช้งานได้มีดังต่อไปนี้
ตัวดำเนินการทางคณิตศาสตร์ | คำอธิบาย |
---|---|
+ | การบวกจำนวนสองจำนวน |
- | การลบจำนวนสองจำนวน |
* | การคูณจำนวนสองจำนวน |
/ | การหารจำนวนสองจำนวน |
ตัวอย่างเช่น คำค้นหานี้จะคํานวณมูลค่าคำสั่งซื้อของแต่ละภูมิภาคในปีที่ผ่านมา เมื่อใช้ตัวดำเนินการทางคณิตศาสตร์กับตัวชี้วัด คุณสามารถใช้คำ สำคัญ AS
เพื่อกําหนดชื่อใหม่ให้กับตัวชี้วัดใหม่ได้
ฟังก์ชัน
ฟังก์ชัน ShopifyQL ช่วยให้คุณสามารถรวมคอลัมน์หรือรวมคอลัมน์เหล่านั้นเพื่อสร้างค่าใหม่ได้ ซึ่งคล้ายคลึงกับ Pivot Table ใน Microsoft Excel ตัวดำเนินการฟังก์ชันต่อไปนี้มีให้ใช้งานใน ShopifyQL เวอร์ชันปัจจุบัน
ตัวดำเนินการฟังก์ชัน | คำอธิบาย |
---|---|
TRIM(column_name) | ลบช่องว่างนำหน้าและช่องว่างต่อท้ายออกจากสตริง |
ROUND(column_name, decimal_places) | Rounds a numerical value to the nearest integer or specified decimal places. In this function, decimal_places is an integer value:
|
For example, this query uses the rounding function on the gross_sales
column, but omits the decimal_places
argument to round the value to the integer:
Implicit joins
A join allows you to view metrics from different domains together, side by side. Joins are done implicitly and intelligently in ShopifyQL.
ShopifyQL has the following join capabilities:
- ShopifyQL allows dimension field joins when there is a single
FROM
table in the query. - Automatic left join on dimension fields.
- ShopifyQL allows multi-fact joins (when there are multiple
FROM
tables in the queries). - Automatic full join on multi-fact joins, which support any number of tables or schemas and grouped by dimensions.
- Metrics in multi-fact joins can use functions and math.
Shopify QL has the following join restrictions:
- Join field must have the same name in all joined schemas.
- Join field must be in
GROUP BY
. - Join field can't use functions or math.
-
FROM
is necessary for multi-fact joins to work. - In a multi-fact join, every
GROUP BY
must be in all schemas and is considered a field on which to be joined.
For example, this query uses a multi-fact join:
Partial string and array matching
You can use the following operators for partial string and array matching:
Operator | Description |
---|---|
STARTS WITH | Return all rows where a column starts with a prefix. |
ENDS WITH | Return all rows where a column ends with a suffix. |
CONTAINS | Return all rows where a column contains a part of a string, or an element in an array. |
Some examples of partial string matching using operators include the following queries:
The CONTAINS
operator can be used to match elements within arrays, including integers, strings, and decimals. This matching isn't case-sensitive. Some examples of array matching using CONTAINS
include the following queries:
Comments
You can use comments to explain sections of ShopifyQL statements, or to prevent the execution of a ShopifyQL statement. Any text within a comment will be ignored during execution time.
Single line comments start with --
and end at the end of the line.
Multi-line comments start with /*
and end with */
.