Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Вы обновляете куб с помощью инструкции 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 можно использовать свойство строки подключения Update Isolation Level. Дополнительные сведения см. в разделе ConnectionString.
Example
Вы можете протестировать UPDATE CUBE с помощью группы мер "Целевые показатели продаж" в кубе Adventure Works. Эта группа мер состоит из мер, агрегированных по функции SUM, что необходимо для UPDATE CUBE.
Включите обратную запись для группы мер "Целевые показатели продаж" в базе данных Adventure Works. В Management Studio щелкните правой кнопкой мыши на группу мер, наведите указатель мыши на Write Back Options, выберите «Включить обратную запись».
В папке "Обратная запись" должна появиться новая таблица. Имя таблицы — WriteTable_Fact квота продаж.
Откройте окно запроса MDX. Выполните следующую инструкцию select, чтобы просмотреть исходное значение:
SELECT [Measures].[Sales Amount Quota] on 0 , [Employee].[Employee Department].[Title].&[Sales Representative].children on 1 FROM [Adventure Works]Вы увидите квоты на объем продаж для каждого представителя.
Запустите оператор обновления куба для записи нового значения. В этом примере мы устанавливаем квоту на сумму продаж 0. Так как новое значение равно 0, не указывайте метод выделения.
UPDATE CUBE [Adventure Works] SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0Повторно запустите инструкцию SELECT. Теперь вы должны увидеть нулевые значения для квот.
Значение обратной записи ограничено текущим сеансом. Чтобы сохранить значение для пользователей и сеансов, обработайте таблицу обратной записи. В Management Studio щелкните правой кнопкой мыши WriteTable_Fact Sales Quota и выберите Процесс.
Чтобы указать метод выделения, новое значение должно быть больше нуля. В этом примере новое значение квоты объема продаж составляет два миллиона, а метод распределения распределяет сумму по всем представителям продаж.
UPDATE CUBE [Adventure Works]
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000
USE_EQUAL_ALLOCATION
Условия ошибки
В следующей таблице описывается и то, что может привести к сбою обратной записи, и результат этих ошибок.
| Условие ошибки | Result |
|---|---|
| Обновление включает элементы из того же измерения, которые не существуют друг с другом. | Обновление завершится ошибкой. Пространство куба не содержит ссылаемую ячейку. |
| Обновление включает параметр, который получен из параметра без знака. | Обновление не удастся. Приращения требуют, чтобы мера могла принимать отрицательное значение. |
| Обновление включает в себя меру, которая агрегирует значение, отличное от суммы. | Возникает ошибка. |
| Была предпринята попытка обновления подкуба. | Возникает ошибка. |
Влияние изменений куба
Следующие изменения не будут влиять на обратную запись:
Обработка куба, групп мер куба или измерений куба.
Добавление атрибутов в любое измерение.
Добавление нового измерения.
Удаление измерения, которое не поддерживает обратную запись.
Добавление, изменение или удаление иерархии.
Добавление новой меры.
Следующие изменения нельзя вносить, не удаляя данные обратной записи:
Удаление атрибута или его иерархии атрибутов, если атрибут включен в обратную запись. Это включает явное удаление атрибута или его иерархию атрибутов или удаление родительского измерения атрибута.
Удаление меры, включенной в обратную запись.
Добавление атрибута без уровня (все) в измерение, включенное в обратную запись.
Изменение детализации измерения для измерения, включенного в обратную запись.