จากประสบการณ์ทำงาน และการศึกษาเพิ่มเติมเกี่ยวกับการสร้าง Business Intelligence Tool จึงอยากแชร์หลักการเบื้องต้นเกี่ยวกับขั้นตอนการสร้าง BI Tool ซึ่งเป็นประโยชน์อย่างยิ่งต่อ User ที่ทำ Data Analysis ทำให้สามารถวิเคราะห์ในมุมมองต่างๆได้ด้วยตัวเอง

OLAP ย่อมากจาก Online Analytical Processing เป็นเทคโนโลยีที่ใช้ข้อมูลจากคลังข้อมูลเพื่อนำไปใช้ในการวิเคราะห์และตัดสินใจทางธุรกิจทางธุรกิจอย่างมีประสิทธิภาพ สามารถค้นหาคำตอบที่ต้องการ และสามารถแก้ปัญหาที่มีความซับซ้อนโดยใช้ระยะเวลาสั้น ๆ OLAP จะจัดการกับข้อมูลโดยคำนวณหายอดรวมที่มีการใช้บ่อยๆไว้ล่วงหน้า (aggregation) ดังนั้นเมื่อต้องการวิเคราะห์ หรือหาผลรวมก็จะเรียกดึงได้ง่ายและรวดเร็ว เพื่อให้เข้าใจว่า OLAP มันอยู่ส่วนไหนของระบบและเราจะทำได้ยังไง ขอพูดถึงภาพรวมที่เป็นระบบคลังข้อมูล (Data Warehouse) คร่าวๆก่อนนะครับ

ระบบคลังข้อมูล (Data Warehouse)
DW
                   ระบบคลังข้อมูล (Data Warehouse) คือ ระบบการจัดเก็บ รวบรวมข้อมูล ที่มีอยู่ในระบบปฏิบัติการต่างๆ หรือจากหน่วยงานขององค์กร โดยข้อมูลเหล่านั้นมักเป็นข้อมูลกระจัดกระจาย ให้มารวมไว้เป็นศูนย์กลางข้อมูลขององค์กร และสามารถเก็บข้อมูลย้อนหลังได้หลายๆ ปี ซึ่งข้อมูลเหล่านี้โดยมากจะเป็นข้อมูลสรุป (Summary Data) ที่ได้มาจากข้อมูล Operational Database หรือมีการประมวลผลข้อมูลใน Operational Database หรืออาจนำมาจากหน่วยงานภายนอกองค์กรก็ได้ เพื่อใช้เป็นข้อมูลช่วยสนับสนุนการตัดสินใจ (Decision Support System) หรือนำข้อมูลมาวิเคราะห์ในหลายมิติ (Multidimensional Analysis)เพื่อตอบปัโจทย์ทางธุรกิจและช่วยให้เกิดความได้เปรียบทางทางการแข่งขัน

 Data Warehousing Concepts

 1.) Consolidated – รวบรวมข้อมูลที่เกิดขึ้นในระดับปฏิบัติการหรือหน่วยงานต่างๆมาไว้ศูนย์กลาง
 2.) Consistent – ข้อมูลจากแหล่งต่าง ๆที่รวบรวมมาไว้ในคลังข้อมูล จะต้องมีคุณสมบัติที่เหมือน ๆ กัน ที่รูปแบบเดียวกันและสอดคล้องกัน
 3.) Subject – Oriented Data – เก็บข้อมูลในระดับปฏิบัติการเฉพาะส่วนที่นำมาใช้ในเชิงวิเคราะห์หรือเชิงตัดสินใจ มากกว่าการเก็บข้อมูลเพื่อตอบคำถามแบบรายละเอียดปลีกย่อยเช่น การแสดงข้อมูลยอดรวมการขายสินค้าแต่ละชนิดของลูกค้า และจะไม่แสดงรายการขายทุกรายการที่ลูกค้าสั่ง
 4.) Historical Data – เก็บย้อนหลังเป็นเวลาหลาย ๆ ปี ทั้งนี้เพื่อจะได้นำไปวิเคราะห์เปรียบเทียบหาแนวโน้มของข้อมูล และเปรียบเทียบข้อมูลของปีนี้กับปีที่ผ่านมา
 5.) Read – Only Data ข้อมูลใน Databaseไม่ควรมีการแก้ไขอีกหลังจากที่นำข้อมูลเข้าสู่ Database of Data Warehouse เรียบร้อยแล้ว และไม่มีการแก้ไขรายการใด ๆภายใน Data Warehouse

