Promotic
WikipediaLinkedInYoutubeTwitterFacebook

CreateFilter - metoda objektu PmTrend

Popis:
Vytvoření hodnoty filtru rozsahu pro další metody. Voláním metody se vytváří hodnota s parametry dotazu pro metodu GetData.
Syntaxe:
CreateFilter(tFrom As Date, nFromType As Long, tTo As Date, nToType As Long, nPoints As Long) As Variant
Volání:
vFilter = oTrend.CreateFilter(tFrom, nFromType, tTo, nToType, 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 dle místního nastavení)
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 dle místního nastavení)
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 nastaveno na hodnotu z konfigurátoru Maximální počet bodů trendu (jedné veličiny) 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 generovat voláním metody GetDateOf. Takto lze například zadat 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:
Zjištění trendovaných dat v časovém rozsahu <aktuální čas - 1 hodina, aktuální čas>. Hodnoty časů budou v poli aTime a hodnoty veličiny a1 budou v poli aData.
Dim vFilter, tNow, aData, aTime
tNow = Now
vFilter = oTrend.CreateFilter(tNow-1/24, 1, tNow, 1, -1)
aTime = oTrend.GetData("time", vFilter)
aData = oTrend.GetData("a1", vFilter)
If Pm.IsValid(aTime) Then
  Pm.Debug "Čas první hodnoty je " & aTime(0)
  Pm.Debug "Hodnota veličiny a1 v tomto čase je " & aData(0)
End If
Příklad2:
Zjištění trendovaných dat v rozsahu 1000 bodů před aktuálním časem. Hodnoty dat budou v 2-rozměrném poli aData.
Dim vFilter, aData
vFilter = oTrend.CreateFilter(-1, 0, Now, 1, 1000)
aData = oTrend.GetData("time;attr;a1;a2;", vFilter)
If Pm.IsValid(aData) Then
  Pm.Debug "Čas první hodnoty je " & aData(0,0)
  Pm.Debug "Hodnota atributu v tomto čase je " & aData(1,0)
  Pm.Debug "Hodnota veličiny a1 v tomto čase je " & aData(2,0)
  Pm.Debug "Hodnota veličiny a2 v tomto čase je " & aData(3,0)
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice