[Tableau] how to create 2-Stage Sankey Chart with Template

Pintip Supachutikul
4 min readMay 30, 2021

--

ใครเคยลองสร้าง Sankey Chart ใน Tableau ด้วยตัวเองแล้วไม่สำเร็จบ้าง..
ถ้าใช่ เราคือเพื่อนกันค่ะ 😅

เคยพยายามทำหลายรอบ แต่ก็ไม่สำเร็จ จนรู้สึกขยาดทุกครั้ง เมื่อพูดถึง Sankey ใน Tableau

จนมาเจอบล็อคและคลิปอันนี้ ชีวิตเรากับ Sankey ก็เปลี่ยนไปในทันที 55555 (ดูเว่อร์มาก แต่เรื่องจริง)

ในบทความนี้ เราจะมาดูกันค่ะว่า เราจะใช้ Template ในการสร้าง Sankey ได้อย่างไร แล้ว Data ที่ใช้ต้องมีหน้าตาเป็นอย่างไร

ก่อนอื่น เรามาทำความรู้จัก Sankey Chart กันก่อนดีกว่า

Sankey Chart คืออะไร

Sankey Chart เป็น Flow Diagram รูปแบบนึง ที่แสดงให้เราเห็นถึงปริมาณและความสัมพันธ์ของจาก Step หนึ่ง ไปยัง Step ถัดๆไปที่เราสนใจ

หน้าตาของ Sankey Chart เป็นแบบนี้เลยค่ะ

Reference: https://getcake.com/insights-data-scientist-predicting-customer-journey-boost-roas/

แล้ว…เราจะเอา Sankey ไปใช้ตอนไหนดีล่ะ?

ตัวอย่างที่เราจะเห็นกันบ่อยๆเลยก็คือ…

Customer Journey:ลูกค้าเข้ามาผ่านช่องทางไหน ลูกค้าทำอะไรต่อ แล้วสิ้นสุดที่ step ไหน เมื่อเรา Visualize ด้วย Sankey จะทำให้เราเห็นภาพมากขึ้นว่า ลูกค้าส่วนใหญ่ของเราเข้ามาทางช่องทาง A มีจำนวนเท่าไหร่ แล้วทั้งหมดที่ผ่านช่องทาง A นี้จะไหลไปทางไหนอย่างละเท่าไหร่ต่อไป

ในบทความนี้ เราจะมาดูวิธีการสร้าง Sankey ที่มีแค่ 2 Stage กันก่อนนะคะ ถ้าเข้าใจแล้ว การเพิ่ม Stage ถัดๆไป ก็ไม่ใช่เรื่องยากเลยค่ะ

2-Stage Sankey Chart Template

ตอนนี้ทุกคนโหลดตัว Template กันมาแล้วรึยังน๊าา

ถ้ายัง..เราไปโหลดกันเลยค่ะ

Download Here: https://vizdiff.blogspot.com/2018/12/creating-sankey-chart-as-easy-as-1-2-3.html

ก่อนที่เราจะไปลงมือทำกันจริงๆ เรามาเข้าใจเจ้าตัว Template กันก่อนดีกว่า

เปิดตัว Template ที่เรา Download ลงมา ก็จะเจอหน้าตาแบบนี้

Sankey Chart Template

หลายคนอาจจะงงๆ ว่าทำไมมีแค่ Dashboard แล้ว... sheet อยู่ไหนอะ?

เราสามารถ Hide หรือ Unhide sheet ที่อยู่บน Dashboard ของเราได้ด้วยนะ

Unhide All Sheets

เมื่อ Unhide sheets ก็จะพบว่า Sankey Chart Template อันนี้ประกอบไปด้วย 5 sheets [Label 1, Bar 1, Curve, Bar 2, และ Label 2] มาวางต่อกัน

Sankey Chart Template Worksheets

มาดูในส่วนของ Data ที่ใช้กันบ้างดีกว่า
Sankey จะประกอบไปด้วย Data 3 ส่วนด้วยกันคือ 1. Source, 2. Target และ 3. Size

Sankey Template Fields

Understand Sankey Structures

ก่อนอื่นเลย เรามาทำความเข้าใจกับหน้าตา Sankey กันก่อน ว่าประกอบไปด้วยอะไรบ้าง

Sankey Chart Structures

Sankey จะประกอบไปด้วย 3 ส่วนด้วยกัน

  1. Source: จุดเริ่มต้น
  2. Target: ปลายทาง
  3. Size: ขนาด/ความหนาของเส้น

ทีนี้พอเรารู้แล้วว่า Sankey ประกอบด้วย 3 ส่วนหลักๆ เราไปดูกันว่า เราต้องมีข้อมูลหน้าตายังไง ถึงจะสร้างกราฟนี้ได้

