บทความ / หัวข้อ GAS

ทำ Dashboard ยอดขายแบบเรียลไทม์จาก Google Sheets ด้วย Chart.js

อัปเดต 5 ตุลาคม 2026

เจ้าของร้านอยากเห็น ยอดขายวันนี้ สินค้าขายดี และแนวโน้มรายสัปดาห์ จากมือถือโดยไม่ต้องเปิดชีตยาว ๆ แดชบอร์ดบนเว็บแอป Apps Script ตอบโจทย์นี้ได้โดยไม่มีค่าใช้จ่าย

ระบบพร้อมใช้ที่เกี่ยวข้อง

สรุปข้อมูลที่ฝั่งเซิร์ฟเวอร์

ส่งเฉพาะ "ผลสรุป" ไปที่หน้าเว็บ ไม่ส่งข้อมูลดิบทั้งหมด หน้าเว็บจะโหลดเร็วมาก

function getDashboard(days) {
  const rows = SpreadsheetApp.getActive().getSheetByName('sales').getDataRange().getValues().slice(1);
  const from = new Date(Date.now() - days * 864e5);
  const byDay = {}, byItem = {};
  rows.forEach(([date, item, qty, total]) => {
    if (new Date(date) < from) return;
    const d = Utilities.formatDate(new Date(date), 'Asia/Bangkok', 'dd/MM');
    byDay[d] = (byDay[d] || 0) + total;
    byItem[item] = (byItem[item] || 0) + qty;
  });
  const top = Object.entries(byItem).sort((a, b) => b[1] - a[1]).slice(0, 5);
  return { byDay, top };
}

วาดกราฟด้วย Chart.js

<canvas id="sales"></canvas>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
google.script.run.withSuccessHandler(d => {
  new Chart(document.getElementById('sales'), {
    type: 'line',
    data: { labels: Object.keys(d.byDay),
            datasets: [{ label: 'ยอดขาย', data: Object.values(d.byDay), tension: .3, fill: true }] },
  });
}).getDashboard(30);
</script>

ไอเดียตัวชี้วัด (KPI) ที่ควรมี

  • ยอดขายวันนี้ / เดือนนี้ เทียบช่วงก่อนหน้า
  • จำนวนบิล และยอดเฉลี่ยต่อบิล
  • สินค้าขายดี 5 อันดับ / สินค้าใกล้หมด
  • ยอดขายแยกช่องทาง (หน้าร้าน, เดลิเวอรี่)

คำถามที่พบบ่อย: Dashboard ยอดขายจาก Google Sheets

อัปเดตทุกครั้งที่เปิดหรือรีเฟรชหน้า ถ้าต้องการอัปเดตเองเป็นระยะ ใช้ setInterval เรียก google.script.run ทุก 1–5 นาที

สรุปยอดรายวันเก็บไว้ในชีตแยกด้วย Trigger ทุกคืน แล้วให้แดชบอร์ดอ่านจากชีตสรุปแทนข้อมูลดิบ

ได้ Looker Studio เชื่อม Google Sheets ได้ฟรี เหมาะกับรายงานเชิงวิเคราะห์ ส่วนแดชบอร์ดบนเว็บแอปเหมาะกับการรวมไว้ในระบบเดียวกับหน้าขาย

ระบบอื่นที่น่าสนใจ

POS ร้านขายยา
แนะนำ
ดูรายละเอียด
POS ร้านค้าปลีก-ส่ง v1.0.0

POS ร้านขายยา

จ่ายยาถูกคน ถูกล็อต ไม่มียาหมดอายุค้างชั้น · ชื่อสามัญ ประเภทยา เภสัชกรยืนยัน เตือนแพ้ยา ล็อต FEFO ฉลากยา บัญชีขายยาอันตราย · บน Google Sheets ของร้านเอง ไม่มีค่ารายเดือน

฿2,490.00
0
POS ร้านอาหาร (โต๊ะ ครัว QR สั่งอาหาร)
แนะนำ
ดูรายละเอียด
POS ร้านอาหาร & เครื่องดื่ม v2.0.0

POS ร้านอาหาร (โต๊ะ ครัว QR สั่งอาหาร)

ผังโต๊ะสด · ลูกค้าสแกน QR สั่งอาหารที่โต๊ะ · จอครัว · แจ้งเตือนเรียกพนักงาน · ค่าบริการ · เมนูหมดอัตโนมัติ + แจ้งวัตถุดิบหมดทาง LINE/อีเมล · ไม่มีค่ารายเดือน

฿2,990.00
0