CALCSTATFUNCARR archIdent, bt_TmA, et_TmA, step, deepTime, statFuncIdent_Int, validPercIdent_Int, paramIdent, locVarColValueIdent_Rec, statusIdent_Int [,archivInstance_Int] |
| archIdent | in | Odkaz na jednu archívnu hodnotu alebo odkaz na ľubovoľný objekt, ktorého hodnoty sa archivujú. Upozornenie: Ak sa parameter odkazuje na objekt, ktorý je viacnásobne archivovaný, nie je určené, hodnoty ktorého archívneho objektu sa použijú pre akciu. |
| bt_TmA | in | Identifikátor typu AbsTime - začiatok intervalu. |
| et_TmA | in | Identifikátor typu AbsTime - koniec intervalu. |
| step | in | Identifikátor typu Int - časový krok [s]. Poznámka: hodnota parametra musí byť kladné číslo. |
| deepTime | in | Identifikátor typu Int - časová hĺbka [s] pre výpočet štatistiky. Poznámka: hodnota parametra musí byť kladné číslo. |
| statFunctIdent_Int | in | Identifikátor typu Int - typ štatistickej funkcie. |
| validPercIdent_Int | in | Identifikátor typu Int - validačné kritérium. |
| paramIdent | in | Identifikátor typu Int alebo Real - parameter pre niektoré typy funkcií. |
| locVarColValueIdent_Rec | out | Odkaz na stĺpec lokálnej premennej typu RECORD - výsledné hodnoty. |
| statusIdent_Int | out | Úspešnosť výpočtu. |
| archivInstance_Int | in | Nepovinný identifikátor typu Int - identifikácia inštancie archívu. Ak nie je uvedený, nahradí sa hodnotou 0. |
| Štatistická funkcia | Popis parametra | ||||||||
| _STAT_F_INTEGRAL | Časový rozmer vstupu. Pre jednotlivé typy sú taktiež zavedené preddefinované lokálne konštanty podľa tabuľky:
| ||||||||
| _STAT_F_GE_TIME _STAT_F_GT_TIME _STAT_F_LE_TIME _STAT_F_LT_TIME _STAT_F_ADDITION_PARAM _STAT_F_INCREMENT_PARAM _STAT_F_DELTA_PARAM | Referenčná hodnota |
Hodnota parametra archivInstance_Int udáva inštanciu archívu, ktorá realizuje požiadavku. Ak nie je uvedený (alebo má hodnotu 0) požiadavku realizuje aktívna inštancia archívu.
TIME _bt
TIME _et
INT _step
INT _deepTime
REAL _retCode
INT _idx
RECORD NOALIAS (SD.Data) _statData
_bt := %StrToTime("0:00:00 16-11-2006")
_et := %StrToTime("0:00:00 17-11-2006")
_step := 3600 ; hodnota pre každú hodinu
_deepTime := 2*_step ; plávajúci priemer, hĺbka 2 hodiny
CALCSTATFUNCARR H.Col[1], _bt, _et, _step, _deepTime, _STAT_F_WGAVG, 100, 0, _statData^Value, _retCode
IF _retCode = _ERR_NO_ERROR THEN
; výpočet prebehol, prezeranie hodnôt
FOR _idx=1 TO _statData\DIM DO_LOOP
; _statData[_idx]^Value - hodnota
ELSE
; nastala nejaká chyba
ENDIF |