การรวมข้อมูล (Join Data) ด้วย Blend Data (Looker Studio ep4)

Post นี้ก็เข้าสู่ Ep ที่ 4 เข้าไปแล้ว เป็นอย่างไรบ้างครับตอนนี้เราได้ผ่าน part ที่ยากที่สุดของการสร้าง Dashboard ไปแล้ว เนื้อหาต่อไปนี้จะเป็นส่วนเสริมเพื่อให้การทำงานของเรามีความยืดหยุ่นมากขึ้น

แต่หากเพื่อนๆ ที่เข้ามาเจอ Ep นี้แต่ยังไม่เคยเรียนมาก่อนสามารถกลับไปอ่านได้ตามลิ้งนี้ได้เลยครับ
Ep1: เริ่มต้นสร้าง Data Visualization บน Looker Studio (Google Data Studio) ง่ายๆ
Ep2: การ Import Data และสร้าง Dashboard เบื้องต้นบน Looker Studio (Looker Studio ep2)
Ep3: การสร้าง Dashboard และ Chart บน Looker Studio (Looker Studio ep3)

ใน Ep นี้เราจะมาเรียนวิธีการ Blend data บน Looker studio ไปด้วยกันครับ

Photo by Yaroslav Shuraev on Pexels.com

Content List

  1. การ Join data คืออะไร
  2. ความรู้พื้นฐานในการ Join data
  3. ขั้นตอนการ Join data ด้วย Blend data
  4. ข้อควรระวังในการ Blend data

1. การ Join data คืออะไร

ในการสร้าง Dashboard ส่วนใหญ่เรามักจะมี Data source มากกว่า 1 แหล่ง หรือก็คือมี มากกว่า 1 Table ซึ่งข้อจำกัดของ Chart ใน Looker คือ 1 chart สามารถใช้ข้อมูลได้เพียง 1 Table เท่านั้น

1 Chart for 1 Data source” Limitation

แต่บางครั้ง data ระหว่างแต่ละ Table ที่เรามีจะมีกว่าสัมพันธ์กันอยู่ เช่นในกรณี data ของ supermarket Tableที่ 1 เก็บข้อมูล ยอดขายตามรหัสลูกค้า (customer id) ส่วน Tableที่ 2 เก็บข้อมูล ชื่อลูกค้า (Customer name)

หากเราต้องการให้ Dashboard นำข้อมูลของ Table 1 และ Table 2 มาแสดงผลใน Chart หรือ Table เดียวกัน สิ่งที่เราต้องทำคือ Join table หรือใน Looker Studio เรียกว่าการ Blend data

โดยสรุปก็คือการ Join data คือ “การสร้าง Table ใหม่ด้วย Table มากกว่า 1 Table”

ตัวอย่างข้อมูลที่ได้จากการ Join data แบบ Left join

2. ความรู้พื้นฐานในการ Join data

การ Join data ระหว่าง 2 table จะเชื่อมข้อมูลเข้าด้วยกันโดยอาศัย Key หรือ data ที่ตรงกัน เช่น Employee ID, Customer ID, Order number, Transaction number, etc.

2.1 Primary key และ Foreign key

Key จะแบ่งออกเป็น 2 ประเภท คือ Primary key ที่ และ Foreign key โดย

  • Primary key: คือ ตัว Identifier (ตัวระบุหรือตัวอ้างอิง) ข้อมูลแต่ละ record หรือ แต่ละ row ในตารางซึ่ง Key ประเภทนี้จะมีไม่ซ้ำกัน (Unique)
  • Foreign key: คือ Primary key ที่ไปปรากฎใน Table อื่นเพื่อใช้ในการอ้างอิงข้อมูล ซึ่งสามารถมีซ้ำกันได้

2.2 ประเภทการ Join (Join type)

การ Join data โดยพื้นฐานจะแบ่งเป็น 4 ประเภทคือ
1. Left join
2. Right join
3. Inner join
4. Full join

90 – 95% ของงาน Join data จะใช้ Left join และ Inner join

อ้างอิงรูปภาพจาก: https://learnsql.com/blog/learn-and-practice-sql-joins/

บางคนอ่านมาถึงตรงนี้อาจจะรู้สึกคุ้น เอ๊ย Left join นี่มัน VLOOKUP ใน Excel, Google sheet ชัดๆ!! … ใช่เลยครับ ถ้าเราเคยใช้ VLOOKUP มาก่อนเราจะเข้าใจ Left join ได้เลย

ตอนนี้เราได้รู้เรื่องการ Join data เบื้องต้นแล้ว เดี๋ยวเรามาลอง Blend data ด้วยกันเลยครับบบ

3. ขั้นตอนการ Join data ด้วย Blend data

โพสนี้เราจะใช้ Dataset จาก Google sheet ลิ้งนี้ ครับ
https://docs.google.com/spreadsheets/d/1dfbIaVxmggtzwOqM8iP-6KseeyurId7IgOpyOSKg9oQ/edit?usp=sharing

(ในปัจจุบันเราสามารถให้ GenAI เข้ามาช่วยเราสร้าง Mockup dataset ได้ด้วยนะครับ อย่าง dataset ที่ผมใช้นี้ก็สร้างมาจาก Gemini ซึ่งจริงๆ แล้วเราจะลองใช้ GenAI ตัวไหนก็ได้ครับ)

