Skip to main content
Adaptive Planning
Laatst bijgewerkt: 2024-12-13
Concept: kubusbladberekeningen moeten worden geëvalueerd naar nul

Concept: kubusbladberekeningen moeten worden geëvalueerd naar nul

Deze waarschuwing geeft aan dat uw kubusberekening wordt weergegeven als een fout in de blad . De fouten zorgen ervoor dat het kubusblad blijft presteren.

Hoe evalueren tot nul helpt

Beschouw het kubusblad als een eettafel en de cellen als stoelen aan de tafel. De host serveert eten op stoelen met borden. Op dezelfde manier voert een kubus de berekening niet uit wanneer formules verwijzing naar lege cellen. In plaats daarvan wordt de kubus berekend op nul of wordt er geen eten geserveerd.
Dit systeem werkt allemaal goed wanneer de rekening waarnaar wordt verwezen zich in dezelfde kubus bevindt. Maar wanneer de rekening waarnaar wordt verwezen zich niet in dezelfde kubus bevindt, weet de kubus niet wanneer deze moet worden geëvalueerd naar nul.
Het is alsof u de gastheer blinddoekt tijdens het diner. Als de gastheer eten moet serveren zonder te weten waar de borden zijn, verspilt de gastheer voedsel en energie. Evenzo, als de kubus elk intersectie moet doorzoeken om te weten wanneer deze moet worden geëvalueerd naar nul, belast dit de prestaties van het blad.
In plaats daarvan weigert de host de weergave. de kubus weigert ook te berekenen en retourneert in plaats daarvan fouten.

Berekeningen binnen hetzelfde kubusblad

In dit voorbeeld ziet u hoe berekeningen in kubusbladen werken wanneer u naar rekeningen binnen hetzelfde blad verwijzing .
  • ACCT.CubeCalc en ACCT.Cube_001 bestaan in hetzelfde kubusblad.
  • ACCT.Cube_001 is een rekening voor gegevensinvoer.
  • ACCT.CubeCalc heeft deze formule die verwijst naar de rekening: ACCT.Cube_001 * 5.
Rekening
Jan
Feb
ACCT.Cube_001
5
ACCT.CubeCalc
25
0
Omdat ACCT.Cube_001 geen gegevens voor februari heeft, wordt de kubusberekening geëvalueerd als 0.

Berekeningen met verwijzingen buiten de kubus

In dit voorbeeld ziet u hoe kubusberekeningen werken wanneer u naar rekeningen buiten het kubusblad verwijzing .
  • ACCT.CubeCalc verwijst naar ACCT.002, een grootboek dat zich buiten het kubusblad bevindt.
  • ACCT.CubeCalc bevat de volgende formule die verwijst naar het grootboek:
    div (ACCT.002, 2)
    .
Wanneer u de berekende rekening voor de kubus opslaat in
Modellering
, krijgt u de volgende foutmelding:
Kubusberekeningsformules moeten worden geëvalueerd naar nul
. De fout verhindert niet dat u het blad opslaat. Op het blad ziet u echter fouten in de cellen:
Rekening
Jan
Feb
ACCT.CubeCalc
Fout
Fout
De kubusberekening weet niet of er in januari of februari platen zijn voor ACCT.002, omdat die rekening niet op het kubusblad staat. In plaats van eten op elke mogelijke stoel te serveren - of naar elk mogelijk intersectie te zoeken - weigert de kubus het eten te serveren, wat betekent dat er een fout wordt geretourneerd.

Rekeningen in kubusbladen activeren

U kunt de fout als volgt oplossen:
  • Verwijs naar een andere rekening als rekening en voeg een voorwaarde
    isleeg
    toe aan de formule. U moet de syntaxis
    ACCT.rekeningcode
    gebruiken en
    rekeningcode
    vervangen door een geldige rekening in uw model. U kunt
    rekening.this
    niet gebruiken.
  • Voeg de grootboek of aangepaste rekening aan de kubus toe als aan een aan kubus toegevoegde rekening. ZieGrootboekrekeningen en aangepaste rekeningen toevoegen aan kubusbladen .
  • Maak een samengevoegd kubusblad, zodat er geen rekening meer nodig is. ZieConcept: samengevoegde kubusbladen .
Een trigger kan elke rekening op dezelfde kubus zijn, met uitzondering van metriek . De trigger vertelt de kubusberekening waar de verwachte platen zich in de tabel bevinden. Als u de fout voor de formule van ACCT,CubeCalc wilt verwijderen, werkt u deze als volgt bij:
  • Oude formule: div (ACCT.002, 2)
  • Nieuwe formule: if (isblank (ACCT.Cube_Trigger), 0, div (ACCT.002, 2))
De nieuwe formule zegt: Als de rekening
leeg is
, retourneert u een nul. Anders rekening de grootboek gedeeld door 2. U verwijdert nu de fouten uit het blad. De berekening werkt alleen als er een plaat in de trigger aanwezig is, zelfs als er gegevens in het grootboek staan:
Rekening
Jan
Feb
ACCT.CubeCalc
3500
0
ACCT.Cube_Trigger
1
Nadat u voor de trigger gegevens aan februari hebt toegevoegd, worden de gegevens in het grootboek gevonden en voor februari berekend.

Beperkingen voor kubusactiveringrekeningen

metriek voor kubussen werken niet als triggers. Kubusmetriekwaarden worden berekend op elk mogelijk intersectie in de kubus. Ze berekenen niet alleen alle mogelijke op laagste niveau , maar berekenen ook alle mogelijke permutaties van bovenliggend snijpunten.
Kubusmetriekwaarden dwingen een gastheer om het diner op een enorme omvang te serveren, zelfs als er maar een paar gasten aanwezig zijn. Wanneer een metriek 10 gasten ontvangt, worden 10.000 schalen met eten geserveerd.
Het gebruik van een metriek als trigger zou daarom onnodige spanning op het kubusblad veroorzaken.
Triggers kunnen over het algemeen stress aan het systeem toevoegen. Zorg ervoor dat u geen triggers toevoegt aan snijpunten die momenteel niet worden gebruikt.
Efficiënte triggers maken alleen de benodigde snijpunten. gegevensbron : gebruik een planning om triggers voor bepaalde dimensie te laden. Of gebruik historische combinaties om toekomstige waarden aan te geven.
verwijzing rekening niet hebben.