EDA_StatCalcFunctionRec
Funkcia vykoná výpočet EDA-L predpisu a na výsledných hodnotách spočíta vybranú štatistiku.
Deklarácia
%EDA_StatCalcFunctionRec(
INT in statType,
INT in vectorType,
TEXT in funcBody,
TIME in bt,
TIME in et,
INT/TEXT in period,
REC in params,
REAL out value,
INT out errorCode
);Parametre
| Parameter | Dátový typ | Typ | Popis |
|---|---|---|---|---|
1 | statType | INT | in | |
2 | vectorType | INT | in | |
3 | funcBody | TEXT | in | Predpis funkcie v EDA-L. |
4 | bt | TIME | in | Začiatok obdobia pre načítanie hodnôt. |
5 | et | TIME | in | Koniec obdobia pre načítanie hodnôt. |
6 | period | INT/TEXT | in | Perióda načítania hodnôt. |
7 | params | REC | in | Štruktúra voliteľných parametrov. |
8 | value | REAL | out | Výsledná hodnota. |
9 | errorCode | INT | out | Chybový (návratový) kód. |
Obsah štruktúry voliteľných parametrov verzie 1:
| Parameter | Dátový typ | Default | Popis |
|---|---|---|---|---|
1 | structVersion | INT | 1 | Verzia štruktúry - 1. |
2 | cacheId | INT | 0 | Identifikátor cache. |
3 | valueType | INT | 3 | |
4 | vectorPeriodBeginTime | TIME |
| Počiatočný čas, od ktorého sa aplikuje krok vektora (pre všeobecné periodické vektory). |
5 | vectorPeriodStepBase | INT |
| Veľkosť základného kroku periodického vektora (pre všeobecné periodické vektory). |
6 | vectorPeriodStepCount | INT |
| Počet základných krokov v jednej perióde vektora (pre všeobecné periodické vektory). |
7 | vectorPeriodTimeZone | INT |
| Offset časového pásma periódy vektora v sekundách. |
8 | isIntegral | BOOL | @FALSE | Príznak integrálnosti hodnôt. |
9 | viewRoundType | INT | 0 | |
10 | viewRoundDecPlaces | INT | 0 | Počet desatinných miest zaokrúhlenia. |
11 | useAbsValues | BOOL | @FALSE | Príznak použitia absolútnych hodnôt pre štatistiku. |
12 | userName | TEXT |
| Meno užívateľa. |
13 | version | INT/TEXT |
| Identifikátor (id/kód) verzie. |
14 | envName | TEXT |
| Názov EDA prostredia, ktoré sa použije pre výpočet. |
15 | paramBlockId | INT |
| Identifikátor bloku parametrov. |
Príklad použitia
INT _Stat_Sum = 0
INT _Stat_Min = 1
INT _Stat_Max = 2
INT _Stat_Avg = 3
BEGIN
INT _errorCode
TEXT _funcBody
TIME _bt, _et
REAL _value
RECORD NOALIAS (SD.EDA_StatCalcFunction_Params_V1) _params
_funcBody := "VEKTOR _v;" + %Chr(10)
_funcBody := _funcBody + "INT _i;" + %Chr(10)
_funcBody := _funcBody + "%CreateVektor(_v, _BT, _ET, _STEP);" + %Chr(10)
_funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + %Chr(10)
_funcBody := _funcBody + " _v[_i] := %Mod(_i + 4, 10) + 1;" + %Chr(10)
_funcBody := _funcBody + "END LOOP;" + %Chr(10)
_funcBody := _funcBody + "RETURN _v;"
_bt := %TimeFromItems(2015, 7, 10, 0, 0, 0, 0)
_et := %TimeFromItems(2015, 7, 10, 20, 0, 0, 0) - 1
_params[1]^structVersion := 1
; vypocita funkciu a z jej hodnot spravi priemer
CALL %EDA_StatCalcFunctionRec(_Stat_Avg, 7, _funcBody, _bt, _et, 0, _params, _value, _errorCode)
IF _errorCode != 0 | !_value\VLD | _value != 5.5 THEN
RETURN
ENDIF
END |
Súvisiace stránky: