AS03 : การวิเคราะห์และสรุปข้อมูลด้วย Google Apps Script Web App
AS03 การวิเคราะห์และสรุปข้อมูลด้วย Google Apps Script Web App

คอร์ส : (AS03) การวิเคราะห์และสรุปข้อมูลด้วย Google Apps Script Web App

ระยะเวลาการอบรม : 12-18 ชม. (แล้วแต่พื้นฐานผู้เรียนและโปรเจกต์ภายในคอร์สที่ผู้เรียนเลือก)

ค่าบริการอบรม

  1. คนเดียว : 600บ./ชม./คน (ออนไลน์สอนสด)
  2. กลุ่ม 2 คน : 400บ./ชม./คน (ออนไลน์สอนสด) - หากสนใจ แต่ไม่มีเพื่อนเรียนด้วย แจ้งความต้องการไว้ได้
  3. แบบกลุ่มใหญ่ออนไซต์ : โปรดติดต่อเพื่อขอใบเสนอราคาตามช่องทางด้านล่าง

พื้นฐานผู้เข้าอบรม : ต้องผ่านคอร์ส AS01 มาก่อน หรือถ้ามีพื้นฐาน Apps Script อยู่แล้ว ก็สามารถข้ามมาเรียนคอร์สนี้ได้
( หากผ่านคอร์ส AS02 : การสร้าง Web App ด้วย Google Apps Script มาแล้ว ระยะเวลาในการอบรมคอร์สนี้จะสั้นลง เพราะมีเนื้อหาบางส่วนที่ซ้ำกัน )

ที่มา

คอร์สนี้มีที่มาจาก ประสบการณ์ในการเขียนโปรแกรมสร้างระบบงานให้กับลูกค้า ระบบงานมีการเก็บข้อมูลทุกวัน ซึ่งต้องนำมาวิเคราะห์เพื่อหาสาระสำคัญทุกวัน เช่น สรุปยอดขาย, สรุปการขำระเงินแบบต่างๆ เป็นต้น แรกเริ่มนั้น ผู้เขียนแนะนำให้ลูกค้าวิเคราะห์ข้อมูลเอง ด้วยเครื่องมือต่างๆใน Google Sheets แต่ทว่า ข้อมูลมันบวมขึ้นทุกวัน จน Pivot table ที่ใช้วิเคราะห์ข้อมูล ทำงานได้ช้าจนน่าหงุดหงิด ผู้เขียนจึงเสนอลูกค้า ทำให้หน้าเว็บสำหรับการวิเคราะห์ข้อมูลเพิ่มเติม หลังจากทำออกมาแล้ว ก็เป็นที่พอใจแก่ลูกค้ามาก จึงเป็นที่มาของคอร์สนี้

อีกกรณีหนึ่ง ลูกค้าจ้างให้วิเคราะห์ข้อมูลด้านบัญชีด้วย Google Data Studio แต่ข้อมูลตั้งต้นที่เก็บใน Google Sheetsที่จะนำมาทำ Report ต้องเตรียมมาให้ค่อนข้างพร้อมก่อน จึงจะนำมาทำ Report ได้ เพราะเครื่องมือโมดิฟายข้อมูลของ Google Data Studio ไม่เก่งเหมือนใน Google Sheets แต่ข้อมูลตั้งต้นของลูกค้า ต้องผ่านหลายขั้นตอน ต้องทำ Pivot tableนำผลจาก Pivot table ไปคำนวณต่ออีก 3-4 ขั้นตอน ไม่ง่ายเลยถ้าใช้เครื่องมือวิเคราะหข้อมูลปกติ หากเราวิเคราะห์ข้อมูลโดยการเขียนโปรแกรมจะทำขั้นตอนซ้ำๆต่างๆ และสรุปออกมาเป็นReport ได้อย่างง่าย

แนะนำคอร์ส

