D2_ArchValue
Hodnoty z archívu - funkcia D2_ArchValue
Prístup k archívnym hodnotám zo systému D2000 umožňuje funkcia D2_ArchValue.
Deklarácia
D2_ArchValue
(target, archObjeName, bt, et, step, attribute, refresh) Parametre
target |
| Odkaz na jednoriadkovú alebo jednostĺpcovú oblasť určujúcu polohu hodnôt z archívu. |
archObjName | typ TEXT |
|
bt | typ ABS. ČAS | Počiatočný čas archívneho bloku. |
et | typ ABS. ČAS | Koncový čas archívneho bloku. |
step | typ INT | Časový krok [s] v rámci archívneho bloku. |
attribute | typ TEXT | Požadovaný atribút archívnej hodnoty. |
refresh |
| Nepovinný parameter. |
Popis
Funkcia vráti požadovaný atribút archivovanej hodnoty (parameter attribut – význam pozri funkciu D2_GetValue) daného archívneho objektu archObjName. Parametre bt, et určujú časový interval archívneho bloku a parameter step definuje prevzorkovanie hodnôt v archíve.
Parameter refresh má zhodnú úlohu, ako pri funkcii D2_GetValue.
Čas hodnoty z archívu je určený vzájomnou polohou bunky ktorá obsahuje volanie funkcie a blokom na ktorý odkazuje parameter target.
Blok musí byť jednoriadkový, alebo jednostĺpcový.
Jednoriadkový blok
Jednoriadkový (voliteľne viacstĺpcový) blok vymedzuje bunky, do ktorých je možné umiestniť funkciu D2_ArchValue ako obdĺžnik zhora ním ohraničený. Správne a nesprávne umiestnenie buniek znázorňuje nasledujúci obrázok (pre prehľadnosť je vo funkciách uvedený len parameter target):
Bunky C10, C11, C12, …, D10, D11, E10, E11, F10, F11, F12, … sú umiestnené nesprávne a bunky D12, D13, …, E12, E13, … sú umiestnené správne vzhľadom na blok D12:E12 (Target). Znak $ v odkaze na blok zaručí, že odkaz je absolútny (nie relatívny) a nebude pri kopírovaní buniek zmenený (prečíslovaný).
Vymedzením časového intervalu (bt, et) a kroku (step) dostaneme postupnosť archivovaných hodnôt usporiadaných vzostupne podľa času. Toto nám umožňuje jednotlivé hodnoty očíslovať vzostupne (podľa času) od 1. Závislosť medzi umiestnením funkcie (polohou bunky) D2_ArchValue a číslom (indexom) zaarchivovanej hodnoty znázorňuje nasledujúci obrázok:
Bunky, ktoré majú neprípustné umiestnenie, majú hodnotu invalid position (invalid target). V správne umiestnených bunkách je číslo (index) hodnoty, ktorá bude v skutočnosti zobrazená. Pri jednoriadkových blokoch sú bunky číslované od 1 (bunka v ľavom hornom rohu oblasti Target) postupne zľava doprava po riadkoch.
Príklad:
Ak sú parametre pre archívny blok napríklad:
BT = 10:00:00 1.1.2000
ET = 12:00:00 1.1.2000
STEP = 30*60 = 1800 (1/2 hodiny)
budú časy jednotlivých hodnôt nasledovné:
Číslo hodnoty | Čas hodnoty |
1 | 10:00:00 1.1.2000 |
2 | 10:30:00 1.1.2000 |
3 | 11:00:00 1.1.2000 |
4 | 11:30:00 1.1.2000 |
5 | 12:00:00 1.1.2000 |
6 | Hodnota je mimo žiadaného intervalu. |
Pre hodnoty, ktoré sú mimo žiadaný interval je návratová hodnota funkcie chyba: #Value (#Hodnota), alebo hodnota bunky s menom SUPP_NO_ARCH_DATA, ak existuje (pozri Preddefinované bunky).
Jednostĺpcový blok
Jednostĺpcový (voliteľne viacriadkový) blok vymedzuje bunky, do ktorých je možné umiestniť funkciu D2_ArchValue ako obdĺžnik zľava ním ohraničený. Správne a nesprávne umiestnenie buniek znázorňuje nasledujúci obrázok (pre prehľadnosť je vo funkciách uvedený len parameter target):
Bunky C10, D10, D10, …, C11, D11, E11, …, C12, C13, C14, C15, C16, D16, E16, … sú umiestnené nesprávne a bunky D12, E12, …, D13, E13, …, D15, E15, … sú umiestnené správne vzhľadom na blok D12:D15 (Target).
Závislosť medzi umiestnením funkcie (polohou bunky) D2_ArchValue a číslom (indexom) zaarchivovanej hodnoty znázorňuje nasledujúci obrázok: