Konzept: Berechnungen in Cube-Tabellenblättern müssen 0 ergeben
Diese Warnung zeigt an, dass Ihre Cube-Berechnung in der Tabellenblattansicht als Fehler dargestellt wird. Die Fehler stellen sicher, dass das Cube-Tabellenblatt weiterhin funktioniert.
Hilfreich der Evaluierung von „Null“.
Stellen Sie sich das Cube-Tabellenblatt als Abendessenstabelle und die Zellen als Plätze neben der Tabelle vor. Der Host sorgt für Essenspausen mit Essenspausen. Ebenso führt ein Cube die Berechnung nicht durch, wenn Formeln leere Zellen referenzieren. Stattdessen wird der Cube auf 0 berechnet oder es werden keine Berechnungen durchgeführt.
Dieses System funktioniert gut, wenn sich das referenzierte Konto im selben Cube befindet. Wenn sich das referenzierte Konto jedoch nicht im selben Cube befindet, weiß der Cube nicht, wann er zu 0 evaluiert werden soll.
Das ist, als würde dem Wirt beim Essen die Augen verbunden. Wenn ein Wirt Essen geben muss, ohne zu wissen, wo sich die Essenspausen befinden, verschwendet er Essen und Energie. Wenn der Cube jeden Schnittpunkt durchsuchen muss, um zu wissen, wann er mit 0 evaluiert werden soll, wird die Performance des Tabellenblatts beeinträchtigt.
Stattdessen lehnt der Host die Zahlung ab. Ebenso lehnt der Cube die Berechnung ab und gibt stattdessen Fehler zurück.
Berechnungen innerhalb desselben Cube-Tabellenblatts
Dieses Beispiel zeigt, wie Berechnungen in Cube-Tabellenblättern funktionieren, wenn Sie Konten innerhalb desselben Tabellenblatts referenzieren.
- ACCT.CubeCalc und ACCT.Cube_001 befinden sich im selben Cube-Tabellenblatt.
- ACCT.Cube_001 ist ein Konto für Dateneingabe.
- ACCT.CubeCalc hat diese Formel, die das Cube-Konto referenziert: ACCT.Cube_001 * 5.
Konto | Jan | Feb |
|---|---|---|
ACCT.Cube_001 | 5 | |
ACCT.CubeCalc | 25 | 0 |
Da ACCT.Cube_001 keine Daten für Februar enthält, wird die Cube-Berechnung als 0 evaluiert.
Berechnungen mit Referenzen außerhalb des Cubes
Dieses Beispiel zeigt, wie Cube-Berechnungen funktionieren, wenn Sie Konten außerhalb des Cube-Tabellenblatts referenzieren.
- ACCT.CubeCalc referenziert ACCT.002, ein Hauptbuch außerhalb des Cube-Tabellenblatts.
- ACCT.CubeCalc hat diese Formel, die das Hauptbuch referenziert:div (ACCT.002, 2).
Wenn Sie das berechnete Cube-Konto in
„Modellierung“
speichern, wird der folgende Fehler angezeigt: Cube-Berechnungsformeln müssen zu 0 evaluieren sein
. Der Fehler hindert Sie nicht daran, das Tabellenblatt zu speichern. Im Tabellenblatt sehen Sie jedoch Fehler in den Zellen:Konto | Jan | Feb |
|---|---|---|
ACCT.CubeCalc | Fehler | Fehler |
Die Cube-Berechnung weiß nicht, ob im Januar oder Februar für ACCT.002 Tabellen vorhanden sind, da sich dieses Konto nicht im Cube-Tabellenblatt befindet. Anstatt Essen an jedem möglichen Platz zu geben oder nach jeder möglichen Schnittmenge zu suchen, lehnt der Cube die Ausgabe von Essen ab, was bedeutet, dass ein Fehler zurückgegeben wird.
Triggern Sie Konten in Cube-Tabellenblättern
Um den Fehler zu beheben, haben Sie folgende Möglichkeiten:
- Referenzieren Sie ein anderes Cube-Konto als Trigger-Konto und fügen Sie zur Formel eine„Ist leer“-Bedingung hinzu. Sie müssen die SyntaxACCT.account_codeverwenden undaccount_codedurch einen gültigen Kontocode in Ihrem Modell ersetzen. Sie könnenaccount.thisnicht verwenden.
- Fügen Sie das Hauptbuch- oder benutzerdefinierte Konto als Konto mit Cube-Eingabe zum Cube hinzu. Siehe: Hauptbuch- und benutzerdefinierte Konten zu Cube-Tabellenblättern hinzufügen.
- Erstellen Sie ein zusammengeführtes Cube-Tabellenblatt, für das kein Trigger-Konto erforderlich ist. Siehe: Konzept: Zusammengeführte Cube-Tabellenblätter.
Ein Trigger kann ein beliebiges Konto im selben Cube sein, ausgenommen Cube-Metrikkonten. Der Trigger teilt der Cube-Berechnung mit, wo sich die erwarteten Scheiben in der Tabelle befinden. Um den Fehler für die Formel von ACCT,CubeCalc zu entfernen, aktualisieren Sie ihn wie folgt:
- Alte Formel: div (ACCT.002, 2)
- Neue Formel: if (isblank (ACCT.Cube_Trigger), 0, div (ACCT.002, 2))
Die neue Formel besagt: Wenn das Trigger-Konto
leer ist
, wird 0 zurückgegeben. Andernfalls teilen Sie das Hauptbuch-Konto durch 2. Jetzt entfernen Sie die Fehler aus dem Tabellenblatt. Die Berechnung funktioniert nur, wenn eine Quelle im Trigger vorhanden ist, auch wenn Daten im Hauptbuch vorhanden sind: Konto | Jan | Feb |
|---|---|---|
ACCT.CubeCalc | 3500 | 0 |
ACCT.Cube_Trigger | 1 |
Sobald Sie Daten für den Trigger zu Februar hinzugefügt haben, sucht die Berechnung nach den Daten im Hauptbuch und berechnet sie für Februar.
Einschränkungen für Cube-Trigger-Konten
Cube-Metrikkonten funktionieren nicht als Trigger. Cube-Metriken werden an jedem möglichen Schnittpunkt innerhalb des Cubes berechnet. Sie berechnen nicht nur an allen möglichen Leaf-Schnittpunkten, sondern auch an jeder möglichen Perposition der übergeordneten Schnittpunkte.
Cube-Metriken zwingt einen Host, sehr große Mengen an Abendessen zuzubereiten, auch wenn nur wenige Gäste teilnehmen. Wenn mit einer Cube-Metrik 10 Gäste empfangen werden, werden 10.000 Teller Essen ausgegeben.
Daher würde die Verwendung einer Metrik als Trigger das Cube-Tabellenblatt unnötig beeinträchtigen.
Trigger können im Allgemeinen das System zusätzlich belasten. Achten Sie darauf, keine Trigger zu Schnittpunkten hinzuzufügen, die aktuell nicht verwendet werden.
Effiziente Trigger erstellen nur die erforderlichen Schnittpunkte. Beispiel: Verwenden Sie eine Planning-Datenquelle, um Trigger für bestimmte Dimensionswerte zu laden. Oder verwenden Sie historische Kombinationen, um zukünftige Werte anzugeben.