Analysis Services 2005 Кубы OLAP: можно ли создать отдельную меру подсчета для столбца nvarchar? - PullRequest
2 голосов
/ 26 ноября 2008

Я пытаюсь создать куб с одной мерой. Эта мера представляет собой отдельный счет столбца «имя». Куб работает отлично, если мера установлена ​​в типе «считать». Однако, когда я устанавливаю различное количество, я получаю эту ошибку:

"Ошибки в механизме хранения OLAP: неверный порядок сортировки, указанный для отдельных записей счета"

Я читал в некоторых блогах, что в числовом столбце можно различить только счет. Я не вижу веских причин для этого, и я не могу найти эту информацию в официальной документации. Однако это может быть правдой. В любом случае, я действительно застрял с этой проблемой. Какие у меня варианты?

Ответы [ 8 ]

7 голосов
/ 10 февраля 2009

мой ответ может быть слишком поздно для вас, но надеюсь, что это может помочь другим, у которых есть такая же проблема

  1. Перейти к представлению источника данных в обозревателе решений
  2. Найти таблицу, содержащую столбец GUID, который необходимо агрегировать
  3. Щелкните правой кнопкой мыши заголовок выбранной таблицы и выберите «Создать именованный расчет»
  4. Дайте ему имя
  5. Введите в поле «Выражение» следующее: CAST (ColumnName as varchar (36))

Это решение по этой ссылке http://www.bi -dw.info / SQL-Server-советы / distinct_count-мера-на-uniqueidentifier.htm

3 голосов
/ 14 марта 2011

Google и, в частности, Eggheadcafe пришли на помощь с решением:

  • Подключение к службам аналитики из SQL Server Management Studio
  • Щелкните правой кнопкой мыши имя сервера служб Analysis Services (т. Е. Самую верхнюю ссылку на службы Analysis Services)
  • Выберите недвижимость
  • Проверить Показать Расширенные (Все) свойства
  • Найти следующую настройку
  • OLAP \ Process \ CheckDistinctRecordSortOrder
  • Установите это значение на 0
  • Нажмите ОК
  • Откройте свой OLAP в Visual Studio или BIDS.
  • Обработка куба.
0 голосов
/ 07 сентября 2016

Я столкнулся с той же проблемой и обнаружил, что в моих данных были специальные символы / символы, которые мешали обработке куба. Скорее всего, куб не смог отсортировать данные по специальным символам.

Мне удалось решить проблему, преобразовав данные в строку хеш-байта, используя следующую функцию:

SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', [column_name])), 3, 32)
0 голосов
/ 02 июля 2015

Дерби дал правильный ответ в моей ситуации. В моем случае я пытался обработать модель майнинга в SSDT (VS 2012) и получал ошибку.

Ошибка началась после того, как я внес некоторые исправления в запрос, который сгенерировал таблицу, которую я использовал в качестве источника данных. Я предполагаю, что в нем были введены некоторые значения NULL, которых у меня не было до внесения исправлений в мой запрос, и, следовательно, исходная таблица (модель майнинга до этого прекрасно обрабатывалась). Я не могу проголосовать в Дерби из-за моей репутации нуба.

0 голосов
/ 09 декабря 2013

У меня была эта проблема, когда я пытался подсчитать столбец INT ID. Проведя долгие годы, изучая параметры Неизвестного члена и параметры использования измерения, я обнаружил еще одно предположение о том, что показателям с разным счетом не нравятся значения NULL. Добавление WHERE COLUMN NOT NULL к запросам секций для этой отдельной группы мер подсчета решило мою проблему.

Это было предложение: «Ошибки в механизме хранения OLAP: неверный порядок сортировки, указанный для отдельных записей.

Убедитесь, что столбец divercount не содержит нулевых значений. Если это так, их можно исключить из группы мер с помощью запроса в определении раздела (при условии, что отдельный показатель меры находится в своей собственной группе мер) "

0 голосов
/ 02 февраля 2009

Это может быть связано с настройками сортировки. Сервер Sql имеет по умолчанию SQL_Latin1_General_CP1_CI_AS, где в качестве SSAS используется Windows Collation Latin1_General. Если вы измените параметры сортировки для столбца, в котором вы выполняете отдельный подсчет, я думаю, что это решит проблему

0 голосов
/ 02 февраля 2009

Вы правы, вы можете подсчитать столбец nvarchar.

Это может быть связано со странными символами или настройками сортировки.

Вы можете попробовать обработать меньшие подмножества группы мер, чтобы попытаться выделить проблемную строку.

0 голосов
/ 26 ноября 2008

Я отвечу сам, может быть, это полезно для кого-то еще.

Краткий ответ ДА.

Я создал несколько тестовых таблиц с той же структурой, но с несколькими тестовыми строками. Куб отлично работает с этими данными.

Итак, я предполагаю, что в исходных таблицах есть некоторые поврежденные данные или, возможно, некоторые редкие символы.

...