Gauge Chart แบบ Dynamic

ผู้เขียน

–Suparat Srijankard–

Article, บทความ-Other, บทความ-Tableau

Tableau Desktop , Gauge Chart , Tableau Gauge Chart

Gauge Chart ใน Tableau แบบ Simple และ Dynamic

Gauge Chart คืออะไร

          Gauge Chart แผนภูมิหน้าปัดความเร็วโค้งวงกลม เป็นรูปแบบหนึ่งของแผนภูมิที่ใช้แสดงข้อมูลเป็นตัวเลขที่อยู่ในช่วงหนึ่ง โดยแสดงในรูปของเข็มบอกสถานะ (หรือ gauge) เหมือนกับเข็มวัดอุณหภูมิหรือเครื่องวัดอื่น ๆ โดยการทำงานของ gauge chart คือการแสดงค่าของข้อมูลตามช่วงหนึ่งบนแป้นควบคุมในรูปของช่วงกำหนด ตัวอย่างเช่น ค่าการขาดแคลนทางการเงินของบริษัท เปอร์เซ็นต์ความเต็มใจของลูกค้า เป็นต้น

แผนภูมิเกจมักจะมีหน้าตาเป็นวงกลม โดยมีเข็มหรือชานเข็มวัดที่หมุนในระดับต่าง ๆ ตามค่าข้อมูลที่ได้รับ ค่าข้อมูลที่สูงขึ้นจะทำให้เข็มหมุนไปในทิศทางที่แสดงถึงค่าสูง และค่าข้อมูลที่ต่ำลงจะทำให้เข็มหมุนไปในทิศทางที่แสดงถึงค่าต่ำ

Gauge Chart นิยมนำไปใช้งานเรื่องใดบ้าง?

Gauge chart มักนิยมใช้ในการแสดงข้อมูลที่มีค่าสัดส่วน เช่น เปอร์เซ็นต์ของค่าต่าง ๆ หรือในการติดตามตัวชี้วัด เช่น ค่าความเต็มใจของลูกค้า เพื่อให้เข้าใจง่ายและรวดเร็ว โดยเฉพาะในสถานการณ์ที่ต้องการตรวจสอบค่าปัจจุบันของแบบวัดเป็นระยะ ๆ ไป เช่น สถานการณ์การเงินปัจจุบันของบริษัท

กรณี Dynamic Gauge  Chart ต้องต้องอาศัยความรู้ตรีโกณมิติผสมแคลคูลัสนิดหน่อย กดที่นี่

ระบบพิกัดที่เราคุ้นชินจะมีอยู่ 2 ระบบหลักๆ ได้แก่

  1. ระบบพิกัดฉาก (rectangular หรือ cartesian coordinate system)
  2. ระบบพิกัดเชิงขั้ว (polar หรือ spherical coordinate system)

          มาถึงตรงนี้หลายท่านถึงกับถอนหายใจ ถอนได้แต่ก็หายใจเข้าไปลึกๆด้วยนะคะ จะพยามอธิบายไม่ให้ซับซ้อนมาก

ในที่นี้หน้าปัดของ Gauge Chart จะเป็นครึ่งวงกลม

วงกลม 1 หน่วยจะมีเส้นรอบวงเท่ากับ 2 π  = 360°

ดังนั้นครึ่งวงกลมมีความยาวส่วนโค้งเท่ากับ π  = 180°

หมายเหตุ: การนับมุมเราจะเริ่มนับจาก 0° ใน Quadrant ที่ 1 (ตามระบบพิกัดฉาก) ไปทางทิศทวนเข็มนาฬิกา

โดยใน Tableau เราจะใช้หลักการสร้างจุด X,Y ที่เป็นพิกัดฉากจากนัดแปลงเป็นพิกัดเชิงขั้ว เพื่อให้เป็นรูปครึ่งกลมที่มีความหนาแบ่งชั้นตาม Range ที่ต้องการได้

ขอเสริมเรื่องหลักการที่ใช้สร้าง Gauge แบบ Dynamic ดังนี้

