Ssas
如何為我的 SSAS Cube 手動設置程式碼頁和排序規則?
當我嘗試處理我的 SSAS2012 Olap Cube 時,我得到了很多這樣的錯誤
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.
當我調查此錯誤時,我發現在我的事務數據庫表 ART 中存在兩個完全不同的行,其值為 NAZIV =‘ARMATURA ZA KERAMIĆKI VODOKOTLIĆ’和’Č’ insead 放在那個地方是字母’C’。
如果我做
select naziv from art group by naziv having count(*)>1
我沒有得到任何重複的行。
因為一些事務數據庫如何知道字母’Č’,‘Ć’,‘C’之間的區別。
但是 OLAP 多維數據集在處理 Dimension ART 時將所有這些字母讀取為“C”並獲取重複鍵。
我的事務數據庫位於 SQL 2012 R2 標準伺服器上,排序規則 =Croatian_CI_AS 伺服器通常設置為 Latin1_General_CI_AI。我的 SSAS 2012 Enterprise 伺服器將 Windows 排序規則設置為 Latin1_General 並且所有敏感都未選中。
我應該如何設置 SSAS 伺服器的語言設置以避免此錯誤。那是“口音敏感”設置。或者我需要將我的 Windows 排序規則更改為其他內容?
您必須在查詢或 SSAS 中更改排序規則設置。有幾種不同的選項,所以重要的問題是您是否將 SSAS 用於其他數據庫而不是克羅地亞語_CI_AS 數據庫。
如果是這樣,您可以使用 collate Latin1_General_CI_AS 填充所有查詢,以確保您將 Latin1 排序規則中的數據放入多維數據集中。如果您僅對克羅地亞數據使用 SSAS,則將 SSAS 排序規則更改為相同。