โปรแกรมตารางคำนวณ อย่างเช่น Google Sheets, LibreOffice Calc หรือ Excel มีเครื่องมือวิเคราะห์ข้อมูล ให้เราเลือกใช้งานหลากหลาย ตัวหลักๆก็เช่น เครื่องมือเรียงข้อมูล, เครื่องมือกรองข้อมูลแบบต่างๆ และ Pivot table นอกจากนี้ ก็ยังมี เครื่องมือสร้างแผนภูมิแบบต่างๆ เพื่อแปลงจากข้อมูลที่เป็นตาราง ให้ออกมาเป็นภาพ เพื่อให้เราทำความเข้าใจกับข้อมูลได้ง่ายขึ้น

ข้างต้น เป็นเครื่องมือปกติ สำหรับผู้ใช้งานตารางคำนวณทั่วไป แต่ยังมีอีกแนวทางหนึ่งในการวิเคราะห์ข้อมูล ที่มีประสิทธิภาพสูงกว่ามาก ก็คือ "การเขียนโปรแกรม"

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

1. รวดเร็วและอัตโนมัติ

ถ้าเราเขียนคำสั่งไว้ เพียงคลิกเดียว ก็จะได้ผลการวิเคราะห์ข้อมูลอย่างง่ายดาย และจะรวดเร็วมากถ้าเราทำเป็น Web App โดยดึงข้อมูลจาก Google Sheetsมาที่ไว้ที่หน่วยความจำในหน้าเว็บก่อน จากนั้นจึงเขียนวิเคราะห์ข้อมูลโดยใช้ Javascript วิธีนี้จะใช้กำลังของเครื่องคอมพิวเตอร์ของเราในการประมวลผล ซึ่งจะเร็วกว่าการใช้ Apps Script ที่ประมวลผลบน Server เพราะถูกจำกัดประสิทธิภาพไว้

2. การแสดงผลการวิเคราะห์ข้อมูล

เราสามารถเลือกแสดงผลการวิเคราะห์ข้อมูลได้หลากหลาย อาจจะวางเป็นตารางข้อมูลธรรมดาลงใน Google Sheets หรือ ส่งตารางข้อมูลไปไว้ในไฟล์อื่น กรณีที่เราทำเป็น Web App ก็จะยิ่งมีทางเลือกมากขึ้น สามารถสร้างเป็นตาราง HTML ที่มีดีไซน์สวยงาม ตอบสนองต่อการคลิกเพื่อแสดงข้อมูลเพิ่มเติม สามารถสร้างเป็น Dropdown ที่ช่วยกรองเฉพาะข้อมูลที่เราสนใจแบบ Real time คล้ายกับ Dropdown ในGoogle Data Sudio แต่ Web App ทำงานได้เร็วกว่ามาก นอกจากนี้ ก็ยังสามารถสร้างเป็น Chart หรือแผนภูมิแบบต่างๆได้ โดยใช้ร่วมกับเครื่องมือสร้าง Chartอย่าง Google Visualization ที่สำคัญก็คือ ยูสเซอร์สามารถเข้ามาใช้งานได้ง่าย เพราะเป็นหน้าเว็บที่เปิดดูได้ง่าย

3. การทำงานกับข้อมูลปริมาณมาก

Google Sheets มีข้อจำกัดที่เก็บข้อมูลได้ไม่เกิน 5ล้านเซลล์ต่อ1ไฟล์ แต่เท่าที่ทดสอบ 1ล้านเซลล์(แบบไม่มีสูตรเลย) ไฟล์ก็ทำงานช้้าจนเราไม่อยากจะรอแล้ว ฉะนั้นการจะมาใช้เครื่องมือวิเคราะห์ข้อมูลปกติกับข้อมูลปริมาณมาก มันทั้งช้า ถึงช้ามาก หรือไฟล์อาจค้างไปเลยก็ได้ เราสามารถแก้ปัญหานี้ได้โดยการทำเป็น Web App ดึงข้อมูลจาก Google Sheetsมาวิเคราะห์ที่หน้าเว็บ โดยเราสามารถรวมข้อมูลจาก Google Sheets หลายไฟล์ได้ ซึ่งหลังรวมข้อมูลแล้ว อาจมีมากกว่า 5ล้านเซลล์หลายเท่าตัวก็ยังสามารถวิเคราะห์ข้อมูลได้ (เคยลองที่ 30ล้านเซลล์ ก็ยังสามารถทำงานได้อย่างราบลื่น )