จากรูป Gauge Chart Component

  1. ส่วนที่เป็นโค้งของครึ่งวงกลม
  2. ส่วนที่เป็น Gauge Range Scale ที่แบ่งระดับ
  3. ส่วนของเข็มที่เป็นตัวแทนของค่าที่วัดได้ ที่ชี้ไปยังตำแหน่งที่ตกใน Range Scale
  4. ส่วนที่เป็นความหนาของหนาของครึ่งวงกลม

ขั้นตอนในการทำ Gauge Chart แบบ Dynamic มาเริ่มทำกันเลยค่า

Step 1 Connect Data Source สำหรับสร้าง Gauge

ใช้ Data Source 2 Files ได้แก่ Sample – Superstore.xls กับ Data Gauge.csv สามารถ Download ได้ Click Here

File “Sample – Superstore.xls” Sheet “Orders” เป็น File ตัวแทนข้อมูลที่ท่านใช้งานอยู่

File “Data Gauge.csv” เป็น File ที่เตรียมแยกออกมาเพื่อใช้ในการสร้างมุมในการหมุนองศาของครึ่งวงกลม ท่านสามารถนำไปประยุกต์ใช้กับ Data Source ของท่านได้

โดยใน File Data Gauge.csv จะมีค่า 2 ค่าได้แก่ value และ range

ค่า value มีตั้งแต่ 0-101

โดยค่า value ตั้งแต่ 0-50 จะใช้ Plot จุดครึ่งกลมใหญ่

ส่วนค่า value ตั้งแต่ 51-101 จะใช้ Plot จุดครึ่งกลมเล็ก

ค่า range เป็นการแบ่ง Scale หรือลำดับชั้นของข้อมูลที่ใช้พิจารณา โดยปกติมาจะมี 2-4 Ranges แต่ตัวอย่างนี้จะทำไว้ 5 Ranges หากต้องการเพิ่ม Range มากกว่านี้ใน File Data Gauge.csv สามารถเพิ่ม Range ที่ 6,7… ได้ โดยค่า values ควรมีให้ครบตั้งแต่ 0-101 ในทุกๆ Range เท่าๆกัน แต่ไม่แนะนำให้มี Range มากเกินไป เพราะจะทำให้ประสิทธิภาพในการวิเคราะห์ลดลงได้ หลักการเดียวกับกราฟ Pie ที่มีการแบ่งชิ้นหลายชิ้นมากเกินไป

Senario : ตามที่แจ้งไว้ ตัวอย่างนี้เราจะมีมาสร้าง Range ทั้งหมด 5 Ranges ให้ Range ที่ 5 เป็นตัวแทนกรณียอมให้ค่าที่พิจารณาสามารถเกินค่า Target ได้

RangeDescriptionParameter
1ใช้เพื่อกำหนดค่าช่วง Range ที่ 1 Ex. 25%Range 1
2ใช้เพื่อกำหนดค่าช่วง Range ที่ 2 ที่มากกว่า Range 1 Ex. 50%Range 2
3ใช้เพื่อกำหนดค่าช่วง Range ที่ 3 ที่มากกว่า Range 2 Ex. 75%Range 3
4ใช้เพื่อกำหนดค่าช่วง Range ที่ 4 ที่มากกว่า Range 3 ในที่นี้ให้เป็น Range Target Ex. 100%ไม่ต้องสร้าง Parmeter Hard Code 1 แทน
5ใช้เพื่อกำหนดค่าช่วง Range ที่ 5 ที่มากกว่า Range 4 Ex. 110%Range Over Target

ใช้ Data Source 2 Files ได้แก่ Sample – Superstore.xls กับ Data Gauge.csv มา Relationships กัน

โดยการทำ Relationship ไม่จำเป็นต้องมี Field ที่ใช้เป็น Key เหมือนการ Join เราเพียงแค่ต้องการสร้างกราฟจากข้อมูลที่มาจาก 2 แหล่งที่มาขึ้นไป แต่กรณีที่ไม่มี Key ในการ Join ใช้วิธีสร้าง Cal Field ใส่ค่าอะไรก็ได้ที่เหมือนกันทั้ง 2 Files ในที่นี้ผู้เขียนใส่ค่า 0 (ใส่ค่าอะไรก็ได้ ขอให้เหมือนกัน)

