Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetData - metoda obiektu PmaTrendGroup

Opis:
Zwraca zapisane dane w przedziale określonym parametrem vFilter. Według sposobu wytworzenia vFilter są zwrócona albo wszystkie dane albo wartości są wyfiltrowane, jeżeli jest wykorzystane filtrowanie przy pomocy AddFilter.

Metoda może zwracać także obliczoną wartość lub tablicę obliczonych wartości z danych odpowiednich dla określonego filtra, patrz określenie parametru sWhat.

Składnia:
Array GetData(String sWhat, Variant vFilter)
Wołanie:
arr = oTrend.GetData(sWhat, vFilter)
Parametry:
sWhat(String) Specyfikacja tego, co ma zostać zwrócone:
 
Można wprowadzić listę danych, których wartości mają zostać zwrócone:
- "a1;" lub "a1;a2;a3;" - Jeżeli ma zostać zwrócona tablica wartości z zakładki Dane. Jest konieczne zachowanie kolejności według kolejności w zakładce. Na przykład jeżeli dane w zakładce są w kolejności a1,a2,a3,..., wtedy w parametrze można wprowadzić na przykład "a1;a3;", lecz "a3;a1" jest już błędnym zapisem.
- "time;" - Jeżeli ma zostać zwrócona tablica czasów. Wybór czasu można zmodyfikować przez wprowadzenie "time:winter;", wtedy wszytkie wartości czasu zostaną zwrócone jako "czas zimowy", w innym przypadku będą jako "czas lokalny".
- "attr;" - Jeżeli ma zostać zwrócona tablica atrybutów rekodru.
- "*data;" - Oznacza wszystkie wartości z wyjątkiem czasu i atrybutu ("time;*data;" zwraca czas oraz wartości wszystkich danych).
- "*;" - Zwraca czas, atrybut oraz wartości wszystkich danych.
 
Można wprowadzić również funkcję obliczeniową, której rezultat ma zostać zwrócony. Funkcje można łączyć przy pomocy znaku ;, na przykład "avg(a1);min(a1)". Wspierane są następujące funkcje:
- "avg(xx)" - Metoda zwraca średnią zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter.
- "avg(xx;weighted)" - Metoda zwraca średnią ważoną zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter. Wagą wartości jest tu długość trwania tej wartości do czasu zapisu kolejnej wartości.
- "min(xx)" - Metoda zwraca wartość minimalną zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter.
- "max(xx)" - Metoda zwraca wartość maksymalną zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter.
- "sum(xx)" - Metoda zwraca sumę wszystkich wartości zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter.
- "count(xx)" - Metoda zwraca ilość wartości zmiennej xx z wartości spełających warunki filtrowania określone w filtrze vFilter.
 
Można wprowadzić tylko lista zmiennych albo funkcja obliczeniowa - lecz nie jednocześnie. Na przykład "avg(0);a1" jest BŁĘDNYM ZAPISEM.
vFilter(Variant) Wartość określająca na przykład czasowy zakres uzyskiwanych danych (czas od, czas do, ilość punktów, itd.), ewentualnie czy dane mają być filtrowane według wartości. Jest wytworzony przez wywołanie metod CreateFilter, AddFilter.
 
Filtr wartości (filtr dla poszczególnych wartości dodany przy pomocy metody AddFilter) będzie stosowany w następujący sposób:

Jeżeli w parametrze sWhat znajduje się lista zmiennych, wtedy mogłoby dojść do przypadków, że dla każdej wartości byłaby inna ilość wierszy (inna ilość zapisanych danych). Dlatego zostanie wykonany "przekrój wierszy" - tzn. zostaną zwrócone tylko te wiersze, które są wsólne dla wszystkich wartości.

Jeżeli w parametrze sWhat znajduje się funkcja obliczeniowa, wtedy poszczególne filtry są stosowane tylko do obliczenia tych danych i nie będą wpływać na obliczenia innych danych.

Wartość zwrotna:
Zwraca wymagane dane w formie 1- lub 2-wymiarowej tablicy danych lub zwraca wartość Empty, jeżeli takich danych nie ma lub jeżeli doszło do błędu.

Jeżeli w sWhat znajduje się funkcja do obliczenia, wtedy zwracana jest albo wartość prosta albo tablica 1-wymiarowa obliczonych wartości.

Notatka:
Wykonywać obliczenia statystyczne nad tablicą danych może także metoda Pm.ArrayOper.
Przykład:
Patrz przykłady w metodach CreateFilter oraz AddFilter
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice