Поделиться через


Обратная запись в куб (многомерные выражения)

Для обновления куба используется инструкция 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
ms145568.note(ru-ru,SQL.90).gifПримечание.
В Microsoft SQL Server 2005 Analysis Services (SSAS) можно обновлять любые ячейки.

Ситуации, которые могут привести к ошибке

В следующей таблице описаны причины возможных ошибок обратной записи и их результаты.

Условие возникновения ошибки Результат

Инструкция обновления содержит элементы одного и того же измерения, которые не существуют друг с другом.

Обновление не выполняется. Пространство куба не будет содержать ячейку, на которую ссылается инструкция.

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

Обновление не выполняется. При приращении необходимо, чтобы мера могла принимать отрицательные значения.

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

Возникает ошибка.

Попытка обновления вложенного куба.

Возникает ошибка.

Зависимость от изменений куба

Следующие изменения не влияют на обратную запись.

  • Обработка куба, групп его мер или измерений.
  • Добавление атрибутов в любое измерение.
  • Добавление нового измерения.
  • Удаление измерения, которое не содержит обратной записи.
  • Добавление, изменение и удаление иерархии.
  • Добавление новой меры.

Следующие изменения нельзя выполнить без удаления данных обратной записи.

  • Удаление атрибута или его иерархии, если атрибут содержится в обратной записи. Под этим подразумевается явное удаление атрибута или его иерархии, либо удаление родительского измерения атрибута.
  • Удаление меры, которая содержится в обратной записи.
  • Добавление атрибута без уровня (All) в измерение, которое содержится в обратной записи.
  • Изменение степени гранулярности измерения, которое содержится в обратной записи.

См. также

Основные понятия

Изменение данных (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005