Step 2 สร้าง Gauge

  • สร้าง Parameter Range 1,2,3 เป็น Type Float ตั้งค่า Range Min 0, Max 1, Step Size 0.01
    • สร้าง Parameter Range Over Target เป็น Type Float ตั้งค่า Range Min 0, Max 2, Step Size 0.01

หมายเหตุ: กำหนด Float เพื่อรองรับทศนิยม โดยตอนนำไปใช้จะกำหนดให้ 0.01 =1%

  • สร้าง Calculated Field 4 Fields กับ 1 Parameter เพื่อคำนวณหาความกว้างตามช่วง Range ที่เรากำหนด
    • สร้าง Calculated Field “Width Range” เพื่อค่ากำหนด Range ด้วย Parameter ที่สร้างไว้
//Width Range
CASE [Range]WHEN 1 THEN [Range 1]
WHEN 2 THEN [Range 2]
WHEN 3 THEN [Range 3]
WHEN 4 THEN 1
WHEN 5 THEN [Range Over Target]
END
Q: มาถึงตรงนี้ บางท่านอาจจะเริ่มสงสัยว่าทำไม่ต้องมีค่า value 0-101 น้อยกว่าหรือมากกว่านี้ได้ไหม?
A: น้อยกว่านี้ได้ แต่ครึ่งวงกลมที่ได้เส้นจะไม่ค่อยโค้ง value ยิ่งมากยิ่งโค้งเพราะมีจุดให้ต่อเส้น

จะเห็นว่าค่า value 0-21 เส้นโค้งที่ได้จะไม่ค่อย smooth ส่วนค่า value 0-101 กับ 0-401 ทางผู้เขียนมองว่าได้ผลเหมือนกัน ดังนั้นเราใช้ค่า value 0-101 ก็เพียงพอในการทำเส้นโค้งของ Gauge

  • สร้าง Calculated Field “Gauge  Degree” เพื่อคำนวณหามุมที่ต้องการให้จุดหมุนไปกี่องศา โดยใช้ค่า Value จาก File ที่เราเตรียมแยกไว้มา
// Guage Degree
(IF [Value] <= 50 THEN [Value]/50 –Step1
ELSEIF [Value] >50 THEN (50 – ([Value] – 51))/50 –Step2
END)*PI()*([Width Range]/[Range Over Target])
  • เพื่อให้ครึ่งวงกลมมีรัศมีต่างกัน ให้สร้าง Parameter “size” ใช้เป็นตัวแปรกำหนดค่าที่ไปลบกับรัศมีของวงกลม มีผลต่อความกว้างของครึ่งวงกลม เพื่อใช้แทนค่าในสูตรตอนสร้าง Calculated Field “Gauge  Radius”  ในลำดับต่อไป
  • สร้าง Calculated Field “Gauge  Radius” เพื่อกำหนดค่ารัศมี ให้วงกลมใหญ่ มีรัศมี = 1 หน่วย ส่วนวงกลมเล็กจะมีรัศมีเป็นเท่าไรก็ได้ ขอให้น้อยกว่าวงกลมใหญ่
//Guage Radius
IF [Value] <= 50THEN 1
ELSEIF [Value] > 50
THEN 1 – [size]
END

  • สร้าง Calculated Field “Gauge Coordinate” เพื่อแปลงองศาให้อยู่ในรูปพิกัดเชิงขั้ว เนื่องจากเราจะใช้หลักการนี้ในการสร้างกราฟครึ่งกลม จึงใช้ Function ที่เรียกว่า MAKEPOINT()
//Guage Coordinate
MAKEPOINT(   
[Gauge Radius]*SIN([Gauge Degree]),   
-[Gauge Radius]*COS([Gauge Degree])
)
  • ลาก Field “Gauge Coordinate” ไปใน View หรือ Double Click สังเกตสัญลักษณ์ของ Data Type เป็น Geographic Role  เมื่อลากวาง ระบบสร้างพิกัดจุดตามพิกัดเชิงขั้วหรือใน Tableau คือจุดบนแผนที่ (latitude, longitude)
  • เปลี่ยน Mark Type เป็น “Polygon”> ลาก Value ไปใน Path เปลี่ยนเป็น Dimension> ลาก Range ไปใส่สี เปลี่ยนเป็น Dimension Discrete

