A számítások követése

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 Smart View szolgáltatásban környezetfüggő követést használhat egyetlen cellaértéken.
    1. A Smart View szolgáltatásban kapcsolódjon egy olyan lekérdezés-laphoz, amelynél engedélyezte a számítás követését.
    2. Jelölje ki azt a cellát, amelynek számított értékét követni szeretné.
    3. Az Essbase lap Adatok paneljén kattintson a Számítás gombra, és válassza ki a végrehajtani kívánt számítási parancssort. A kijelölt adatcellában nézőpontból fogja látni a követési tagok futásidejű promptjait.
    4. Kattintson az Indítás lehetőségre a számítási parancssor végrehajtásához.

      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.

    5. Amikor véget ér a számítási parancsfájl, ellenőrizze a Számítás eredménye párbeszédpanelt, ahol láthatók a kijelölt adatcella számítás előtti és utáni eredményei.

      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.

  • Számítási parancsfájlokban használhatja a SET TRACE számítási parancsot azoknak az adatmetszéspontoknak a kijelöléséhez, amelyeket nyomon szeretne követni. A SET TRACE számítási parancs segítségével több adatcellát is követhet. Ezenfelül nyomonkövetheti a számítási parancssorok bizonyos szakaszait a 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.