Visual Studio SSRS 2008을 사용하여 SQL 데이터베이스에서 계산 된 데이터를 추출하려고합니다. 선택/from/where 문. 제가하려는 일 중 하나는 5 분마다 샘플을 24 시간 동안 (어제 오전 10시에서 오늘 오전 10 시까 지) 판매 한 평균 수의 BTU를 찾는 것입니다. 가스 밸브가 열려있을 때 밸브를 통과 할 때 가스 유량 값이있는 가스 플랜트에 대해보고합니다. 특정 개방 밸브를 통해 흐르는 가스의 평균값은 BTU 값입니다. 내가 아래에 내 현재 쿼리를 복사했는데 실패가있다,하지만 그것이 될 필요가 가까이에 있다고 생각합니다. 내가 값을 평균하려는 태그 이름은 아래에 언급 된 다른 두 태그 인 경우> 0Visual Studio SSRS 2008에서 SQL을 사용하여 여러 조건문에 평균 함수를 사용하는 방법
SET NOCOUNT ON
DECLARE @StartDate DateTime
DECLARE @EndDate DateTime
SET @StartDate = DateAdd(HOUR,-24,GetDate())
SET @EndDate = GetDate()
SET NOCOUNT OFF
SELECT case when temp.Value > 0 and temp2.value > 0 then AVG(Value where tagname ='DTE_BTU') end AS 'AvgDTEBTU'
From (
SELECT *
FROM History
WHERE History.TagName IN ('PGPOL_ProdVlv')
AND wwRetrievalMode = 'Cyclic'
AND wwCycleCount = 288
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate)as temp join
(SELECT * FROM History
WHERE History.TagName IN ('DTE_C_SCFM')
AND wwRetrievalMode = 'Cyclic'
AND wwCycleCount = 288
AND wwVersion = 'Latest'
AND DateTime >= @StartDate
AND DateTime <= @EndDate)as temp2 on temp.DateTime = temp2.DateTime
WHERE temp.StartDateTime >= @StartDate and temp2.StartDateTime >= @StartDate
이 작업을 수행 할 때 반환되는 데이터 행이 단지 temp 및 temp2 값의 평균을 나타낼 것으로 예상됩니까? 또한 PGPOL_ProdVlv 및 DTE_C_SCFM과 비교할 때 DTE_BTU에서 사용할 값을 어떻게 알 수 있습니까? 나는 3 명 모두가 역사표에 있다고 가정하고 있습니까? –
다른 2 개의 태그가> 0 인 지난 24 시간 동안의 DTE_BTU 태그 값의 평균 인 단일 값을 기대합니다.temp 및 temp2 값을 계산에 사용하지 않고 두 조건이 모두> 0인지 확인하기 위해 조건부에만 사용합니다. DTE_BTU 값은 temp 값이> 0 인 동안 5 분마다 수집됩니다. 예, 그들은 모두 역사표에 있습니다. 고맙습니다. – singledee