Prístup k hodnotám z archívu

Prístup k hodnotám z archívu umožňujú funkcie D2_ArchValue, D2_ArchArr a D2_CalcStatFunc. Rozdiel medzi prvou a druhou funkciou je v efektívnosti prenosu hodnôt medzi rozhraním D2000 WorkBook a MS Excel-om.

MS Excel pri získavaní každej hodnoty z archívneho bloku prostredníctvom prvej funkcie volá rozhranie D2000 WorkBook. Toto môže byť pri väčšom počte hodnôt v archívnom bloku značne neefektívne.

Druhá funkcia je priamo spätá z tzv. matica. Pojem matica (pole v terminológii MS Excel) definuje MS Excel ako súvislú oblasť buniek s rovnakým zapísaným výrazom, ... (bližšie pozri dokumentáciu MS Excel). Z pohľadu rozhrania D2000 WorkBook je pole výhodná práve pre spôsob výpočtu hodnôt jednotlivých buniek. Tento je charakteristický tým, že ak výraz v bunke obsahuje funkciu, ktorá nadobúda hodnotu typu Pole hodnôt, táto bude zavolaná pre vyhodnotenie len jeden krát. Táto vlastnosť výrazne zmenšuje počet volaní rozhrania D2000 WorkBook.


Za účelom optimalizácie rozhranie D2000_WorkBook ukladá do pamäte (cache) hodnoty získavané čítaním archívu. Preto ak už čítanie bolo raz vykonané, pri novej požiadavke na čítanie s rovnakými parametrami sa použijú predtým načítané údaje. Toto je nutné z dôvodu, že MS Excel v ľubovoľnom okamihu je schopný vynútiť prepočet buniek a z časového hľadiska je neúnosné vybaviť požiadavky na čítanie priamo znovunačítaním z archivu. Ak čítanie určitého bloku dát z pamäti (cache) neprebehlo do 2 minút, D2000_WorkBook tento blok automaticky z pamäte vymaže a pri novej požiadavke na takýto blok, tento skutočne bude načítaný z archívu.

Nevýhodou takéhoto ukladania a čítania z pamäte je, že po určitom čase sa môze vyskytnúť rozdiel medzi skutocnym obsahom archivu a datami v pamäti (cache).

Napíšte komentár