2008-11-26 39 views
2

我正在嘗試使用單一度量創建一個多維數據集。此度量是「名稱」列的不同數量。如果該度量設置爲「count」類型,則該立方體可以很好地工作。然而,當我設置重複計數我得到這個錯誤:Analysis Services 2005 OLAP多維數據集:我可以在nvarchar列上創建不同的計數度量嗎?

我已經在一些博客閱讀,你只能有一個:

「爲不同的盤點記錄指定的排序順序不正確OLAP存儲引擎中的錯誤」數字列上的不同計數。我看不到這樣的好理由,而且我也無法在官方文檔中找到這些信息。但是,這可能是事實。無論如何,我真的堅持這個問題。我有什麼選擇?

回答

7

我的答案可能爲時已晚,但希望這可以幫助其他具有相同問題的其他人。

  1. 轉到在解決方案資源管理器
  2. 發現包含GUID列需要被聚集
  3. 選定表標題單擊鼠標右鍵,選擇「創建命名計算表中的數據源視圖「
  4. 給它一個名稱
  5. 類型中表達的字段如下: CAST(的ColumnName爲varchar(36))

該解決方案是從這個鏈接 http://www.bi-dw.info/sql-server-tips/distinct_count-measure-on-uniqueidentifier.htm

+0

+1救了我頭疼......驚訝它不能做,沒有解決辦法。 – Meff 2009-02-13 11:01:40

0

我會回答自己,也許這對其他人有幫助。

簡短答案是YES。

我已經創建了一些具有相同結構但只有幾個測試行的測試表。立方體與這些數據完美結合。

所以,我猜在原始表格上有一些損壞的數據,或者是一些罕見的字符。

0

你是對的,你可以對nvarchar列進行截然不同的計數。

這可能與某些奇怪的字符或整理設置有關。

您可以嘗試處理度量值組的較小子集以嘗試並隔離問題行。

0

這可能是由於整理設置。默認情況下,SQL Server具有SQL_Latin1_General_CP1_CI_AS,其中SSAS使用Windows歸類Latin1_General。 如果您更改列上您正在執行不同的計數,我認爲將解決問題

3

谷歌,尤其Eggheadcafe來到了一個解決方案救援:

  • 連接到Analysis Services從SQL Server Management Studio中
  • 右鍵點擊Analysis Services服務器名稱(即最上面的Analysis Services鏈接)
  • 選擇屬性
  • 選中顯示高級(A LL)屬性
  • 找到以下設置
  • OLAP \程序\ CheckDistinctRecordSortOrder
  • 將該值設置爲0
  • 單擊確定
  • 打開在Visual Studio或出價,您的OLAP。
  • 處理立方體。
+0

這個答案適合我。謝謝! – BoltBait 2016-07-12 17:45:42

0

我有這個問題,試圖使一個INT ID列不同的計數。花了不少時間查看未知成員設置和維度使用設置後,我發現了另一個建議,即「區分計數」度量值不喜歡NULL值。添加WHERE COLUMN不爲NULL分區查詢這個不同的計數度量值組解決了我的問題。

這是建議:OLAP存儲引擎 「錯誤:對重複計數記錄指定的排序順序不正確

檢查distinctcount列不包含空值。如果是的話,這些都可以。通過分區定義中的查詢從測量組中省略(假設不同的計數測量位於其自己的測量組中)「

0

德比在我的情況中提供了正確的答案。在我的情況下,我試圖在SSDT(VS 2012)中處理挖掘模型,並且發現錯誤。

在對生成我用作數據源的表的查詢進行了一些更正之後,該錯誤開始了。我的猜測是,在我對查詢進行更正之前,它引入了一些我沒有的NULLS,因此源表(挖掘模型在此之前處理得很好)。由於我的諾言聲望,我無法投票選舉德比。

0

我正面臨同樣的問題,我發現我的數據中有特殊字符/符號阻止處理多維數據集。多數情況下,多維數據集無法使用特殊字符對數據進行排序。

我能夠通過使用下面的函數將數據轉換成字符串hashbyte來解決這個問題:

SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', [column_name])), 3, 32) 
相關問題