Modyfikowanie danych MDX — używanie zapisów zwrotnych w kostce

Dotyczy: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Aktualizujesz kostkę, używając instrukcji UPDATE CUBE. Ta instrukcja umożliwia aktualizowanie krotki o określoną wartość. Aby skutecznie użyć instrukcji UPDATE CUBE w celu zaktualizowania modułu, musisz zrozumieć składnię instrukcji , warunki błędu, które mogą wystąpić, oraz wpływ aktualizacji na moduł.

UPDATE CUBE: składnia instrukcji

Poniższa składnia opisuje instrukcję 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>] ]   

** Jeśli dla krotki nie określono pełnego zestawu współrzędnych, nieokreślone współrzędne będą używać domyślnego członka hierarchii. Zidentyfikowana krotka musi odwoływać się do komórki agregowanej z funkcją Sum i nie może używać członka obliczeniowego jako jednej ze współrzędnych komórki.

Instrukcję UPDATE CUBE można traktować jako procedurę pomocniczą, która generuje serię pojedynczych operacji zapisu zwrotnego do komórek atomowych. Wszystkie te poszczególne operacje zapisu zwrotnego następnie sumują się do określonej sumy.

Uwaga / Notatka

Gdy zaktualizowane komórki nie nakładają się na siebie, właściwość ciągu połączenia Update Isolation Level może być używana do zwiększenia wydajności dla UPDATE CUBE. Aby uzyskać więcej informacji, zobacz ConnectionString.

Example

Moduł UPDATE MOŻNA przetestować przy użyciu grupy miar Sales Targets (Cele sprzedaży) w module Adventure Works. Ta grupa miar składa się z miar zagregowanych przez sumę, co jest wymaganiem dla modułu UPDATE CUBE.

  1. Włącz zapisywanie zwrotne dla grupy miar Sales Targets w bazie danych Adventure Works. W programie Management Studio kliknij prawym przyciskiem myszy grupę miar, wskaż polecenie Opcje zapisu zwrotnego, wybierz pozycję Włącz zapisywanie zwrotne.

    W folderze Writeback powinna zostać wyświetlona nowa tabela zapisywania zwrotnego. Nazwa tabeli to WriteTable_Fact Kwota Sprzedaży.

  2. Otwórz okno zapytania MDX. Uruchom następującą instrukcję select, aby wyświetlić oryginalną wartość:

    SELECT [Measures].[Sales Amount Quota] on 0 ,  
    [Employee].[Employee Department].[Title].&[Sales Representative].children on 1  
    FROM [Adventure Works]  
    
    

    Powinny zostać wyświetlone limity przydziału kwoty sprzedaży dla każdego przedstawiciela.

  3. Uruchom instrukcję aktualizacji kostki, aby zapisać nową wartość. W tym przykładzie ustawiamy limit przydziału kwoty sprzedaży na 0. Ponieważ nowa wartość to 0, nie należy określać metody alokacji.

    UPDATE CUBE [Adventure Works]   
    SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0  
    
    
  4. Uruchom ponownie instrukcję SELECT. Teraz dla limitów powinno być widoczne zero.

Wartość writeback jest ograniczona do bieżącej sesji. Aby utrwalić wartość między użytkownikami i sesjami, przetwórz tabelę zapisu zwrotnego. W programie Management Studio kliknij prawym przyciskiem myszy WriteTable_Fact Sales Quota i wybierz Proces.

Aby określić metodę alokacji, nowa wartość musi być większa niż zero. W tym przykładzie nowa wartość limitu przydziału kwoty sprzedaży wynosi dwa miliony, a metoda alokacji dystrybuuje kwotę dla wszystkich przedstawicieli sprzedaży.

UPDATE CUBE [Adventure Works]   
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000   
USE_EQUAL_ALLOCATION  

Warunki błędu

W poniższej tabeli opisano zarówno, co może spowodować niepowodzenie zapisywania zwrotnego, jak i wynik tych błędów.

Warunek błędu Wynik
Aktualizacja zawiera członków z tego samego wymiaru, którzy nie współistnieją. Aktualizacja zakończy się niepowodzeniem. Przestrzeń kostki nie będzie zawierać komórki odniesienia.
Aktualizacja obejmuje miarę pochodzącą z miary typu bez znaku. Aktualizacja zakończy się niepowodzeniem. Przyrosty wymagają, aby miara mogła przyjąć wartość ujemną.
Aktualizacja zawiera miarę, która agreguje dane w sposób inny niż poprzez sumowanie. Zgłaszany jest błąd.
Aktualizacja została podjęta na podcube. Zgłaszany jest błąd.

Wpływ zmian kostki

Następujące zmiany nie będą miały wpływu na zapisywanie zwrotne:

  • Przetwarzanie modułu, grup miar modułu lub wymiarów modułu.

  • Dodawanie atrybutów do dowolnego wymiaru.

  • Dodawanie nowego wymiaru.

  • Usuwanie wymiaru, który nie zawiera zapisywania zwrotnego.

  • Dodawanie, modyfikowanie lub usuwanie hierarchii.

  • Dodawanie nowej miary.

Nie można wprowadzić następujących zmian bez usuwania danych zapisywania zwrotnego:

  • Usunięcie atrybutu lub jego hierarchii atrybutów, jeśli atrybut jest uwzględniony w zapisywaniu zwrotnym. Obejmuje to jawne usunięcie atrybutu lub jego hierarchii atrybutów lub usunięcie wymiaru nadrzędnego atrybutu.

  • Usuwanie miary zawartej w zapisie zwrotnym.

  • Dodawanie atrybutu, który nie ma poziomu (wszystkie), do wymiaru, który jest uwzględniony w zapisie zwrotnym.

  • Zmiana stopnia szczegółowości wymiaru dla wymiaru uwzględnionego w zapisie zwrotnym.

Zobacz też

Modyfikowanie danych (MDX)