Ssas

如何為我的 SSAS Cube 手動設置程式碼頁和排序規則?

  • May 4, 2015

當我嘗試處理我的 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 中更改排序規則設置。有幾種不同的選項,所以重要的問題是您是否將 SSAS 用於其他數據庫而不是克羅地亞語_CI_AS 數據庫。

如果是這樣,您可以使用 collat​​e Latin1_General_CI_AS 填充所有查詢,以確保您將 Latin1 排序規則中的數據放入多維數據集中。如果您僅對克羅地亞數據使用 SSAS,則將 SSAS 排序規則更改為相同。

引用自:https://dba.stackexchange.com/questions/100537