Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetData - metoda objektu PmTrend

Popis:
Vrací uchovaná data v zadaném rozsahu zadaným parametrem vFilter. Dle způsobu vytvoření vFilter jsou buď vrácena všechna data nebo jsou hodnoty filtrovány, pokud je použito filtrování pomocí AddFilter.

Metoda může vracet i spočítanou hodnotu nebo pole vypočtených hodnot z hodnot proměnných vyhovujících zadanému filtru, viz zadání parametru sWhat.

Syntaxe:
GetData(sWhat As String, vFilter As Variant) As Array
Volání:
arr = oTrend.GetData(sWhat, vFilter)
Parametry:
sWhat(String) Specifikace co se má vrátit:
 
Lze zadat seznam proměnných, jejíž hodnoty mají být vráceny:
- "a1;" nebo "a1;a2;a3;" - Pokud se má vrátit pole proměnných ze záložky Data. Je nutno zachovat pořadí dle pořadí v záložce. Například pokud je pořadí proměnných v záložce a1,a2,a3,..., pak v parametru lze zadat například "a1;a3;", ale "a3;a1" je chybně.
- "time;" - Pokud se má vrátit pole časů. Volbu času lze pozměnit zadáním "time:winter;", a tehdy se vrátí všechny hodnoty času jako "zimní čas", jinak jako "lokální čas".
- "attr;" - Pokud se má vrátit pole atributů věty.
- "*data;" - Znamená všechny proměnné mimo času a atributu ("time;*data;" vrací čas a všechny datové veličiny).
- "*;" - Vrací čas, atribut a všechny datové proměnné.
 
Lze také zadat funkci pro výpočet, jejíž výsledné hodnoty mají být vráceny. Funkce lze zřetězovat pomocí znaku ;, například "avg(a1);min(a1)". Jsou podporovány následující funkce:
- "avg(xx)" - Metoda vrací průměrnou hodnotu proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "avg(xx;weighted)" - Metoda vrací váženou průměrnou hodnotu proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter. Váhou hodnoty je zde délka jejího trvání do doby uložení následující hodnoty.
- "min(xx)" - Metoda vrací minimální hodnotu proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "max(xx)" - Metoda vrací maximální hodnotu proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "sum(xx)" - Metoda vrací součet všech hodnot proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "count(xx)" - Metoda vrací počet hodnot proměnné xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
 
Lze uvést pouze seznam proměnných nebo funkce pro výpočet - ne však zároveň. Například "avg(0);a1" je ŠPATNĚ.
vFilter(Variant) Hodnota určující například časový rozsah získávaných dat (čas od, čas do, počet bodů, atd.), případně zda data mají být filtrována dle hodnoty. Je vytvořen voláním metod CreateFilter, AddFilter.
 
Hodnotový filtr (filtr pro jednotlivé proměnné přidaný metodou AddFilter) se bude aplikovat následujícím způsobem:

Pokud v parametru sWhat je seznam proměnných, pak by nastal případ že pro každou proměnnou by byl jiný počet řádku (jiný počet uložených hodnot). Provede se proto "průnik řádků" - tzn. vrátí se pouze řádky, které jsou společné všem proměnným.

Pokud v parametru sWhat je funkce pro výpočet, pak se hodnotové filtry pro jednotlivé proměnné budou aplikovat pouze na výpočet těchto proměnných a nebudou ovlivňovat výpočet jiných proměnných.

Vrácená hodnota:
Vrací žádaná data jako 1- nebo 2-rozměrné pole hodnot nebo vrací Empty, pokud taková data nejsou nebo pokud došlo k nějaké chybě.

Pokud v sWhat je funkce pro výpočet, pak se vrací buď jednoduchá hodnota nebo 1-rozměrné pole spočítaných hodnot.

Poznámka:
Statistické výpočty nad polem dat umí také metoda Pm.ArrayOper.
Příklad:
Viz příklady v metodách CreateFilter a AddFilter
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice