Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetData - metoda objektu PmTrend

Popis:
Zjištění uchovaných dat 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 veličin 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 veličin, jejíž hodnoty mají být vráceny:
- "a1;" nebo "a1;a2;a3;" - Pokud se má vrátit pole veličin ze záložky Data. Je nutno zachovat pořadí dle pořadí v záložce. Například pokud je pořadí veličin 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 veličiny mimo času a atributu ("time;*data;" vrací čas a všechny datové veličiny).
- "*;" - Vrací čas, atribut a všechny datové veličiny.
 
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 veličiny 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 veličiny 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 veličiny xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "max(xx)" - Metoda vrací maximální hodnotu veličiny xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "sum(xx)" - Metoda vrací součet všech hodnot veličiny xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
- "count(xx)" - Metoda vrací počet hodnot veličiny xx z hodnot splňujících filtrační podmínky dané filtrem vFilter.
 
Lze uvést pouze seznam veličin 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é veličiny přidaný metodou AddFilter) se bude aplikovat následujícím způsobem:

Pokud v parametru sWhat je seznam veličin, pak by nastal případ že pro každou veličinu 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 veličinám.

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

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