Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: ‘dim_customer’, Column: ‘customer_group_name’, Value: ‘วิลล’. The attribute is ‘Customer Group Name’.

Issue
เคสนี้สาเหตุที่ทำให้เกิด Error เนื่องมาจากฟิลล์ “Customer Group Name” ใน Table dim_customer ที่ผมใช้มีภาษาไทย ทำให้ตอนที่โปรเซส Dimension บน Analysis Service มันฟ้อง Error ขึ้นมา ผมก็พยายามหาปัญหาว่าเป็นเพราะอะไร จนจำลองให้เหลือข้อมูลเพียงแค่ 2 Row  ดังรูป

1

จากนั้นทำการ Process ผลลัพธ์ที่ได้ เป็นดังรูป
2

ดังนั้น สาเหตุอาจมาจากเรื่องของวรรณยุกต์ในภาษาไทยก็เป็นได้
3
Solution
1) ผมเลยลองเปลี่ยน Data Type ของ Column ที่มีข้อมูลเป็นภาษาไทยให้เป็น nvarchar จากนั้นก็ Set Collate ให้เป็น  “SQL_Latin1_General_CP1_CS_AS”  ดัง Script

ALTER TABLE dim_customer
ALTER COLUMN customer_group_name NVARCHAR(255)
COLLATE SQL_Latin1_General_CP1_CS_AS

2) แก้ Collation ที่ Dimension ดังรูป
4
5
6

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

TG Facebook Comments