หน้าเว็บ

วันจันทร์ที่ 17 พฤศจิกายน พ.ศ. 2557

MS SQL Server : Store Procedure คำนวนค่า Averag, Summary

แสดงวิธีการใช้Store ProcedureในMS SQL Serverเพื่อคำนวนค่าAverageและSummary แล้วนำมาใช้ใน ICONICS OPC UA Server

สมมุติมีตารางข้อมูลปกติที่ต้องการคำนวน Average

 

image

 

และต้องการนำข้อมูล Average ไปใส่ในตาราง A2 ซึ่งมีคอลัมน์ date_time (datetime) และ v (float) โดยเป็นค่า Average ทุก 30 นาที

เราจะสร้าง Store Procedure ดังนี้

CREATE PROCEDURE calAvg

AS

INSERT INTO A2

SELECT getdate() as dt

      ,AVG(v1) as avgKWH

  FROM [test].[dbo].[A1]

  where date_time between DATEADD(n,-30,getdate()) and getdate()

  Group by convert(varchar, date_time, 101)

GO

 

การนำStore Procedureไปใช้ใน ICONICS OPC UA Server

 

สร้าง OPC Configโดยใช้Driver = ODBC Client ไปยัง Store Procedureดังกล่าว  (วิธีการใช้งาน ICONCIS OPC UA)

แล้วใช้Unified Data Mining ส่งค่า 1 ไปยัง tag Execute ของOPC ที่สร้างไว้ทุกช่วง 30นาที

จะทำให้ข้อมูลถูกเก็บไปไว้ในตาราง A2 แบบค่า Average ทถุก 30 นาที

 

ส่วนกรณี SUM ด้วย Average ด้วยก็สามารถใช้

 

CREATE PROCEDURE calAvg

AS

INSERT INTO A2

SELECT getdate() as dt

      ,SUM(v1) as sumKWH, AVG(v1) as avgKWH

  FROM [test].[dbo].[A1]

  where date_time between DATEADD(n,-30,getdate()) and getdate()

  Group by convert(varchar, date_time, 101)

โดยตาราง A2 ต้องมี 3 คอลัมน์เพื่อเก็บ date_time, ค่าSum, ค่าavg ด้วยตามลำดับครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น