การสอบถามข้อมูลในโหมด SQL
ในแผง "การสอบถามข้อมูล" (Data query panel) คุณสามารถสลับไปที่โหมด SQL เพื่อเขียนและรันคำสั่งสอบถามได้เลยครับ/ค่ะ จากนั้นก็นำผลลัพธ์ที่ได้ไปใช้ในการแมปและแสดงผลบนแผนภูมิได้ทันที

เขียนคำสั่ง SQL
- ในแผง "การสอบถามข้อมูล" (Data query panel) ให้เลือกโหมด "SQL" ครับ/ค่ะ
- ป้อนคำสั่ง SQL แล้วคลิก "รันการสอบถาม" (Run query) เพื่อดำเนินการ
- รองรับคำสั่ง SQL ที่ซับซ้อน เช่น การ JOIN หลายตาราง (multi-table JOIN) และ VIEW ได้อย่างสมบูรณ์ครับ/ค่ะ
ตัวอย่าง: ยอดรวมคำสั่งซื้อรายเดือน
SELECT
TO_CHAR(order_date, 'YYYY-MM') as mon,
SUM(total_amount) AS total
FROM "order"
GROUP BY mon
ORDER BY mon ASC
LIMIT 100;
ดูผลลัพธ์
- คลิก "ดูข้อมูล" (View data) เพื่อเปิดแผงพรีวิวผลลัพธ์ข้อมูลครับ/ค่ะ

ข้อมูลที่แสดงผลรองรับการแบ่งหน้า (pagination) นอกจากนี้ คุณยังสามารถสลับไปมาระหว่างมุมมอง Table และ JSON เพื่อตรวจสอบชื่อคอลัมน์และประเภทข้อมูลได้อีกด้วยครับ/ค่ะ

การแมปฟิลด์
- ในการตั้งค่า "ตัวเลือกแผนภูมิ" (Chart options) ให้ทำการแมปฟิลด์โดยอิงจากคอลัมน์ผลลัพธ์ของการสอบถามข้อมูลครับ/ค่ะ
- โดยค่าเริ่มต้น ระบบจะใช้คอลัมน์แรกเป็นมิติ (dimension) (แกน X หรือหมวดหมู่) และคอลัมน์ที่สองเป็นตัววัด (measure) (แกน Y หรือค่า) ดังนั้น โปรดระมัดระวังลำดับของฟิลด์ในคำสั่ง SQL ด้วยนะครับ/คะ:
SELECT
TO_CHAR(order_date, 'YYYY-MM') as mon, -- ฟิลด์มิติ ให้อยู่ในคอลัมน์แรก
SUM(total_amount) AS total -- ฟิลด์ตัววัด ให้อยู่ถัดไป

การใช้ตัวแปรบริบท
คลิกปุ่ม 'x' ที่มุมขวาบนของ SQL editor เพื่อเลือกใช้ตัวแปรบริบท (context variables) ได้เลยครับ/ค่ะ

หลังจากยืนยันการเลือกแล้ว นิพจน์ของตัวแปรจะถูกแทรกที่ตำแหน่งเคอร์เซอร์ (หรือตำแหน่งข้อความที่เลือกไว้) ในข้อความ SQL ครับ/ค่ะ
ตัวอย่างเช่น {{ ctx.user.createdAt }} โปรดระวังอย่าเพิ่มเครื่องหมายคำพูด (quotes) เข้าไปเองนะครับ/คะ

ตัวอย่างเพิ่มเติม
สำหรับตัวอย่างการใช้งานเพิ่มเติม สามารถดูได้จาก NocoBase แอปพลิเคชัน Demo ครับ/ค่ะ
คำแนะนำ:
- ควรทำให้ชื่อคอลัมน์มีความเสถียรก่อนที่จะทำการแมปกับแผนภูมิ เพื่อหลีกเลี่ยงข้อผิดพลาดในภายหลังครับ/ค่ะ
- ในระหว่างการดีบัก (debugging) ให้ตั้งค่า
LIMIT เพื่อลดจำนวนแถวที่ส่งคืน ซึ่งจะช่วยให้การพรีวิวรวดเร็วขึ้นครับ/ค่ะ
พรีวิว, บันทึก และย้อนกลับ
- คลิก "รันการสอบถาม" (Run query) เพื่อเรียกข้อมูลและรีเฟรชการพรีวิวแผนภูมิครับ/ค่ะ
- คลิก "บันทึก" (Save) เพื่อบันทึกข้อความ SQL และการตั้งค่าที่เกี่ยวข้องลงในฐานข้อมูลครับ/ค่ะ
- คลิก "ยกเลิก" (Cancel) เพื่อกลับไปยังสถานะที่บันทึกไว้ล่าสุด และละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้บันทึกในปัจจุบันครับ/ค่ะ