WinTr scada historical tagları kontrol panelinde belirtilen periyotda kaydeder. Scada rapor modülü ile bu verilerden oluşan raporlar yapabilirsiniz. Bu raporları pdf veya excel olarak kaydedebilirsiniz. Kayıt periyotu kısa olduğunda raporda çok fazla satır olabilir. Bilgisayarın böyle bir raporu oluşturması uzun sürebilir. Büyük raporlar alınması gereken durumlarda aynı bilgisayar içersinde iki farklı scada projesi çalıştırılabilir. Ana scada projesinin haricinde yalnızca rapor için ayrı bir scada projesi daha hazırlayabiliriz. Böylece uzun sürecek rapor işleminde ana scada projemiz normal çalışmasına devam edecektir.

Diğer bir yol ise yüzde parametresi ile oluşturulan rapordaki veri sayısını azaltmaktır. WinTr scada rapor modülünde oluşturulan sorgunun sonuna “% 50 = 0″ bu şekilde yüzde parametresini girebilirsiniz. 50 yerine bir tag’da yazabilirsiniz “% ‘Tag_1′ = 0″

Bu yazıda asıl anlatmak istediğim ise saat başı verilerinin getirilmesidir. Bu model ile başlangıç ve bitiş tarihleri arasında her saat için bir veri getirilebilir. Aynı şekilde her dakika,ay,yıl içinde benzer bir sorgu oluşturabilirsiniz. Aşağıdaki sorguyu scada rapor modülünde çalıştırdığınızda belirtilen tarih aralığındaki her saatin ilk verisini getirir. Min yerine Max etiketini kullanarak her saatin en son değerini getirir. Ortalaması için AVG etiketi gibi daha bir çok matematiksel işlemler yaptırabilirsiniz.

SELECT

a.[DateTime],a.[Shift1LineABillets],a.[Shift1LineBBillets],a.[Shift2LineABil

lets],a.[Shift2LineBBillets],a.[Shift3LineABillets],a.[Shift3LineBBillets]

FROM Table1 As a

INNER JOIN (SELECT DateAdd(hh, DateDiff(hh, 0, DateTime), 0) As the_hour ,

Min(DateTime) As latest_record FROM Table1

WHERE [DateTime] >= ’4/18/2012 10:19:28  AM’ And [DateTime] <  ’4/18/2012 10:19:28  PM’

GROUP BY DateAdd(hh,DateDiff(hh, 0, DateTime), 0) )As b

ON a.DateTime = b.latest_record

Başlangıç bitiş zamanlarını tag değerinden almak için Where satırı aşağıdaki gibi olmalıdır.

WHERE [DateTime] >= ‘ReportStartDate’ And [DateTime] < ‘ReportEndDate’