Step 3 สร้างเข็มชี้ Gauge

  • Connect “Point Gauge.csv” เพิ่ม มา Relationships กัน “Sample – Superstore.xls”

          ค่า Point มี 0-5 เพื่อใช้ Point ในการคำนวณจุดการแสดงผล 6 จุด เริ่มนับ 0 เป็นจุดแรก

สำหรับส่วนของเข็ม ใช้แค่ 2 จุด คือ 0,1  

โดยค่า Point=0 ให้เป็นจุดหมุน

ส่วนค่า Point=1 ให้เป็นจุดที่เข็มชี้ไปยัง Gauge โดยจะกำหนดความยาวของเข็มจากการลากเส้นจาก Point 0 ไปยัง Point 1  

กรณีที่ไม่มี Key ในการ Join ใช้วิธีสร้าง Cal Field ใส่ค่าอะไรก็ได้ที่เหมือนกันทั้ง 2 Files ในที่นี้ผู้เขียนใส่ค่า 0 (ใส่ค่าอะไรก็ได้ ขอให้เหมือนกัน)

  • สร้าง Calculated Field 4 Fields กับ 1 Parameter เพื่อเข็มที่ใช้ชี้ตามค่า KPI ที่เราต้องการ
    • สร้าง Calculated Field “Point Size” เพื่อค่าความหนาของจุดเข็ม ให้ค่า Point
// Point Size
CASE [Point]
WHEN 0 THEN 1
WHEN 1 THEN 0.1
END
  • ให้สร้าง Parameter “Sales Target” ใช้เป็นตัวแปรกำหนดค่าเป้าหมายของ Sales ที่ไปลบกับรัศมีของวงกลม มีผลต่อความกว้างของครึ่งวงกลม เพื่อใช้แทนค่าในสูตรตอนสร้าง Calculated Field “Point  Degree”  ในลำดับต่อไป
  • สร้าง Calculated Field “Point Degree” เพื่อคำนวณค่าที่ต้องการให้เข็มชี้ตามค่า KPI ที่เราต้องการให้แสดงการหมุนไปตามสัดส่วนบน Gauge ในที่นี้คือครึ่งวงกลมหรือ Layer “Gauge Coordinate” ที่เราทำไว้ก่อนหน้า โดยใช้ค่า KPI ที่เราต้องการวัดในที่นี้คือค่า Sales วัดค่า KPI อื่นๆสามารถปรับสูตรตรงส่วนนี้ได้
// Point Degree
CASE [Point]
WHEN 0 THEN 0
WHEN 1 THEN MIN({ FIXED :SUM([Sales])}/[Parameters].[Sales Target]/[Range Over Target],1)
END * PI()
  • สร้าง Calculated Field “Point Radius” เพื่อกำหนดค่ารัศมีของเข็ม
// Point Radius
CASE [Point]
WHEN 0 THEN 0
WHEN 1 THEN 1 – [size]/2
END
  • สร้าง Calculated Field “Gauge Point” เพื่อแปลงองศาให้อยู่ในรูปพิกัดเชิงขั้ว เนื่องจากเราจะใช้หลักการนี้ในการสร้างเข็มที่หมุนเป็นครึ่งกลม จึงใช้ Function ที่เรียกว่า MAKEPOINT()
// Gauge Point
MAKEPOINT(  [Point Radius]*SIN([Point Degrees]), 
-[Point Radius]*COS([Point Degrees])
)

 

  • ลาก Field “Gauge Point” ไปใน View โดยให้วางบริเวณ  Add a Marks Layer เพื่อเป็น Layer ของเข็ม โดยสามารถเปลี่ยนชื่อ Layer ให้สื่อได้ชัดเจนมากขึ้น
  • เปลี่ยน Mark Type เป็น “Line”> ลาก Point ไปใน Path เปลี่ยนเป็น Dimension> ลาก Point Size ไปใส่ Size เปลี่ยนขนาดของเข็ม หรือสีของเข็มได้ตามที่ต้องการ


