Error processing olap dimension : A duplicate attribute key has been found when processing.
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 ดังรูป
จากนั้นทำการ Process ผลลัพธ์ที่ได้ เป็นดังรูป
ดังนั้น สาเหตุอาจมาจากเรื่องของวรรณยุกต์ในภาษาไทยก็เป็นได้
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 ดังรูป
เมื่อแก้ไขตามข้างบนแล้ว ผมดำเนินการโปรเซสอีกครั้ง คราวนี้ผ่านครับ ยังไงท่านใดที่เจอปัญหานี้ลองเอาวิธีนี้ไปใช้ดูนะครับ หรือถ้ามีวิธีที่ดีกว่านี้สามารถแนะนำได้นะครับ