Praćenje izračuna

Upotrijebite Essbase praćenje izračuna kako biste dobili uvid u obradu formule članova, što će vam pomoći da ispravite pogreške i dotjerate svoje block storage izračunske skripte. Omogućite CALCTRACE za kontekstno praćenje izračuna u prikazu Smart View ili upotrijebite naredbu SET TRACE kako biste odabrali presjeke podataka koje želite pratiti.

Praćenje izračuna omogućava vam da pristupite zabilježenim podacima o izračunu nakon što se izračunska skripta uspješno izvrši za kocku.

Praćenje izračuna neće ni na koji način izmijeniti ponašanje izračuna. Ako se izračun pokreće u značajci Smart View, a administrator je omogućio praćenje izračuna na povezanom poslužitelju, Smart View će nakon pokretanja izračuna prikazati skočni dijaloški okvir s pojedinostima Podaci o praćenju izračuna mogu se iz skočnog dijaloškog okvira zalijepiti u uređivač teksta. Iste podatke možete pronaći i u datoteci calc_trace.txt koja se nalazi u direktoriju s datotekama baze podataka u servisu Essbase.

Podaci o praćenju izračuna mogu vam pomoći pri ispravljanju pogrešaka u izvršavanju izračunske skripte ako izračun nije dao očekivane rezultate.

Praćenje izračuna nije podržano u aplikacijama u kojima je omogućeno upravljanje scenarijom.

Želite li omogućiti praćenje izračuna, administrator najprije mora u konfiguraciji aplikacije uključiti parametar CALCTRACE. Nakon omogućavanja praćenja izračuna za aplikaciju, postoje dva načina na koji ga možete iskoristiti:

  • U pregledu Smart View možete upotrijebiti kontekstno praćenje za jednu vrijednost ćelije.
    1. U pregledu Smart View povežite list upita s aplikacijom za koju ste omogućili praćenje izračuna.
    2. Označite podatkovnu ćeliju čiju izračunatu vrijednost želite pratiti.
    3. Na ploči Podaci kartice Essbase pritisnite gumb Izračunaj i odaberite izračunsku skriptu za izvođenje. U odzivnicima izvođenja člana praćenja prikazat će se perspektiva vaše istaknute podatkovne ćelije.
    4. Za izvođenje izračunske skripte pritisnite Pokreni.

      Izračunat će se čitav opseg izračuna iz skripte, ali tijekom izračuna pratit će se samo kontekst istaknute podatkovne ćelije.

    5. Na kraju izračunske skripte provjerite dijaloški okvir Rezultat izračuna koji prikazuje rezultate u istaknutoj podatkovnoj ćeliji prije i poslije izračuna.

      Ako istaknuta podatkovna ćelija tijekom izračuna nije izmijenjena, prikazat će se poruka koja pokazuje da ćelija nije izmijenjena.

  • U izračunskim skriptama pomoću naredbe za izračun SET TRACE možete odabrati presjeke podataka za praćenje. SET TRACE omogućava praćenje više podatkovnih ćelija. Nadalje, dijelove izračunskih skripti možete pratiti kombinacijom naredbi SET TRACE mbrList (za prebacivanje praćenja izračuna na popis članova) i SET TRACE OFF (za onemogućavanje praćenja izračuna sve dok skripta ne naiđe na naredbu SET TRACE). Za upotrebu naredbe SET TRACE morate izvršiti izračunsku skriptu izvan prikaza Smart View, uz upotrebu alata Cube Designer, CLI naredbe calc, zadatka Pokretanje izračuna u Essbase web-sučelju ili značajke MaxL (naredba izvrši izračun).

Sljedeća izračunska skripta pokreće se na Sample Basic. Skripta sadrži naredbu SET TRACE koja traži bilježenje detaljnih informacija za sjecište podataka (ćeliju) koja predstavlja proračunsku prodaju u siječnju na kalifornijskom tržištu za proizvod s brojem SJ 100-10.

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;

Bilješka:

Naredba SET TRACEID također se preporučuje kako bi se spriječilo zapisivanje preko datoteke praćenja izračuna.

Sample Basic sadrži dvije sparse dimenzije: Product i Market. Formula člana je u Sales, članu dense dimenzije Measures. Popis članova naredbe FIX sadrži samo jedan sparse član, California, koji pripada dimenziji Market.

Broj postojećih blokova u opsegu naredbe FIX određuje koliko će se puta praćena ćelija izračunati. U ovom primjeru izračun prolazi kroz sve postojeće kombinacije sparse članova za California. Svaka od tih kombinacija predstavlja blok.

Kad se izračun dovrši, sljedeće informacije o praćenju zabilježit će se i prikazati u calc_trace_id042.txt:

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;
)

U zapisniku za praćenje izračuna dostupni su sljedeći uvidi u izvedbu izračuna za ćeliju koja je praćena:

  • Praćena ćelija izračunata je nekoliko puta, a vrijednost ćelije svaki je put zamijenjena novom vrijednošću (broj ažuriranja ćelije u izvješću zaustavlja se na 8).

  • Vrijednost ćelije prije izračuna iznosila je 840,00.

  • Za svaku pojavu izračuna prikazuju se ovisne vrijednosti i nove vrijednosti. Ovisne vrijednosti potječu iz formule člana u naredbi FIX.

  • Nakon dovršetka svih izračuna, konačna vrijednost praćene ćelije iznosi 9, ali predstavlja vrijednost proizvoda "400-20"->Kalifornija podijeljenog s 10.

  • Redci 91 - 93 u skripti izračuna koji sadrže formulu člana u Prodaja odgovorni su za ažurirane vrijednosti.

Za svaki obrađeni blok Sales se izračunava sljedećom formulom:

"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10

Formula sadrži sparse člana na lijevoj strani, zbog čega bi stvarni blok izračuna mogao biti drugačiji od početnog FIX bloka. Na primjer, ako izračun prolazi kroz "California" -> "100-20", izračuni se zapravo izvršavaju u "California" -> "100-10".

Unosi u zapisniku o praćenju pod nazivom Block from FIX scope i Actual block used in calculation ispisuju se samo ako postoji odstupanje između blokova u naredbi FIX i bloka koji je prisutan u formuli člana. Ovi unosi u zapisniku mogu pokazati zašto postoje duplicirani izračuni i omogućiti vam da pronađete pogreške u svojim izračunskim skriptama.