<< Click to Display Table of Contents >> Navigation: Live > Widgets > Historical Chart > SQL Function as a Data Source > Charting Calculated Live Data |
The following SQL function may be used to chart calculated Live data in the Live Historical Chart widget:
IF OBJECT_ID(N'[equis].[Live_Pa_mH2O]') IS NOT NULL DROP FUNCTION [equis].[Live_Pa_mH2O]; GO
CREATE FUNCTION [equis].[Live_Pa_mH2O] ( @target_series_id INT ,@start_date DATETIME ) RETURNS @data TABLE ( datum_utc_dt DATETIME ,datum_value REAL ) AS BEGIN DECLARE @facility_id INT; DECLARE @logger_depth REAL; DECLARE @source_series_id INT; DECLARE @sys_loc_code VARCHAR(20);
SELECT @facility_id = COALESCE(s.facility_id, l.facility_id) ,@logger_depth = CAST(l.custom_field_2 AS REAL) ,@source_series_id = CAST(s.custom_field_1 AS INT) ,@sys_loc_code = COALESCE(s.sys_loc_code, l.sys_loc_code) FROM dt_logger_series s INNER JOIN dt_logger l ON s.logger_id = l.logger_id WHERE logger_series_id = @target_series_id;
INSERT INTO @data SELECT datum_utc_dt ,@logger_depth - equis.unit_conversion(datum_value, 'Pa', 'mH2O', DEFAULT) - equis.measure_datum(@facility_id, @sys_loc_code, datum_utc_dt) FROM dt_logger_datum WHERE datum_utc_dt >= @start_date AND logger_series_id = @source_series_id ORDER BY datum_utc_dt ASC;
RETURN END GO
|
---|
Notes: •This example uses the same calculation as the Data Computation Agent example here, however, it only charts the data; it does not add it to DT_LOGGER_DATUM. •This SQL function expects the "source" series' LOGGER_SERIES_ID to be in the "SQL function" series' CUSTOM_FIELD_1, and the logger depth to be in the "SQL function" series' logger's CUSTOM_FIELD_2. |
Copyright © 2023 EarthSoft, Inc • Modified: 26 Apr 2022