Promotic

AddFilter - metoda obiektu PmaTrendGroup

Opis:
Do istniejącego filtra doda filtr do filtracji wartości jednej danej. Metoda musi być wywołana zawsze po wywołaniu metody CreateFilter, która określa zakres czasu zapytania. Metodę można wywoływać powtórnie i wytworzyć w ten sposób kilka filtrów dla jednej lub kilku danych (dla jednej danej można wytworzyć najwyżej dwa filtry). Filtr, który jest wytworzony przez wywołanie metody CreateFilter i powtarzane wywołanie metody AddFilter jest następnie przekazany do metody GetData.
Składnia:
Variant AddFilter(Variant vFilter, String sTrend, String sFilterType, Double nVal1)
Parametry:
vFilter(Variant) Wartość filtra wytworzona przez wywołanie metody CreateFilter, ewentualnie zmieniona przy pomocy metody AddFilter.
sTrend(String) Nazwa zmiennej (patrz karta "Dane") dla której ma być wytworzony filtr.
sFilterType(String) Typ filtra, określa sposób sprawdzania wartości zmiennej.
"gt" - Wartość zmiennej jest zgodna z filtrem, jeżeli jest większe niż wartość w parametrze vVal1.
"ge" - Wartość zmiennej jest zgodna z filtrem, jeżeli jest większe lub równe niż wartość w parametrze vVal1.
"le" - Wartość zmiennej jest zgodna z filtrem, jeżeli jest mniejsze lub równe niż wartość w parametrze vVal1.
"lt" - Wartość zmiennej jest zgodna z filtrem, jeżeli jest mniejsze niż wartość w parametrze vVal1.
nVal1(Double) Wartość, względem której są sprawdzane wartości zmiennej
Przykład1:
Stwierdzi trendowane dane w przedziale czasu <czas bieżący - 1 godzina, czas bieżący>.
Trendowane dane są filtrowane oraz zwrócone w formie macierzy danych tylko z wartościami czasu i danych a1,a2, gdzie zmienna a1 znajduje się w zakresie od 30 do 70.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var tNow, vFilter, aData;
tNow = Pm.Time;
vFilter = oTrend.CreateFilter(tNow -1 / 24, 1, tNow, 1, -1);
vFilter = oTrend.AddFilter(vFilter, "a1", "lt", 70);
vFilter = oTrend.AddFilter(vFilter, "a1", "gt", 30);
aData = oTrend.GetData("time;a1;a2", vFilter);

if (Pm.IsValid(aData))
{
Pm.Debug("Czas pierwszej wartości wynosi " + aData.GetItem(0, 0));
Pm.Debug("Wartość zmiennej a1 w tym czasie wynosi " + aData.GetItem(1, 0));
Pm.Debug("Wartość zmiennej a2 w tym czasie wynosi " + aData.GetItem(2, 0));
}
Przykład2:
Są zwrócone obliczone wartości, które są zwrócone w tablicy wartości według kolejności wprowadzenia w metodzie GetData.
Obliczenie przebiega nad wszystkimi danymi w przedziale czasu według ustawienia w metodzie CreateFilter.
Dane nie są filtrowane według wartości.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var tNow, vFilter, aData;
tNow = Pm.Time;
vFilter = oTrend.CreateFilter(tNow -1 / 24, 1, tNow, 1, -1);
aData = oTrend.GetData("avg(a1);avg(a1;weighted);min(a1);count(a1);avg(a2);avg(a2;weighted);min(a2);count(a2)", vFilter);

if (Pm.IsValid(aData))
{
Pm.Debug("Średnie wartości zmiennych a1,a2 wynoszą " + aData.GetItem(0) + "; " + aData.GetItem(4));
Pm.Debug("Ważone średnie zmiennych a1,a2 wynoszą " + aData.GetItem(1) + "; " + aData.GetItem(5));
Pm.Debug("Minimalne wartości zmiennych a1,a2 wynoszą " + aData.GetItem(2) + "; " + aData.GetItem(6));
Pm.Debug("Ilości wartości zmiennych a1,a2 wynoszą " + aData.GetItem(3) + "; " + aData.GetItem(7));
}
Przykład3:
Są zwrócone obliczone wartości, które są zwrócone w tablicy wartości według kolejności wprowadzenia w metodzie GetData.
Obliczenie przebiega nad danymi w przedziale czasu według określenia w metodzie CreateFilter i są filtrowane według wartości według filtra metody AddFilter.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var tNow, vFilter, aData;
tNow = Pm.Time;
vFilter = oTrend.CreateFilter(tNow -1 / 24, 1, tNow, 1, -1);
vFilter = oTrend.AddFilter(vFilter, "a1", "lt", 70);
vFilter = oTrend.AddFilter(vFilter, "a1", "gt", 30);
aData = oTrend.GetData("avg(a1);avg(a1;weighted);min(a1);count(a1);avg(a2);avg(a2;weighted);min(a2);count(a2)", vFilter);

if (Pm.IsValid(aData))
{
Pm.Debug("Średnie wartości zmiennych a1,a2 wynoszą " + aData.GetItem(0) + "; " + aData.GetItem(4));
Pm.Debug("Średnie ważone zmiennych a1,a2 wynoszą " + aData.GetItem(1) + "; " + aData.GetItem(5));
Pm.Debug("Minimalne wartości zmiennych a1,a2 wynoszą " + aData.GetItem(2) + "; " + aData.GetItem(6));
Pm.Debug("Ilości wartości zmiennych a1,a2 wynoszą " + aData.GetItem(3) + "; " + aData.GetItem(7));
}
© MICROSYS, spol. s r. o.