เราจะขอยกตัวอย่างจากข้อมูล Orders จาก Sample Superstore ที่เป็น Sample dataset ของ Tableau เลยละกันน๊าา ทุกคนจะได้ทำตามได้เลย

Data for Sankey Chart

Sankey ประกอบไปด้วย 3 ส่วนหลักๆ เพราะฉะนั้น ข้อมูลก็จะประกอบไปด้วย 3 ส่วนนั้นเหมือนกัน

เราจะกำหนดให้ Source เป็น Category และ Target เป็น Ship Mode เพื่อดูว่า สินค้าแต่ละประเภท จะถูกจัดส่งด้วยวิธีไหนบ้าง และให้ Size = Quantity เพื่อดูปริมาณหรือจำนวนจากความหนาของเส้นนั่นเอง

How to in Tableau

วิธีทำ Sankey Chart in Tableau ด้วย Template ก็ง่ายมากๆเลยค่ะ มีเพียงแค่ 3 ขั้นตอนหลักๆเท่านั้นเอง

Step 0: Import Data

ขอเริ่มจาก Step 0 ก่อนเลยน๊า เพิ่ม Data ของเราเองเข้าไปในไฟล์ Template

Step 0: New Data Source

โดยเราจะสร้าง Data Source ขึ้นมาใหม่ เพื่อ import data — Sample Superstore เข้ามาค่ะ

Step 1: Union

ขั้นตอนนี้จะเข้าสู่การสร้าง Sankey จริงๆแล้วนะ 5555

Step 1: Union Data

เลือก sheet ที่เป็นข้อมูลที่เราจะใช้มาวาง จากนั้นเอาข้อมูลตัวเดิมมา Union ข้อมูลเดิมค่ะ

จริงๆขึ้นตอน union อันนี้เราก็ยังไม่ค่อยเข้าใจนะ ว่าทำไมต้องทำ แต่ลองไม่ทำ แล้วมันสร้าง Sankey ไม่ได้ ถ้าใครรู้บอกเราด้วยน๊าา

updated: ตรง union นี้ เป็นส่วนที่เอาไว้ทำ Path (bin) เอาไว้ใช้ตอนทำ Curve ค่ะ

Step 2: Rename

ขั้นตอนนี้เราจะเปลี่ยนชื่อ Data Field ของเราให้เหมือนกับตัว Template ค่ะ

Step 2: Rename Fields

สิ่งที่เราเปลี่ยนก็คือ…

Category → Source
Ship Mode → Target
Quantity → Size

Step 3: Replace Data Source

เป็นการเปลี่ยน Data Source ของตัว Template ให้เป็น Data Source ของเราเอง

Step 3: Replace Data Source

โดยการคลิปขวาที่ Datasouce ที่เขียนวา Sankey Template แล้วเลือก Replace Data Source ค่ะ

เราจะ Replace Sankey Template ด้วย Sample — Superstore ของเรานั่นเอง

Mismatch fields

ถ้าเกิดว่า Replace Data Source แล้วเจอเครื่องหมาย ! แบบนี้ ไม่ต้องตกใจนะ ให้เช็คก่อนว่า 3 Field หลักๆของเรา (Source, Target, Size) ถูก Replace เรียบร้อยแล้วหรือยัง

ถ้ายัง เราสามารถ Replace Reference ที่แต่ละ Field ได้เลย

Replace References

คลิกขวาที่ Field ที่มีเครื่องหมาย ! แล้วเลือก Replace Reference จากนั้นเลือกชื่อ Field ที่เราต้องการจะให้มัน Replace ได้เลย

ถ้า 3 Field นี้เรียบร้อยแล้ว เครื่องหมาย ! ก็น่าจะหายไปหมดแล้วนะ เพราะว่า Calculation Field ที่สร้างขึ้นใหม่ ถูกเขียนมาจาก 3 Field นี้นี่แหละ

ทีนี้ลองไปดูที่หน้า Sankey Chart Template ที่เป็นตัว Dashboard ที่เค้ารวมไว้ให้เราแล้วได้เลย

Sankey Chart with Template

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

หรือจะเอาตัว Sankey Chart ไปวางไว้บน Dashboard ของเราเองก็ได้นะ เอาแต่ละ worksheet ไปจัดเรียงได้เลยค่า

เป็นยังไงกันบ้างคะ ?

รอบแรกอาจจะยังดูงงๆน๊าา แต่เราเชื่อว่าถ้าทุกคนได้ลองทำ ทุกคนจะทำได้แน่นอน

ตัวอย่างที่เราเคย Dashboard ที่มี Sankey Chart

Example of Sankey Chart in Dashboard

อ้าววว นี่มัน 3-Stage Sankey Chart นี่นา… 😅

อย่าลืมติดตามบทความถัดไปนะคะ 3-Stage Sankey Chart with Template in Tableau

--

--