Promotic

CreateFilter - metoda objektu PmaTrendGroup

Popis:
Vytvoří hodnoty filtru rozsahu pro další metody.
Voláním metody se vytvoří hodnota s parametry dotazu pro metodu GetData.
Syntaxe:
Variant CreateFilter(Date tFrom, Long nFromType, Date tTo, Long nToType, Long nPoints)
Parametry:
tFrom(Date) Počáteční čas od.
Pokud se zadá hodnota -1, pak není použito a rozsah je zadán jen parametry tTo a nPoints.
nFromType(Long) Typ počátečního času od
1 - tFrom je "lokální čas" ("zimní čas" v zimním období a "letní čas" v letním období, odpovídá času počítače podle místního nastavení systému Windows)
2 - tFrom je "zimní čas" (v letním i v zimním období)
10 - Nejstarší čas. V parametru tFrom se zadává hodnota -1.
tTo(Date) Koncový čas do.
Pokud se zadá hodnota -1, pak není použito a rozsah je zadán jen parametry tFrom a nPoints.
nToType(Long) Typ koncového času do
1 - tTo je "lokální čas" ("zimní čas" v zimním období a "letní čas" v letním období, odpovídá času počítače podle místního nastavení systému Windows)
2 - tTo je "zimní čas" (v letním i v zimním období)
11 - nejnovější čas. V parametru tTo se zadává hodnota -1.
nPoints(Long) Maximální počet bodů.
Pokud se zadá hodnota -1, pak nPoints je nastaven na hodnotu z konfigurátoru "Maximální počet bodů trendu (jedné proměnné) v jedné zpravě".
Pokud jsou zadány parametry tFrom, tTo a nPoints různé od -1, pak vytvořený dotaz bude vracet množinu bodů v čase od tFrom do tTo, ale maximálně nPoints bodů.
Poznámka:
Parametry tFrom, tTo lze vytvořit voláním metody GetDateOf. Takto lze například zadat v metodě GetDateOf nějaký čas jako vstupní parametr a zjistit časy tak, že tFrom, tTo určují například začátek (čas 00:00) a konec (čas 24:00) dne, do kterého patří tento zadaný čas.
Viz také:
Příklad1:
Zjistí trendovaná data v časovém rozsahu <aktuální čas - 1 hodina, aktuální čas>. Hodnoty časů budou v poli aTime a hodnoty proměnné a1 budou v poli aData.
JavaScriptVBScriptVyber a zkopíruj do schránky

var tNow, vFilter, aTime, aData;
tNow = Pm.Time;
vFilter = oTrend.CreateFilter(tNow - 1 / 24, 1, tNow, 1, -1);
aTime = oTrend.GetData("time", vFilter);
aData = oTrend.GetData("a1", vFilter);

if (Pm.IsValid(aTime))
{
Pm.Debug("Čas první hodnoty je " + aTime.GetItem(0));
Pm.Debug("Hodnota proměnné a1 v tomto čase je " + aData.GetItem(0));
}
Příklad2:
Zjistí trendovaná data v rozsahu 1000 bodů před aktuálním časem. Hodnoty dat budou ve 2-rozměrném poli aData.
JavaScriptVBScriptVyber a zkopíruj do schránky

var vFilter, aData;
vFilter = oTrend.CreateFilter(-1, 0, Pm.Time, 1, 1000);
aData = oTrend.GetData("time;attr;a1;a2;", vFilter);

if (Pm.IsValid(aData))
{
Pm.Debug("Čas první hodnoty je " + aData.GetItem(0, 0));
Pm.Debug("Hodnota atributu v tomto čase je " + aData.GetItem(1, 0));
Pm.Debug("Hodnota proměnné a1 v tomto čase je " + aData.GetItem(2, 0));
Pm.Debug("Hodnota proměnné a2 v tomto čase je" + aData.GetItem(3, 0));
}
© MICROSYS, spol. s r.o.