Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
U werkt een kubus bij met behulp van de instructie UPDATE CUBE . Met deze instructie kunt u een tuple bijwerken met een specifieke waarde. Als u de INSTRUCTIE UPDATE CUBE effectief wilt gebruiken om een kubus bij te werken, moet u de syntaxis voor de instructie begrijpen, de foutvoorwaarden die kunnen optreden en de invloed die updates op een kubus kunnen hebben.
UPDATE CUBE Statement Syntax
De volgende syntaxis beschrijft de UPDATE CUBE-statement:
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>] ]
Als er geen volledige set coördinaten is opgegeven voor de tuple, gebruiken de niet-opgegeven coördinaten het standaardlid van de hiërarchie. De tuple die wordt geïdentificeerd, moet verwijzen naar een cel die is samengevoegd met de functie Som en mag geen berekend lid gebruiken als een van de coördinaten van de cel.
U kunt de UPDATE CUBE-instructie beschouwen als een subroutine waarmee een reeks afzonderlijke writebackbewerkingen naar atomische cellen wordt gegenereerd. Al deze afzonderlijke write-backbewerkingen worden vervolgens samengeteld in de opgegeven som.
Opmerking
Wanneer bijgewerkte cellen elkaar niet overlappen, kan de verbindingsreekseigenschap Isolatieniveau worden gebruikt om de prestaties voor UPDATE CUBE te verbeteren. Zie ConnectionString voor meer informatie.
Example
U kunt UPDATE CUBE testen met behulp van de maateenheidgroep Verkoopdoelen in de kubus Adventure Works. Deze maateenheidgroep bestaat uit metingen die zijn geaggregeerd door SUM. Dit is een vereiste voor UPDATE CUBE.
Schakel terugschrijven in voor de maateenheidgroep Verkoopdoelen in de Adventure Works-database. Klik in Management Studio met de rechtermuisknop op een maateenheidgroep, wijs Opties voor terugschrijven aan en kies Writeback inschakelen.
U ziet nu een nieuwe write-back-tabel in de map Writeback. De tabelnaam is WriteTable_Fact Verkoopquotum.
Open een MDX-queryvenster. Voer de volgende select-instructie uit om de oorspronkelijke waarde weer te geven:
SELECT [Measures].[Sales Amount Quota] on 0 , [Employee].[Employee Department].[Title].&[Sales Representative].children on 1 FROM [Adventure Works]Je zou verkoopbedragquota voor elke vertegenwoordiger moeten zien.
Voer de instructie updatekubus uit om een nieuwe waarde terug te schrijven. In dit voorbeeld stellen we het quotum voor de verkoophoeveelheid in op 0. Omdat de nieuwe waarde 0 is, moet u geen toewijzingsmethode opgeven.
UPDATE CUBE [Adventure Works] SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0Voer de SELECT-instructie opnieuw uit. U zou nu nul moeten zien voor de quota's.
De waarde voor terugschrijven is beperkt tot de huidige sessie. Als u de waarde tussen gebruikers en sessies wilt behouden, verwerkt u de terugschrijftabel. Klik in Management Studio met de rechtermuisknop op WriteTable_Fact Verkoopquotum en kies Proces.
Als u een toewijzingsmethode wilt opgeven, moet de nieuwe waarde groter zijn dan nul. In dit voorbeeld is de nieuwe waarde voor het quotum voor verkoopbedrag twee miljoen en de toewijzingsmethode verdeelt het bedrag over alle verkoopvertegenwoordigers.
UPDATE CUBE [Adventure Works]
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000
USE_EQUAL_ALLOCATION
Foutvoorwaarden
In de volgende tabel wordt beschreven wat ervoor kan zorgen dat write-backs mislukken en het resultaat van deze fouten.
| Foutvoorwaarde | Resultaat |
|---|---|
| Update bevat leden van dezelfde dimensie die niet met elkaar bestaan. | Bijwerken mislukt. De kubusruimte bevat niet de cel waarnaar wordt verwezen. |
| Update bevat een waarde die is afkomstig van een waarde van een ongetekend type. | Update zal mislukken. Voor incrementen is vereist dat de meting een negatieve waarde kan aannemen. |
| Update bevat een maatstaf die iets anders dan een som gebruikt voor aggregatie. | Er wordt een fout gegenereerd. |
| De update werd geprobeerd op een subcube. | Er is een fout opgetreden. |
Invloed van kubuswijzigingen
De volgende wijzigingen hebben geen effect op een write-back:
Verwerking van een kubus, de maateenheidgroepen van de kubus of de afmetingen van de kubus.
Kenmerken toevoegen aan een dimensie.
Een nieuwe dimensie toevoegen.
Het verwijderen van een dimensie die geen write-back bevat.
Een hiërarchie toevoegen, wijzigen of verwijderen.
Een nieuwe meting toevoegen.
De volgende wijzigingen kunnen niet worden aangebracht zonder de terugschrijfgegevens te verwijderen:
Het verwijderen van een kenmerk of de bijbehorende kenmerkhiërarchie, indien het kenmerk is opgenomen in de write-back. Dit omvat het expliciet verwijderen van het kenmerk of de bijbehorende kenmerkhiërarchie of het verwijderen van de bovenliggende dimensie van het kenmerk.
Een meting verwijderen die is opgenomen in de writeback.
Een kenmerk zonder (Alle) niveau toevoegen aan een dimensie die is opgenomen in de writeback.
De granulariteit van de dimensie wijzigen voor een dimensie die is opgenomen in de writeback.