Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Инструкция UPDATE CUBE используется для обратной записи данных в любую ячейку куба, которая суммируется с родительским элементом с помощью агрегатного выражения SUM. Дополнительные сведения и пример использования см. в разделе «Общие сведения о приложениях» в этой записи блога: Создание приложения обратной записи с помощью служб Analysis Services (блог).
Синтаксис
UPDATE [ CUBE ] Cube_Name
SET
<update clause>
[, <update clause> ...n ]
<update clause> ::=
Tuple_Expression[.VALUE]= New_Value
[
USE_EQUAL_ALLOCATION
| USE_EQUAL_INCREMENT
| USE_WEIGHTED_ALLOCATION [ BY Weight_Expression]
| USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
]
Аргументы
Cube_Name
Допустимое строковое выражение, возвращающее имя куба.Tuple_Expression
Допустимое многомерное выражение, возвращающее кортеж.New_Value
Допустимое числовое выражение.Weight_Expression
Допустимое числовое многомерное выражение, возвращающее десятичное значение от 0 до 1.
Замечания
Можно обновить значение указанной конечной или неконечной ячейки куба, по желанию размещая значение для указанной неконечной ячейки в зависимых конечных ячейках. Ячейка, указанная кортежным выражением, может представлять любую ячейку многомерного пространства (другими словами, ячейка необязательно должна быть конечной). Однако ячейка должна быть статистически вычислена с помощью агрегатной функции Sum и не должна содержать вычисляемый элемент в кортеже, с помощью которого указывается ячейка.
Можно рассматривать инструкцию UPDATE CUBE как подпрограмму, которая автоматически формирует последовательность отдельных операций обратной записи в конечные и неконечные ячейки, сводимые в указанную сумму.
В следующей таблице описываются различные способы размещения значений в концевых ячейках.
Способ размещения |
Описание |
|---|---|
USE_EQUAL_ALLOCATION |
В каждой конечной ячейке, которая участвует в обновлении ячейки, размещаются одинаковые значения в соответствии со следующим выражением. |
USE_EQUAL_INCREMENT |
Значение каждой конечной ячейки, которая участвует в обновлении ячейки, изменяется в соответствии со следующим выражением. |
USE_WEIGHTED_ALLOCATION |
В каждой конечной ячейке, которая участвует в обновлении ячейки, размещаются одинаковые значения в соответствии со следующим выражением. |
USE_WEIGHTED_INCREMENT |
Значение каждой конечной ячейки, которая участвует в обновлении ячейки, изменяется в соответствии со следующим выражением. |
Если выражение веса не указано, инструкция UPDATE CUBE неявно использует следующее выражение:
Weight_Expression = <leaf cell value> / <existing value>
Выражение веса должно быть отображено как десятичное значение от нуля (0) до 1. Оно определяет ту часть размещаемого значения, которую требуется присвоить конечным ячейкам, участвующим в размещении. Задачей программиста клиентского приложения является создание выражений, статистических значений, свертки которых будут равны размещаемому значению выражения.
Предупреждение
Клиентское приложение должно выполнять размещение во всех измерениях параллельно, чтобы избежать возможных непредвиденных результатов, в том числе неправильных значений свертки или несогласованности данных.
Каждое размещение UPDATE CUBE должно считаться элементарным в смысле транзакций. Это означает, что в случае сбоя при выполнении одной из операций размещения по какой-либо причине (например, вследствие ошибки в формуле или нарушения защиты), вся инструкция UPDATE CUBE завершается ошибкой. Перед обработкой вычислений отдельных операций размещения создается моментальный снимок данных, что обеспечивает правильность итоговых вычислений.
Предупреждение
При использовании для меры, содержащей целые значения, метод USE_WEIGHTED_ALLOCATION может возвращать неточные результаты, что обусловлено округлениями при приращениях.
Важно! |
|---|
Если обновленные ячейки не пересекаются, свойство строки подключения Update Isolation Level может быть использовано для повышения производительности инструкции UPDATE CUBE. |
См. также
Справочник
Другие ресурсы
Инструкции многомерных выражений для манипулирования данными (многомерные выражения)
Важно!