- Vytvoril D2000 Dev Team na okt 12, 2017
Hodnoty z archívu - funkcia D2_ArchArr
Efektívnejší prístup k archívnym hodnotám zo systému D2000 umožňuje funkcia D2_ArchArr.
D2_ArchArr
(archObjName, bt, et, step, attribute, bDirectionByRow, refresh)
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. |
bDirectionByRow | typ BOOL |
Časové usporiadanie buniek v matici. |
refresh | Nepovinný parameter. |
Niektoré vlastnosti poľa:
- Matica je súvislá oblasť jednej alebo viacerých buniek (vo všeobecnosti obdĺžniková).
- Výraz definujúci hodnotu buniek v matici je pre všetky bunky rovnaký.
- Zmenu výrazu v bunke je potrebné potvrdiť (ukončenie zmeny výrazu) kombináciou kláves CTRL+SHIFT+ENTER (Priamy dôsledok platnosti bodu 2 je ten, že MS Excel automaticky aktualizuje výrazy pre všetky bunky v aktuálnej matici).
- Vytvorenie matice je možné nasledovným postupom:
- Vyznačíme oblasť (skupinu buniek).
- Stlačíme klávesu F2 a následne zapíšeme do bunky potrebný výraz (napríklad =1).
- Editáciu výrazu ukončíme kombináciou kláves CTRL+SHIFT+ENTER.
Týmto sme založili maticu z vyznačených buniek. Výraz vo všetkých bunkách bude rovnaký.
- Výraz pre bunku, ktorá je v matici, je v "Riadku vzorcov" uzatvorený do zložených zátvoriek: .
- Vymazať pole je možné jedine ako celok. Treba vyznačiť všetky bunky v poli.
- Pri vyhodnocovaní buniek je výraz (pre všetky bunky rovnaký) vyhodnotený len 1 krát. Ak tento nadobudne hodnotu typu pole, hodnoty buniek v poli budú zodpovedať jednotlivým hodnotám v poli.
Funkcia vráti pole požadovaných atribútov archivovaných hodnôt (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 bDirectionByRow určuje časové usporiadanie buniek v matici. Má význam len pri maticiach, ktoré majú viac riadkov a zároveň viac stĺpcov. Pri hodnote TRUE (PRAVDA) sú hodnoty (usporiadané podľa času vzostupne) vkladané do buniek po riadkoch. V opačnom prípade sú hodnoty do buniek vkladané po stĺpcoch.
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 maticou, v ktorej sa nachádza.
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 v bunkách v závislosti od rozsahu matice a parametra bDirectionByRow nasledovné:
- Matica A1:A6, bDirectionByRow=FALSE alebo TRUE
- Matica A1:B3, bDirectionByRow=FALSE:
- Matica A1:B3, bDirectionByRow=TRUE:
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).
Pridať komentár