Обратная запись в куб (многомерные выражения)
Для обновления куба используется инструкция UPDATE CUBE. Эта инструкция позволяет записать в кортеж указанное значение. Для эффективного использования инструкции UPDATE CUBE необходимо понимать ее синтаксис, ситуации, в которых может возникнуть ошибка, и влияние обновления на весь куб.
Синтаксис инструкции UPDATE CUBE
Синтаксис инструкции UPDATE CUBE приведен далее.
UPDATE [CUBE] <Cube_Name> SET <tuple>.VALUE = <value> [,<tuple>.VALUE = <value>...]
[ USE_EQUAL_ALLOCATION | USE_EQUAL_INCREMENT |
USE_WEIGHTED_ALLOCATION [BY <weight value_expression>] |
USE_WEIGHTED_INCREMENT [BY <weight value_expression>] ]
Если для кортежа не указан полный набор координат, вместо неуказанных координат используется элемент иерархии по умолчанию. Заданный кортеж должен ссылаться на ячейку, которая содержит статистическое значение, полученное с помощью функции Sum. В качестве координат ячейки нельзя использовать вычисляемые элементы.
Инструкция UPDATE CUBE подобна подпрограмме, выполняющей серию отдельных операций обратной записи в элементарные ячейки. Затем отдельные операции обратной записи сворачиваются в указанную сумму. В следующем примере с помощью инструкции UPDATE CUBE мере Unit Shipped для семейства продуктов Drink присваивается значение 0 (ноль).
UPDATE CUBE [Warehouse and Sales] SET ([Measures].[Units Shipped], [Product].[Product Family].[Product Family].&[Drink]) = 0 USE_NO_ALLOCATION
Примечание. |
---|
В Microsoft SQL Server 2005 Analysis Services (SSAS) можно обновлять любые ячейки. |
Ситуации, которые могут привести к ошибке
В следующей таблице описаны причины возможных ошибок обратной записи и их результаты.
Условие возникновения ошибки | Результат |
---|---|
Инструкция обновления содержит элементы одного и того же измерения, которые не существуют друг с другом. |
Обновление не выполняется. Пространство куба не будет содержать ячейку, на которую ссылается инструкция. |
Инструкция обновления содержит меру, источником которой является мера беззнакового типа данных. |
Обновление не выполняется. При приращении необходимо, чтобы мера могла принимать отрицательные значения. |
Инструкция обновления содержит меру, которая соответствует не сумме, а другому статистическому выражению. |
Возникает ошибка. |
Попытка обновления вложенного куба. |
Возникает ошибка. |
Зависимость от изменений куба
Следующие изменения не влияют на обратную запись.
- Обработка куба, групп его мер или измерений.
- Добавление атрибутов в любое измерение.
- Добавление нового измерения.
- Удаление измерения, которое не содержит обратной записи.
- Добавление, изменение и удаление иерархии.
- Добавление новой меры.
Следующие изменения нельзя выполнить без удаления данных обратной записи.
- Удаление атрибута или его иерархии, если атрибут содержится в обратной записи. Под этим подразумевается явное удаление атрибута или его иерархии, либо удаление родительского измерения атрибута.
- Удаление меры, которая содержится в обратной записи.
- Добавление атрибута без уровня (All) в измерение, которое содержится в обратной записи.
- Изменение степени гранулярности измерения, которое содержится в обратной записи.
См. также
Основные понятия
Изменение данных (многомерные выражения)