Methoden voor het distribueren van waarden naar geconsolideerde celwaarden
Splasher-opdrachten die waarden terugschrijven naar geconsolideerde cellen, worden voorafgegaan door een hekje (#). In gebruik wordt de naam van elke splasher-opdracht afgekort tot een enkele letter, zoals C (Kopiëren) of L (Like).
Als een tekstwaarde wordt geschreven naar een cel die begint met een van die letters, of met het #-symbool of de volledige naam van een splasher-opdracht bevat, kan de waarde onjuist worden geparseerd als een splasher-opdracht. Als dit gebeurt, geeft de cel #REF!
weer.
Als de waarde die moet worden geschreven naar een cel altijd tekst is en nooit een datum of getal, kunt u dit probleem voorkomen door voor de waarde twee apostrofs te zetten. De eerste apostrof zorgt ervoor dat de tekenreeks niet wordt geïnterpreteerd als een getal of als datum of tijd. De tweede apostrof zorgt ervoor dat de tekenreeks niet wordt geïnterpreteerd als een splasher-opdracht.
Het probleem treedt alleen op met celwaarden, niet met celnotities of -kenmerken, bijvoorbeeld. Dit vindt alleen plaats als splashing is ingeschakeld.
Voorbeeld
C2019-20
naar een cel te schrijven.
=CELLWRITE("C2019-20","DEPM","BPCCONFIG_CYCLE","...
De C
wordt echter geïnterpreteerd als een COPY-opdracht en een #REF!
-fout wordt geretourneerd.
De toevoeging van twee apostrofs na de aanhalingstekens instrueert de analyse dat de waarde geen splasher-opdracht is en geen getal of datum:
=CELLWRITE("''C2019-20","DEPM","BPCCONFIG_CYCLE","...
Toewijzen en wijzigen
Voor iedere terugschrijfmethode kunt u aangeven of de waarden moeten worden toegewezen of gewijzigd.
Toewijzen vervangt de bestaande waarden. Als een cel bijvoorbeeld de waarde 1 bevat en u schrijft 2 naar de cel met de methode Toewijzen, wordt de waarde in de cel 2.
Met Wijzigen worden de bestaande waarden aangepast aan de waarde die u invoert. Als een cel bijvoorbeeld de waarde 1 bevat en u voert 2 in met de methode Wijzigen, wordt de waarde in de cel 3.
Wijzigingsopdrachten worden voorafgegaan door een ampersand (&).
Terugschrijfmethoden en -opdrachten
Standaard zijn terugschrijfmethoden additief - bestaande waarden worden op een aantal verschillende manieren vermeerderd. De standaardsyntaxis voor iedere terugschrijfmethode kan worden aangepast, bijvoorbeeld om de waarden te verminderen of een percentage te berekenen.
In deze sectie - met voorbeelden van de syntaxis voor Gewogen, Evenredig, Basis en Als - kan [waarde] worden voorafgegaan door het minteken (-) voor negatieve waarden. Waarden kunnen ook worden gevolgd door het procentteken (%) om een percentage te berekenen.
Syntaxis | Uitleg |
---|---|
&W20 | Bij de celwaarde wordt 20 opgeteld |
&W-20 | De celwaarde wordt met 20 verminderd |
&W5% | De celwaarde neemt toe met 5% |
Het plusteken (+) is impliciet, maar u kunt het expliciet maken (bijvoorbeeld &W+20). Iedere terugschrijfmethode biedt ondersteuning voor twee of drie soorten syntaxis. Bijvoorbeeld: #W[waarde]
en #@[waarde]
zijn gelijkwaardig. De voorbeelden die specifieke dimensies en elementnamen bevatten, zijn gebaseerd op de voorbeeldapplicatie.
Gewogen
De verhoudingen tussen de kindwaarden blijven behouden wanneer de waarde van de ouder toe- of afneemt.
Gewogen toewijzing: #W[waarde]
Als u bijvoorbeeld gebruikmaakt van de methode Gewogen toewijzing om een waarde naar een oudercel te schrijven die tweemaal de bestaande waarde is, wordt de waarde van ieder kind ook verdubbeld.
Gewogen wijziging: &W[waarde]
Als u bijvoorbeeld gebruikmaakt van de methode Gewogen wijziging om een waarde naar een oudercel te schrijven die tweemaal de bestaande waarde is, wordt de waarde van iedere kindcel verdubbeld en bij de bestaande waarde opgeteld.
Voorbeeld
De waarde van de oudercel is 9 en de waarde van iedere kindcel is 3. U schrijft 18 naar de oudercel en gebruikt de methode Gewogen wijziging. De waarde van iedere kindcel wordt verdubbeld en aan de bestaande waarde toegevoegd. De waarde voor iedere kindcel wordt dus 9. De waarde voor de oudercel wordt 27.
Evenredig
De waarden die u in oudercellen specificeert, worden ook op de kindcellen toegepast.
Evenredige toewijzing: #E[value]
De waarde die u in een oudercel invoert, vervangt de bestaande waarde en wordt evenredig over de kindcellen verdeeld.
Voorbeeld
Een oudercel heeft drie kindcellen. U schrijft 12 in de oudercel met de methode Evenredige toewijzing. De waarde voor iedere kindcel wordt dan 4.
Evenredige wijziging: &E[value]
De waarde die u in een oudercel invoert, wordt evenredig over de kindcellen verdeeld en bij de bestaande waarden opgeteld.
Voorbeeld
De waarde van de oudercel is 12. Er zijn drie kindcellen, ieder met de waarde 4. U schrijft 12 naar de oudercel en gebruikt de methode Evenredige wijziging. De waarde 12 wordt evenredig over alle kindcellen verdeeld en bij de bestaande waarde opgeteld. De waarde voor iedere kindcel wordt 8. De waarde voor de oudercel wordt 24.
Basis
De waarde die u naar een oudercel schrijft, wordt ook naar iedere kindcel geschreven. De waarde van de oudercel wordt bijgewerkt.
Basistoewijzing: #B[waarde]
De waarde die u naar een oudercel schrijft, wordt ook naar iedere kindcel geschreven. Hierbij wordt de bestaande waarde vervangen.
Voorbeeld
Een oudercel heeft drie kindcellen. U schrijft 2 in de oudercel met de methode Basistoewijzing. De waarde voor iedere kindcel wordt 2. De waarde voor de oudercel wordt 6.
Basiswijziging: &B[waarde]
De waarde die u naar een oudercel schrijft, wordt ook naar elke kindcel geschreven en opgeteld bij de bestaande waarde.
Voorbeeld
Een oudercel heeft drie kindcellen. De waarde van iedere kindcel is 2. De waarde van de oudercel is dus 6. U schrijft 2 naar de oudercel en gebruikt de methode Basiswijziging. De waarde 2 wordt naar elke kindcel geschreven en bij de bestaande waarde opgeteld. De waarde voor iedere kindcel wordt 4. De waarde voor de oudercel wordt 12.
COPY
U kunt waarden van het ene naar het andere kubusgebied kopiëren. U kunt bijvoorbeeld de werkelijke cijfers van een bepaald jaar kopiëren naar het budget van een ander jaar. In dit voorbeeld zijn de werkelijke cijfers de bron en is het budget het doel.
De opdracht COPY wordt in de doelcel geschreven. In de opdracht die u schrijft, geeft u alleen de dimensies en elementen op die verschillend zijn voor het brongebied en het doelgebied van de kubus. Als duidelijk is dat elementen tot een bepaalde dimensie behoren, hoeft u alleen de elementen op te geven.
Kopiëren - toewijzing: #C[Tuple]
Kopiëren - wijzigen: &C[Tuple]
Een tuple is het adres van een bepaald gebied van de database. In dit geval is de tuple het adres van de gegevens die u wilt kopiëren. Het gebruik van unieke elementnamen wordt aanbevolen, zodat u de tuple kunt specificeren.
Bij COPY met toewijzing wordt gebruikgemaakt van External Weighted Basic als OLAP-specifieke terugschrijfmethode wanneer de elementen van zowel de bron als het doel geconsolideerde elementen (C) of basiselementen (N) zijn. In het geval van C-elementen moet de structuur van de onderliggende elementen gelijk zijn. Dat houdt in dat de bron- en doelelementen dezelfde aantallen kinderen, onderliggende elementen enzovoort moeten hebben. In andere gevallen wordt de methode External Weighted gebruikt.
Bij COPY met wijzigen wordt External Weighted Delta gebruikt als terugschrijfmethode.
Voorbeelden
U wilt de werkelijke cijfers voor het vierde kwartaal van 2006 kopiëren naar het budget voor hetzelfde kwartaal. Selecteer de cel met de budgetcijfers voor het kwartaal en geef het volgende op:
#COPY [VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q4]
U wilt de werkelijke cijfers van Duitsland voor het derde kwartaal uit 2006 kopiëren naar het budget van Frankrijk voor het vierde kwartaal in 2006.
Selecteer de cel met het budget van Frankrijk voor het vierde kwartaal en geef het volgende op:
#COPY [REGION].[All Regions].[Europe].[Germany];[VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q3]
COPYFULL
Bij COPYFULL met toewijzing wordt gebruikgemaakt van de terugschrijfmethode External Weighted die specifiek is voor OLAP.
Bij COPYFULL met wijziging wordt gebruikgemaakt van External Weighted Delta.
Gegevenselementen
Microsoft Analysis Services biedt ondersteuning voor gegevenselementen. Een gegevenselement is een kopie van een ouderelement, maar zonder de status van een ouder. U kunt terugschrijven naar gegevensleden zonder de kindelementen te beïnvloeden.
Voorbeeld
U hebt een stafhiërarchie waarin de manager het ouderelement is. Als u het salaris van de manager gaat plannen, kunt u een waarde terugschrijven naar het gegevenselement Manager in plaats van het element Manager. Op deze manier heeft het salaris van het andere personeel geen invloed op (en wordt het ook niet beïnvloed door) het salaris van de manager.
LIKE
U kunt waarden aan de kindcellen van een geconsolideerde cel toewijzen met dezelfde verhoudingen als de waarden in de kindcellen van een andere geconsolideerde cel.
De opdracht Like wordt in de doelcel geschreven. In de opdracht die u schrijft, geeft u alleen de dimensies en elementen op die verschillend zijn voor het brongebied en het doelgebied van de database. Als duidelijk is dat elementen tot een bepaalde dimensie behoren, hoeft u alleen de elementen op te geven.
In terugschrijfopdrachten staat L voor Like.
LIKE - toewijzing: #L[waarde][Tuple]
LIKE - wijzigen: &L[waarde][Tuple]
Een tuple is het adres van een bepaald gebied van de database. In dit geval is de tuple het adres van het brongebied van de database.
Voorbeeld
De omzet voor het vierde kwartaal van 2005 in Spanje bedraagt 60. De cijfers voor de maanden zijn: oktober 10, november 20 en december 30.
Als u wilt zien wat de gevolgen zouden zijn van een omzet van 600 voor het eerste kwartaal in 2006 in Italië (met dezelfde verhoudingen als het vierde kwartaal van 2005 in Spanje), selecteert u de cel met de omzetcijfers van het eerste kwartaal voor Italië en typt u:
#L 600 [REGION].[All
Regions].[Europe].[Spain];[PERIOD].[All Years].[2005].[2005_Q4]
De omzet voor het eerste kwartaal in Italië wordt 600. De cijfers voor de verschillende maanden worden: januari 100, februari 200 en maart 300.
#delete
Als u alle waarden uit een deelselectie van de database wilt verwijderen, typt u #delete
in een cel met een terugschrijfformule (bijvoorbeeld: WBC).
LIKEFULL
LIKEFULL is een combinatie van LIKE en COPYFULL. Dat wil zeggen dat u een opgegeven waarde kunt terugschrijven, maar u moet hierbij External Weighted gebruiken als terugschrijfmodus. De syntaxis voor toewijzing is:
#LIKEFULL [waarde] [tuple]
Voor wijzigingen is de syntaxis als volgt:
#LIKEFULL [waarde] [tuple]
External Weighted Delta wordt gebruikt als terugschrijfmethode.