Step 4 สร้าง Range Label

จาก File “Point Gauge.csv” จะมี Point ทั้งหมด 6 จุด เราจะใช้ในการกำหนด Label ในแต่ละRange ของ Gauge

  • สร้าง Calculated Field 4 Fields เพื่อแสดง Label ตามช่วง Range ที่เราต้องการ
    • สร้าง Calculated Field “Point Size” เพื่อแสดงค่า%ของแต่ละ Range ตามค่า Parameter Range ที่เรากำหนด
// Point Size
CASE [Point]
WHEN 0 THEN 1
WHEN 1 THEN 0.01
END
  • สร้าง Calculated Field “Label Sales Range” เพื่อแสดงค่า Sales Target ของแต่ละ Range ตามค่า Parameter Range ที่เรากำหนด
// Label Sales Range
CASE [Point]
WHEN 1 THEN [Range 1]
WHEN 2 THEN [Range 2]  
WHEN 3 THEN [Range 3]
WHEN 4 THEN 1
WHEN 5 THEN [Range Over Target]
WHEN 0 THEN 0
END * [Sales Target]
  • สร้าง Calculated Field “Label Degree” เพื่อคำนวณค่าตำแหน่งที่ต้องการ Label แสดงตามสัดส่วนบน Gauge ในที่นี้คือครึ่งวงกลม
// Label Degree
CASE [Point]
WHEN 1 THEN [Range 1]
WHEN 2 THEN [Range 2]  
WHEN 3 THEN [Range 3]
WHEN 4 THEN 1
WHEN 5 THEN [Range Over Target]
WHEN 0 THEN 0END * PI()/[Range Over Target]
  • สร้าง Calculated Field “Label Radius” เพื่อกำหนดค่ารัศมีของตัวอักษรควรอยู่ตำแหน่งไหนจากรัศมีเต็มครึ่งวงกลมคือ 1 เราอยากให้ตำแหน่งการแสดงตัวอักษรลดลงมาระดับไหนก็ลบด้วยค่าที่เราต้องการในที่นี้เรามี Size ที่เป็น Parameter ใช้ร่วมหากต้องการปรับขนาดได้อีก อาจเพิ่ม Parameter มาช่วยลดได้อีก หรือให้เป็นค่าคงที่ตามตัวอย่างได้เช่นกัน
// Point Degree
CASE [Point]
WHEN IN (0,1, 2,3,4,5) THEN 1 – [size] – 0.03
END
  • สร้าง Calculated Field “Gauge Label” เพื่อกำหนดค่าตำแหน่งของตัวอักษรตามพิกัดที่เรากำหนดไว้ใน Field “Label Degree”
// Gauge Label
MAKEPOINT(    [Label Radius]*SIN([Label Degree]),   
-([Label Radius]-0.05)*COS([Label Degree])
)
  • ลาก Field “Gauge Label” ไปใน View โดยให้วางบริเวณ   Add a Marks Layer เพื่อเป็น Layer ของเข็ม โดยสามารถเปลี่ยนชื่อ Layer ให้สื่อได้ชัดเจนมากขึ้น
  • เปลี่ยน Mark Type เป็น “Text”> ลาก Point ไปใน Detail เปลี่ยนเป็น Dimension> ลาก Label % Range กับ Label Sale Range ไปใส่ Text เปลี่ยนชื่อ Layer ให้สื่อ

          ปรับ Format Text Label ตามความต้องการถึง Step นี้จะได้ Gauge Chart Dynamic ที่ปรับค่า Range ได้ตามต้องการ

Step 5 สร้าง Center Label

      Step นี้เป็นกรณีต้องการแสดง Layer เช่น Text บริเวณกึ่งกลางของครึ่งวงกลม หรือตรงจุดหมุนของเข็มเพิ่ม เราสามารถ Add Layer โดยใช้หลักการเดียวกับการสร้าง Text Label แต่ไม่ต้องคำนวณหารัศมีให้ยุ่งยาก

  • สร้าง Calculated Field “Gauge Center” เพื่อแสดง Label ที่จุดหมุน