OLTP vs OLAP แตกต่างกันอย่างไร?
            OLTP (Online Transaction Processing)ป็นการประมวลผลข้อมูลที่เกิดขึ้นในแต่ละวัน มีการเปลี่ยนแปลข้อมูล เพิ่ม ลบ แก้ไข เป็นข้อมูลที่เกิดขึ้นในธุรกิจในแต่ละวัน ลักษณะการเก็บข้อมูลจะใช้วิธีการ Normalized เช่น ข้อมูลการสั่งซื้อสินค้า (Order) เป็นต้น
            OLAP (Online Analytical Processing) เป็นการวิเคราะห์ข้อมูลจากคลังข้อมูลเพื่อนำไปใช้ในการวิเคราะห์และสนับสนุนการตัดสินทางธุรกิจอย่างมีประสิทธิภาพ สามารถค้นหาคำตอบที่ต้องการ และสามารถแก้ปัญหาที่มีความซับซ้อนโดยใช้เวลาสั้นๆ ดังนั้นข้อมูลจะไม่มีการแก้ไขนำมาประมวลผลเป็น Summary Report ต่างๆ ลักษณะการวิเคราะห์ข้อมูลเป็นแบบ Dimension

2015-06-13 6-32-27 PM

ที่มา: Jiawei Han and Micheline amber, 2006

การออกแบบ OLAP ทำได้ยังไง ?
ก็มีเทคนิคการวิเคราะห์นิดหน่อยก่อนที่เราจะไป Design Database เพื่อเก็บข้อมูล โดยตีโจทก์ปัญหาและกระบวนการคิด ดังนั้นคำถามเหล่านี้เพื่อนๆ ลองเอาไปถาม user เพื่อให้ทราบถึงมุมมอง(Dimension)ทั้งหมดที่ user ต้องการที่จะวิเคราะห์รวมถึงตัวชี้วัด(Measurement) ต่างๆ เช่น
   -Who? –> กลุ่มลูกค้าคือใคร?  
   -What? –> สินค้าคืออะไร?   
   -Where? –> สินค้าจะไปขายที่ไหน?
   -When? –> ว่าจะขายเมื่อไหร่? 
   -How? –> แล้วต้องทำอย่างไร?

       ดังนั้นโจทก์ต่างๆเหล่านี้แน่นอนครับ ว่าต้องการข้อมูลสนับสนุนที่มีประสิทธิภาพเพื่อสร้างความได้เปรียบในการแข่งขันทางธุรกิจ(Competitive Adventage) เรามาทำความรู้จักโครงสร้างของ OLAP กันก่อนครับ

Key Elements of a OLAP?
– Dimension Table คือ การเลือกเก็บข้อมูลเพื่อใช้ในการวิเคราะห์ในมุมมองต่างๆ เช่นมุมมองด้านเวลา (Time), ด้านสถานที่ (Location), ด้านสินค้า (Products), ด้านลูกค้า (Customer) และอื่นๆตามที่ผู้วิเคราะห์สนใจ
– Fact table คือ การเก็บข้อมูลที่เกิดขึ้นจริงจากข้อมูลที่เป็น OLTP และไม่มีการแก้ไขแล้วอาจจะเป็น Historical data มาเก็บไว้ที่ fact table ที่ได้ออกแบบไว้
– Measurement คือ ข้อมูลที่สามารถวัดค่าได้โดยจะเก็บลงใน fact table เช่น ราคา(price),จำนวนที่สั่งซื้อ(quantity), ต้นทุน(cost) เป็นต้น
– Cube Design คือการออกแบบ Cube เพื่อให้สามารถหมุนวิเคราะห์ข้อมูลในมุมมองต่างๆตาม Dimension ได้อย่างง่ายโดยมีรูปแบบการออกแบบอยู่ 2 รูปแบบคือ
           Star schema เป็นการออกแบบโครงสร้างของ cube แบบดาวซึ่งประกอบด้วย fact table อยู่ตรงกลางและมี dimension table อยู่ล้อมรอบ ดังรูป

Img

           Snow flake schema เป็นการออกแบบ tableโดยมีการทำ Normalization ของ Dimension Table ออกไปอีกเพื่อให้การเก็บข้อมูลบน cube มีขนาดที่เล็กลงอีก ออกแบบได้ดังรูป

snowflak

 

ครั้งถัดไปจะมาแชร์ วิธีการสร้าง cube ด้วย Tool Microsoft Analysis Service 

ที่มาของรูป: https://blogs.technet.microsoft.com

TG Facebook Comments