Проблема
Предположим, что вы выполнили запрос многомерных выражений в Microsoft SQL Server 2012 (SSAS 2012) или Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008). Запрос многомерных выражений содержит агрегатную функцию, которая используется в вычисляемом элементе в предложении WHERE. В этом случае запрос многомерных выражений возвращает неверный результат.
Примечание. Эта проблема обычно возникает, если выполняются следующие условия:
- Унарный оператор определен в родительской или дочерней иерархии.
- Элемент строки является детализацией родительского элемента.
Решение
Сведения о накопительном пакете обновления
Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 2. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 SP1, см. в следующей статье базы знаний Майкрософт:
2790947 Накопительный пакет обновления 2 для SQL Server 2012 с пакетом обновления 1 (SP1) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2772858 Сборки SQL Server 2012 г., выпущенные после выпуска SQL Server 2012 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 5 для SQL Server 2012
Исправление этой проблемы впервые выпущено в накопительном пакете обновления 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, откройте статью со следующим номером в базе знаний Майкрософт:
2777772 Накопительный пакет обновления 5 для SQL Server 2012
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2012. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2692828 Сборки SQL Server 2012 г., выпущенные после SQL Server 2012 г.
SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 3. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2, откройте статью со следующим номером в базе знаний Майкрософт:
2754552 Накопительный пакет обновления 3 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) Примечание Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Временное решение
Чтобы обойти эту проблему, используйте функцию Sumfunction вместо функции Aggregate.