Dataset ของเราจะแบ่งเป็น 2 sheet ซึ่งก็คือ 2 Table ดังนี้
– Table 1: namelist (รายชื่อพนักงาน และตำแหน่งงาน)
– Table 2: salary (ข้อมูลเงินเดือนของแต่ละตำแหน่งงาน)

Table1: Namelist
Table 2: Salary

3.1 Copy Google sheet

ก่อนที่เราจะ Connect data ไปที่ Looker ได้เราต้องมี Google sheet ที่เป็นของเราก่อน ให้ไปที่ File > Make a copy เราจะได้ Google Sheet ตัวใหม่ที่เป็นขเ้อง

3.2 Connect data to Looker Studio

ให้มาที่ Looker Studio แล้วเลือก Add data > Google sheets เพื่อ connect data ทั้ง 2 Table (เพื่อนๆสามารถศึกษาเพิ่มเติมเรื่องการ connect / import data ได้ที่ Ep2การ Import Data ได้เลยครับ )

เมื่อ Connect data เรียบร้อยแล้วให้ลากทั้ง 2 table มาแสดงเป็นตารางในหน้า report ดูได้เลยครับ โดย Ep นี้โจทย์ของเราคือเรา “ต้องการทราบ salary ของพนักงานแต่ละคน” โดยเรามี Position เป็น Key ในการ เชื่อมข้อมูลทั้ง 2 Table เข้าด้วยกัน

3.3 Blend data (Join data)

  1. ให้มาที่ Resource > เลือก Manage blends

2. ให้เลือก Add blend จะมี pop up Blend Data ขึ้นมา เพื่อกำหนดรูปแบบการ Join

3. ให้ตั้งค่าใน Table 1 ดังนี้
Data: namelist
Dimensions: Employee Name, Position
Metrics: ให้เว้นว่างไว้เนื่องจากข้อมูลใน Table 1 เรามีเฉพาะ Dimension

การตั้งค่าแบบนี้ให้ผลเท่ากับการหยิบ Table 1 namelist โดยเอาแค่ column Employee Name และ Position เหมือนกับรูป Table 1 ในข้อ 3.2 เลยครับ

4. ทีนี้เราจะมาเพิ่ม Table ที่ 2 ที่ต้องการนำมา Join กัน ให้ click ที่ Join another table และเลือก Data source เป็น sarary เราจะได้แถบการตั้งค่า Table 2 ออกมา

5. ให้ตั้งค่าใน Table 2 ดังนี้
Dimensions: Position
Metrics: Salary

6. ตั้งค่าการ Join โดย click ที่ “Configure join” จะมีหน้าJoin configuration pop up ขึ้นมา

7.ตั้งค่า Join configuration ดังนี้

Join operator: ให้เลือกชนิดการ Join เป็น Left outer (มันก็คือ Left join นี่แหละครับ)
Join condition: ถ้าเราตั้งชื่อ column ของทั้ง 2 table ไว้เหมือนกัน Looker จะเดา key มาให้เราเลย แต่ถ้าใครยังว่าอยู่ให้เลือก Field ทั้ง 2 ฝั่งเป็น Position

จากนั้นกด Save

8. ตั้งชื่อ Table ที่ Join แล้วกด Save ก็จะเป็นอันเสร็จสิ้นการ Join เมื่อเรา Close หน้านี้จะเห็นว่า Join table เราจะมาขึ้นอยู่ที่แถบ Data แสดงว่าพร้อมใช้งานแล้ว

3.4 Data Visualizations

เมื่อเราได้ Data ที่ join แล้ว ก็สามารถนำไปทำ visualization ขึ้นบน Dashboard ของเราได้เลย

4. ข้อควรระวังในการ Blend data

แม้ว่า Looker studio จะอำนวยความสะดวกในการ Join data ได้ก็จริง แต่หากเรามีการ Join data เยอะๆ บน Looker ก็จะทำให้การแสดงผลช้าลง โดยเฉพาะอย่างยิ่งกับการ Join data ต่อกันเป็นทอดๆ (เช่น Join table1 นะไป Join เพื่อสร้าง Join table2) ถ้าเกิด data source เรามีปัญหาจะทำให้ Join table ทุกตัวพังเป็นโดมิโนได้เลยครับ

  • Solution เพื่อป้องกันปัญหาเหล่านี้ก็คือให้เรา Join data ให้เสร็จก่อนที่จะส่งขึ้น Looker

ดังนั้นสิ่งที่อยากจะแนะนำก็คือ ก่อนจะ Blend data บน Looker ให้พิจารณาจาก ขนาดข้อมูล และ จำนวน Table ที่นะมา Join อย่างเช่น ถ้าเราใช้ Blend data เพื่อจะนำข้อมูลจาก Table ที่ Aggregate แล้วไปใช้ต่อก็จะส่งผลกระทบต่อ Looker เล็กน้อย (เช่น Aggregate countจำนวนพนักงาน แต่ละ position)

หนึ่งใน skill สำคัญของคนที่ทำงานเกี่ยวกับ Data นั้นก็คือการ เลือกใช้ Tool ให้เหมาะสมกับงาน เพื่อให้ได้ประสิทธิภาพสูงสุด และไม่เสียเงินโดยไม่จำเป็น

Looker Studio แม้จะ Join data ได้แต่ไม่ได้หมายความว่าเราควร Join data บนนั้น

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

จบ Ep นี้พวกเราก็ได้เก่งขึ้นไปอีกขั้นหนึ่งแล้ว สุดยอดดดครับ ใน Ep ต่อไปจะเป็นเรื่องอะไรรอติดตามกันได้เลยคร้าบ