PI OLEDB Providerを使用し、PI Data Archiveに直接つないでデータを取得すると、以下のテーブルで平均、積算、最大、最小、定間隔ヒストリデータなど取得できます。

[piarchive].[piavg]

[piarchive].[pitotal]

[piarchive].[pimax]

[piarchive].[pimin]

[piarchive].[piinterp2]

AFであってもDataテーブルによってこれらの値を取得することが可能です。

[Data].[ft_Summarize]  + SummaryType = 'Average'

[Data].[ft_Summarize]  + SummaryType = 'Total'

[Data].[ft_Summarize]  + SummaryType = 'Maximum'

[Data].[ft_Summarize]  + SummaryType = 'Minimum'

[Data].[ft_InterpolateRange] または [Data].[ft_InterpolateDiscrete]

 

ft_Summarizeテーブルのサンプルクエリは以下です。

SELECT ea.Name,data.Time, data.Value
  FROM [PI Big Tires Co].[Asset].[ElementHierarchy] eh
  INNER JOIN [PI Big Tires Co].[Asset].[ElementAttribute] ea ON ea.ElementID = eh.ElementID
  INNER JOIN [PI Big Tires Co].[Data].[ft_Summarize] data ON data.ElementAttributeID = ea.ID
  WHERE
  ea.Name = 'Internal Temperature'
  AND data.StartTime = 'y'
  AND data.EndTime = 't'
  AND data.TimeStep = '01:00:00' --1h
  AND data.SummaryType = 'Average'
  AND data.CalculationBasis = 'TimeWeighted'
AND data.TimeType = 'MostRecentTime'

PI SQL Commanderで実行してみると、以下のように昨日から今日にかけての1時間ごとの平均値が取得できます。

このように平均、積算、最大、最小などの演算データが取得可能です。

PI OLEDBの基本的な使い方については以下も参照してみてください。

PI OLEDB Provider/Enterpriseの使用方法(基礎)