How to manually set Code Page and Collation for the SSAS Cube

collationssas

When I try to Process my SSAS2012 Olap Cube I get a lot of erros like this

Errors in the OLAP storage engine:
A duplicate attribute key has been found when processing: Table: 'dbo_ART'
,Column: 'NAZIV'
,Value: 'ARMATURA ZA KERAMIĆKI VODOKOTLIĆ'. 
The attribute is 'Art Naziv'.
Errors in the OLAP storage engine: The record was skipped because the attribute key is a duplicate.
Attribute: Art Naziv of Dimension: ART from Database: robot, Record: 2451.

When I investigate this error I found that at my transactional database at table ART exists two totally different rows with whit value of column NAZIV ='ARMATURA ZA KERAMIĆKI VODOKOTLIĆ' only differences from this two records is that one do not have letters with 'Ć' and 'Č' insead on that placed is letter 'C'.

If I do

select naziv
from art
group by naziv
having count(*)>1

I do not get any duplicated rows.
Because some how transactional database know difference between letters 'Č','Ć','C'.
But OLAP cube when Processing Dimension ART reading all this letters as "C" and getting duplicate keys.
My transactional Database is at SQL 2012 R2 standard server with Collation =Croatian_CI_AS server is generally set to Latin1_General_CI_AI.
My SSAS 2012 Enterprise server have Windows Collation set to Latin1_General
and all Sensitive is Unchecked.

How I should set my language settings for SSAS server to avoid this error.
Is that "accent sensitive" setting.
Or I need to change my Windows Collation to something else ?

SSAS Language settings

Best Answer

You have to change the collation settings either in your queries or in SSAS. There are several different options so the important question is do you use SSAS for other databases than the Croatian_CI_AS one.

If so you can pepper all your queries with collate Latin1_General_CI_AS to make sure that you get the data in the Latin1 collation into the cubes. If you are only using SSAS for the Croatian data, then change the SSAS collation to the same.