Funkcia %GroupAggregate


Popis

Funkcia pre každú hodnotu z vektora skupín vypočíta danú agregáciu nad tými hodnotami zdrojového vektora, ktorým prislúcha rovnaká skupina. Výstupný vektor má rovnaký rozmer a časy ako vektor skupín. Neplatné hodnoty v zdrojovom vektore sú v agregácii ignorované.

Deklarácia
VECTOR %GroupAggregate(
	INT		_aggrType,
	VECTOR	_groups,
	VECTOR	_source,
	VECTOR	_sourceGroups
)
Parametre
_aggrType

Typ agregácie.

_groups

Vektor skupín.

_source

Zdrojový vektor.

_sourceGroups

Vektor skupín zdrojového vektora.

Príklad
-- Vypočíta priemernú hodnotu pre každý deň v týždni za predchádzajúci rok z hodnôt vektora Vector.Src.
-- Výsledný vektor bude obsahovať 7 hodnôt, kde prvá hodnota bude priemer všetkých pondelkov minulého roka,
-- druhá hodnota bude priemer všetkých utorkov atď.

TIME _bt, _et, _srcBt, _srcEt;
VECTOR _v;

_et := %NextWeek(_BT) - 1;
_bt := %BeginWeek(_et);
_srcEt := %BeginYear(_bt) - 1;
_srcBt := %BeginYear(_srcEt);

_v := %GroupAggregate(
	%OP_Avg,
	%LoadVectorData("Calendar.DayOfWeek", _bt, _et, %STEP_Day),
	%LoadVectorData("Vector.Src", _srcBt, _srcEt, %STEP_Day),
	%LoadVectorData("Calendar.DayOfWeek", _srcBt, _srcEt, %STEP_Day)
);

RETURN _v;

Súvisiace stránky:

Napíšte komentár