// Gauge Label Center
MAKEPOINT(-0.05, 0)
  • เปลี่ยน Mark Type เป็น “Text”> ลาก Point ไปใน Detail เปลี่ยนเป็น Dimension> ลาก Label % Range กับ Label Sale Range ไปใส่ Text เปลี่ยนชื่อ Layer ให้สื่อ

          ปรับ Format Text Label ตามความต้องการถึง รวมถึงสีของ Range แต่ละช่วงก็สามารถปรับให้เหมาะสมได้เช่นกัน

อธิบายสูตรเพิ่มเติม

อธิบายสูตร Guage Degree เพิ่มเติม เนื่องจาก Data Source เรามีค่า Value ตั้งแต่ 0-101
Step 1 IF [Value] <= 50 THEN [Value]/50 กำหนดเงื่อนไขถ้า Value น้อยกว่าเท่ากับ 50 ให้ค่า Value หาร 50 ดังนั้นกรณีผลลัพธ์ที่ได้ จะมีค่า >=0 Gauge Degree <=1 โดยเรียงจาก 0.00, 0.02,0.04…1.00 เพื่อได้ค่าที่เพิ่มขึ้นครั้งละ 0.02 ไปคูณค่า π เพื่อทำเป็นองศา ใช้ทำเป็นครึ่งวงกลมใหญ่ 
Step 2 ELSEIF [Value] >50 THEN (50 – ([Value] – 51))/50 กำหนดเงื่อนไขถ้า Value มากกว่า 50 ให้ค่า (50 – ([Value] – 51))/50 ดังนั้นกรณีผลลัพธ์ที่ได้ จะมีค่า >=0 Gauge Degree <=1 โดยเรียงจาก 1.00, 0.098, 0960…0.00 เพื่อได้ค่าที่ลดลงครั้งละ 0.02 ไปคูณค่า π เพื่อทำเป็นองศา ใช้ทำเป็นครึ่งวงกลมเล็ก 
Step 3 *PI()*([Width Range]/[Range Over Target]) เนื่องจากเรา Plot ครึ่งวงกลม
ดังนั้น 180° = π (~3.142 เรเดียน) นำค่าที่ได้จาก Step 1,2 คูณค่า π แต่ทั้งนี้ตาม Scenario กำหนดให้มีค่า Range ทั้งหมด 5 ค่า 
เพื่อให้ช่วงองศาเปลี่ยนไปตามความกว้างของแต่ละ Range จึงคูณด้วยค่า [Width Range]/[Range Over Target]) จากรูปผลลัพธ์ Step 3 จะไม่เกิน π หรือ 3.142
โดยค่า Value 0-50 จะเริ่มนับจากทางซ้ายโค้งไปทางขวา ชิ้นแรกคือ π /50, 2π /50, 3π/50…50π /50 สูงสุดคือ π = 3.142 เรเดียนค่า Value 50-101 จะเริ่มนับจากทางขวาโค้งไปทางซ้าย π /50,2π /50, 3π/50…50π /50 สูงสุดคือ π = 3.142 เรเดียน
(ในตาราง Step3 ในตัวอย่างกำหนดค่า Width Range และ Range Over Target =1)           
อธิบาย Technic ที่ใช้งานเพิ่มเติม ใน Step ที่ 2.3.5 การใช้สูตร Function MAKEPOINT ใน Tableau สร้างและกำหนดค่าพิกัด หรือจุดบนแผนที่ (Latitude, Longitude) ใน Tableau ได้ โดยมีใน Tableau Desktop ตั้งแต่ Version 2019.2.X ขึ้นไป