4. ได้ผลลัพธ์เป็นข้อมูลนิ่งๆ

เครื่องมือที่เก่งกาจอย่าง Pivot table มีจุดแข็งที่การประมวลผลแบบ Real time ก็คือถ้าข้อมูลตั้งต้นเปลี่ยน Pivot table จะเปลี่ยนตาม แต่จุดแข็งนี้ก็เป็นจุดอ่อนเช่นเดียวกัน เพราะหากข้อมูลตั้งต้นมีปริมาณมาก Pivota table จะทำงานช้ามาก เราสามารถเขียน Apps Script(ทำใน Google Sheets) หรือ Javacript(ทำเป็น Web App) เพื่อวิเคราะห์ข้อมูลให้ออกมาเหมือน Pivot table ได้ ซึ่งผู้เขียนมักจะเขียนโดยไม่ให้ผลลัพธ์ยึดโยงกับข้อมูลตั้งต้น เพื่อไม่ให้มีการทำงานแบบ Realtime เพื่อจะไม่ให้หน่วงตัวโปรแกรม Google Sheets ในกรณีที่ข้อมูลตั้งต้นเปลี่ยนแปลง เราสามารถวิเคราะห์ใหม่ได้ เพียงคลิกเดียว

ในกรณีเก็บข้อมูลเป็นไฟล์ Excel แต่ก่อนผู้เขียนจะแตกไฟล์ Excel เป็น Google Sheets หลายไฟล์ แล้วนำไปวิเคราะห์ข้อมูล แต่ ณ ปัจจุบัน มีทางเลือกอื่นที่ดีกว่า ก็คือ การใช้ NodeJs วิเคราะห์ข้อมูลจากไฟล์ Excel โดยตรง แต่ในคอร์สนี้ ไม่ได้รวมเรื่องของ NodeJs ไว้ อย่างไรก็ดี การวิเคราะห์ข้อมูลด้วย Apps Script, Javscript หรือ NodeJs มีวิธีการเขียนโปรแกรมที่เหมือนๆกัน

สำหรับผู้เข้าอบรมที่ผ่านคอร์ส "(AS01) การเขียนโปรแกรม Apps Script และเซอร์วิส Spreadsheet" มาแล้ว ความรู้สำคัญที่เราจะนำมาต่อยอด ก็คือ เมธอดต่างๆของอาเรย์ แต่ในคอร์สนี้จะเป็นการใช้งานขั้นสูง มีการใช้งานเมธอดที่ซับซ้อนยิ่งขึ้น

ประโยชน์ที่จะได้รับ :

  1. เข้าใจการใช้ Apps Script ในการสร้าง Web App
  2. เข้าใจพื้นฐานการสร้างเว็บด้วย HTML, CSS และ Javascript
  3. เข้าใจเซอร์วิสต่างๆที่เกี่ยวข้องกับการสร้าง Web App
  4. เข้าใจการใช้เมธอดต่างๆของอาเรย์ในการวิเคราะห์ข้อมูลแบบต่างๆ
  5. เข้าใจการสร้างแผนภูมิโดยใช้ Google Visualization

เนื้อหา :

