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.