เมื่อได้จุด Latitude, Longitude มา 2 เส้นโค้ง แล้วจะต้องใช้การระบายสีให้เป็นครึ่งกลมที่มีความหนา ใน Tableau จะใช้ Function MAKEPOINT ผสมกับ Mark Type Polygon (Polygon คือการสร้างกราฟ โดยใช้หลักการลากเส้นจุดต่อจุด และระบายสีในพื้นที่ที่ลากเส้นไว้ หลักการจุดจะเรียงต่อตามค่า Value)      
อธิบายที่มาสูตร Radius กับ Degree เพิ่มเติม           จาก Cal Field “Guage Radius”, “Guage Degree” เราจะได้พิกัดเชิงขั้ว (r, θ) เมื่อแปลงพิกัดเชิงขั้ว (r, θ) ไปเป็นพิกัดฉาก (x, y) ที่เราคุ้นเคยกันตอนเรียนตรีโกณมิติ ที่เรา Plot จุด X,Y กัน เพื่อให้ได้เป็นรูปครึ่งวงกลม ขอเตรียมต.ย.ข้อมูลอย่างง่าย 10 จุด เพื่อใช้ประกอบการแสดงผลใน Tableau
x =r cos θ = Guage Radius * cos(Guage Degree)
y=r sin θ = Guage Radius * sin(Guage Degree)      
                         

ตัวอย่างแทนค่าสูตร 50 ค่าเพื่อได้พิกัด (x,y) เมื่อนำไป Plot ใน Tableau วางได้ 2 แบบ

 ต.ย.ข้อมูลอย่างง่าย ทั้ง 2 รูปแบบ ถ้าจะต้องทำไปแสดงผลในรูปแบบ Gauge รูปแบบที่ 1B กับ 2B จะผ่านเข้ารอบเพราะแสดงผลในรูปแบบ Gauge ตามที่เราต้องการได้ถูกต้อง แต่เราจะยึดแบบไหนดีล่ะสำหรับการทำ Gauge Chart ที่ใช้ Technic Mark Type Polygon มาช่วยลากเส้นเชื่อมชุดต่อจุดจะเป็นลากเส้นต่อเชื่อมจากจุดเริ่มต้นและจุดสิ้นสุดตามลำดับในที่นี้ เราให้ Value คือตัวแทนของลำดับ    

จาก ต.ย. ทั้ง 2 แบบ
แบบ A ให้ x = Rows, y= Columns ครึ่งวงกลมอยู่ Quadrant 1,4
แบบ B ให้ x = Columns, y= Rows ครึ่งวงกลมอยู่ Quadrant 1,2
รูปแบบ Gauge ตามที่เราต้องการ เราจะยึดแบบ B
x = r cos θ = Columns
y= r sin θ = Rows
โดยในที่นี้ครึ่งวงกลมใหญ่ r=1หน่วยเสมอ ส่วนครึ่งวงกลมเล็ก r=1-Parameter Size
การ Plot (latitude, longitude) ใน Tableau latitude จะอยู่ที่ Rows, longitude จะอยู่ที่ Columns เสมอ
เมื่อใช้สูตร MAKEPOINT() เป็นการ Plot จุดพิกัด (latitude, longitude)
ดังนั้น Rows = r sin θ = latitude, Columns = r cos θ = longitude
สำหรับการทำ Gauge Chart ที่ใช้ Technic Mark Type Polygon มาช่วยลากเส้นเชื่อมชุดต่อจุดจะเป็นลากเส้นต่อเชื่อมจากจุดเริ่มต้นและจุดสิ้นสุดตามลำดับในที่นี้ เราให้ Value คือตัวแทนของลำดับ                            
เพื่อให้ Range เรียงลำดับจากซ้ายไปขวา ให้ใส่ค่าลบที่ พิกัด longtitue จะได้ทิศทางตามที่เราต้องการ                           
สามารถเข้าไป Download Workbook ที่เปรียบเทียบระหว่าง Bullet และ Gauge Chart ได้ที่ Link ด้านล่างค่ะ
https://public.tableau.com/app/profile/suparat2249/viz/MyGauge/BulletChartvsGaugeChart      

Support Tableau Desktop ตั้งแต่ Version 2020.4 ขึ้นไปนะคะ                   

Reference

https://support.google.com/looker-studio/answer/10929705?hl=en#zippy=%2Cin-this-article

http://chatchaimathvru.blogspot.com/2013/09/rectangular-coordinate-system.html

Leave a Reply

Your email address will not be published. Required fields are marked *