Az Essbase számításkövetés segítségével betekintést nyerhet a tagképletek feldolgozásába, ami segít a hibakeresésben, valamint a blokktárolós számítási parancsfájlok finomításában. Engedélyezze a CALCTRACE lehetőséget a környezetfüggő Smart View számításkövetéshez, vagy használja a SET TRACE parancsot a követni kívánt adatmetszetek kiválasztásához.
Ha a számítási parancsfájl sikeresen lefutott a kockán, a számítás-nyomkövetés segítségével megtekintheti a számítások naplózott adatait.
A számítás-nyomkövetés nem módosítja a számítás működését. Ha a Smart View szolgáltatásban elindul egy számítás, és a csatlakoztatott kiszolgálóban az adminisztrátor engedélyezte a számítás-nyomkövetést, a Smart View szolgáltatás a számítás után egy részleteket tartalmazó párbeszédpanelt jelenít meg. A számítás-nyomkövetés adatai a párbeszédpanelből beilleszthetők egy szövegszerkesztőbe. Ezeket az információkat emellett az Essbase szolgáltatásban, az adatbázisfájlok könyvtárában is megtalálhatja, a calc_trace.txt fájlban.
A számítás-nyomkövetés adatai segítenek a számítási parancsfájlok végrehajtásával kapcsolatos hibák megkeresésében, amennyiben a számítás eredménye nem felel meg az elvártaknak.
A forgatókönyv-kezelésre engedélyezett alkalmazások nem támogatják a számítás-nyomkövetést.
A számítás-nyomkövetés engedélyezéséhez az adminisztrátornak előbb be kell kapcsolnia a CALCTRACE alkalmazáskonfigurációs paramétert. Amikor a számítás követése engedélyezett az alkalmazásban, kétféle képpen használhatja ezt ki:
A parancsfájlban megadott számítások teljes hatóköre ki lesz számítva, de a számítás során csak a kijelölt adatcella kontextusa lesz nyomon követve.
Ha a kijelölt adatcella nem lett módosítva a számítás közben, megjelenik egy üzenet, amely szerint a cella nem lett módosítva.
SET TRACE mbrList (ez bekapcsolja a számítás nyomkövetését egy taglistában) és a SET TRACE OFF (ez mindaddig kikapcsolja a számítás nyomkövetését, amíg egy új SET TRACE parancsot nem érzékel) kombinációjával. Azonban a SET TRACE parancs használatához a számítási parancsfájlt a Smart View szolgáltatáson kívül kell végrehajtani, a Cube Designer, a CLI calc parancs, az Essbase webes felületén egy Számítás futtatása feladat, vagy a MaxL (számítás végrehajtása utasítás) segítségével.Most lefuttatjuk a következő számítási parancsfájlt a Sample Basic kockán. A parancsfájl tartalmaz egy SET TRACE parancsot, amely részletes információk naplózását kéri arra az adatmetszéspontra (cellára), amely a 100-10 cikkszámú termékre vonatkozó, a januári költségvetésben szereplő, a kaliforniai piacon lebonyolítandó eladásokat képviseli.
SET TRACEID "id042"
SET TRACE ("100-10", "California", "Jan", "Sales", "Budget");
FIX("California", "Budget")
"Sales" (
"100-10" = @MEMBER(@CONCATENATE(@NAME(@PARENT("Product")), "-20")) / 10;
);
ENDFIX;
Megjegyzés:
A SET TRACEID parancs szintén javasolt, hogy megakadályozza a számításkövetési fájlja felülírását.A Sample Basic kockához két kis adatsűrűségű dimenzió tartozik: a Termék és a Piac. A tagképlet a nagy adatsűrűségű Mérőszámok dimenzió egyik tagjára, a Értékesítés elemre vonatkozik. A FIX utasítás taglistája csak egy kis adatsűrűségű tagot tartalmaz: ez a Kalifornia, amely a Piac dimenzióhoz tartozik.
A FIX utasítás hatókörében szereplő blokkok száma határozza meg, hogy a rendszer hányszor számítja ki a nyomon követett cellát. Ebben a példában a számítás végigmegy a Kalifornia elem összes létező kis adatsűrűségű tagkombinációján. Ezek a kombinációk egy-egy blokkot képviselnek.
A számítás befejezését követően a rendszer a következő naplózott nyomkövetési adatokat jeleníti meg a calc_trace_id042.txt fájlban:
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 1)
Previous value: 840.00
Dependent values:
[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 2)
Block from FIX scope: [100-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values:
[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 3)
Block from FIX scope: [200-10][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values:
[200-20][California][Jan][Sales][Budget] = 520.00
New value: [100-10][California][Jan][Sales][Budget] = 52.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
[...calc iterations 4-7 are omitted from example...]
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 8)
Block from FIX scope: [400-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 9.00
Dependent values:
[400-20][California][Jan][Sales][Budget] = 90.00
New value: [100-10][California][Jan][Sales][Budget] = 9.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
A számítás-nyomkövetési napló a következő információkkal szolgál a nyomon követett cella kiszámításának módjáról:
A nyomon követett cellát a rendszer több alkalommal számította ki, és a cella értékét minden alkalommal felülírta egy új értékkel (a kimutatás tárgyát képező cella frissítésszámlálója 8-nál megáll).
A cella számítás előtti értéke 840.00.
A rendszer megmutatja az egyes számítási lépésekhez tartozó függő értékeket és új értékeket. A függő értékek a FIX utasításban található tagképletből származnak.
A nyomon követett cella végső értéke az összes számítás befejezése után 9, de a "400-20"->Kalifornia termék értékét 10-zel elosztva mutatja.
Ez a módosított érték a számítási parancsfájl 91-93. sora, azaz az Értékesítés elemre vonatkozó tagképlet következtében alakult ki.
A számítás végighaladt a blokkokon, és minden alkalommal az alábbi képletet alkalmazta az Értékesítés kiszámítására:
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10
A képlet bal oldali része egy kis adatsűrűségű tagot tartalmaz, amely ahhoz vezethet, hogy a tényleges számítási blokk a kezdeti FIX blokktól eltérő lesz. Előfordulhat például, hogy amikor a számítás végighalad a "California”->"100-20" blokkon, a rendszer valójában a "California"->"100-10" blokkon végzi el a számításokat.
A rendszer csak akkor használja a FIX területről származó blokk és a Számításhoz használt tényleges blokk című nyomkövetésinapló-bejegyzéseket, ha a FIX utasításban szereplő blokkok és a tagképletben szereplő blokkok nem egyeznek meg. Ezek a naplóbejegyzések például segíthetnek fényt deríteni a duplikált számítások okára, így támogatást nyújtanak a számítási parancsfájlokon végzett hibakeresésben.