Part I : ภาพรวม

  1. ภาพรวมการวิเคราะห์ข้อมูลด้วย...
    1. Apps Script
    2. Javascript
  2. Part II : ปูพื้นฐานการสร้างเว็บไซต์

  3. การเซ็ตอัพโปรแกรม Visual Studio Code สำหรับการสร้างเว็บไซต์
  4. ภาพรวมการสร้างเว็บไซต์
    1. รู้จักกับ 3 สหาย HTML, CSS และ Javascript
  5. สร้างหน้าเว็บเพื่อเตรียมพร้อมสำหรับการวิเคราะห์ข้อมูล
    1. สร้างแถบเครื่องมือ
    2. วิเคราะห์ข้อมูลตัวอย่างด้วย Javascript
  6. Part III : สร้าง Web App ด้วย Google Apps Script

  7. ภาพรวมการสร้าง Web App ด้วย Google Apps Script
    1. Workflow การสร้างWeb App ด้วย Google Apps Script
  8. สร้าง Web App เพื่อโหลดข้อมูลจาก Google Sheets
    1. การใช้งานฟังก์ชั่น doGet ในการตอบคำขอ HTTP Get Request
    2. การใช้งาน Query String ที่มากับ HTTP Get Request
    3. การใช้เซอร์วิส HTML ในการส่งคืนหน้าเว็บให้กับ HTTP Get Request
    4. การ Deploy โปรเจกต์ Apps Script เป็น Web App
  9. การเขียน Javacript เพื่อเรียกรันฟังก์ชั่นในฝั่ง Server-side
    1. การใช้งาน google.script.run
    2. การใช้งานเมธอด withSuccessHandler
    3. การใช้งานเมธอด withFailureHandler
    4. การใช้งานเมธอด withUserObject
  10. การเขียน Apps Script เพื่อตอบรับคำขอจากฝั่ง Client-side
    1. การเขียน Javacript เพื่อรับค่าจากฝั่ง Server-side มาประมวลผล
    2. การใช้งาน Scriptlets ในการโหลดข้อมูล
  11. การใช้งาน Web App ใน iFrame
    1. การสร้างเว็บสำหรับใช้ Web App แบบ Iframe
  12. Part IV : การวิเคราะห์ข้อมูล

  13. การเรียงลำดับข้อมูล
    1. การเรียงข้อมูลแบบ 1 คีย์
    2. การเรียงข้อมูลแบบหลายคีย์
  14. การกรองข้อมูล - กรองแถว
    1. การกรองตัวซ้ำให้เหลือแต่ตัวที่ไม่ซ้ำ
    2. การกรองข้อมูลแบบ 1 เงื่อนไข
    3. การกรองข้อมูลแบบหลายเงื่อนไข
    4. การกรองข้อมูล โดยใช้อาเรย์เป็นเงื่อนไข
  15. การกรองข้อมูล - กรองคอลัมน์
    1. การกรองคอลัมน์
    2. การกรองคอลัมน์ โดยใช้อาเรย์ระบุคอลัมน์ที่ต้องการกรอง
  16. การ Lookup ข้อมูล
    1. การ Lookup เหมือน VLOOKUP
  17. การหาผลรวม
    1. การหาผลรวมใน 1 คอลัมน์ หรือ หลายคอลัมน์
    2. การหาผลรวมเป็นกลุ่ม (คล้าย SUMIF หรือ SUMIFS )
    3. การเปรียบเทียบข้อมูลเป็นเปอร์เซ็นต์
  18. การแปลงมิติของอาเรย์
    1. การแปลงอาเรย์ 2 มิติเป็น 1 มิติ
    2. การแปลงอาเรย์ 1 มิติเป็น 2 มิติ แบบกำหนดจำนวนคอลัมน์ได้
  19. การสร้าง Pivot table
    1. การสร้าง Pivot table
    2. การกลับตาราง (Transpose)
  20. Part V : การแสดงผลการวิเคราะห์ข้อมูล

  21. การแสดงผลเป็นตาราง HTML
    1. การสร้างและตกแต่งตาราง HTML จากอาเรย์ 2 มิติ
  22. การสร้าง Chart
    1. การสร้าง Chart ด้วย Google Visualization
  23. Part VI : เทคนิค

  24. การสร้าง Pagination
    1. การสร้าง Pagination เพื่อใช้แบ่งหน้าข้อมูล
  25. การสร้าง Dropdown
    1. การสร้าง Dropdown เพื่อใช้กรองข้อมูล
  26. การรวมข้อมูลจาก Google Sheets หลายไฟล์
  27. Part VII : โปรเจกต์

  28. โปรเจกต์สร้าง Web App
    1. โปรเจกต์ : วิเคราะห์ข้อมูลตามโจทย์