2016-07-06 2 views
0

스크린 샷은 다음과 같습니다. 하나는 내 데이터 세트를 보여줍니다. 두 번째는 내가 계산하려고하는 것을 보여줍니다. 하루에 우물당 기록이 하나 있습니다. 하루 동안 우물물이 얼마나 많은 시간 동안 내려 왔는지 알려주는 가동 중단 시간대가 있습니다. 가동 중단 시간 = 24 인 연속적인 가동 중단 시간을 계산하고 싶습니다. 가동 중단 시간이 24 시간 이하로 떨어지는 시간이 기록에 도달하면 계산을 중지하고 null을 반환 한 다음 가동 중지 시간 = 24.Spotfire - 연속 가동 중단 시간을 카운트하십시오.

그런 다음 연속 된 가동 중단 일이 60 일 이상인 날짜 블록을 확인하여 주어진 달에 중단되지 않은 우물 수를 셀 수 있도록해야합니다. 우물에 3 개월에 걸친 연속적인 가동 중단 시간이 60 일있는 경우, 해당 달 3 회의 우물 수에서 우물을 제거 할 것입니다. 여기 Screen shot 2

+0

시도하고 다시 스크린 샷 데이터 세트를 추가 할 수 있습니까? 나는 그것을 보지 않는다. 감사. – scsimon

+0

두 번째 스크린 샷을 볼 수 없습니다 – jleviaguirre

+0

샘플 데이터 세트를 첨부 할 수 있습니까? – scsimon

답변

0

Screen shot 1

원하는 결과를 달성해야한다 연속적인 순서로 입력 한 계산 된 열의 문자열입니다. 더 적은 총 열 수로 끝나기를 원하면이 중 일부를 결합 할 수 있습니다. 또한이 칼럼을 단일 웰 샘플 데이터 세트에 기반을 두었습니다. 그러나 하나 이상의 웰이있을 것이라고 생각합니다. 따라서 고유 한 ID를 필요에 따라 이상 진술에 통합해야합니다. 이 입력되어

DowntimeFlag = If([DownHours]=24,1,0) 
DowntimeFlagCompare = SN(Avg([DowntimeFlag]) over (Previous([Date])),If([Date]=Min([Date]),if([DowntimeFlag]=1,1,0))) 
ResetCounterFlag = If(([DowntimeFlag]<>[DateFlagCompare]) and ([DowntimeFlag]=1),1,If([Date]=Min([Date]),if([DowntimeFlag]=1,1,0),0)) 
CumResetCounter = Sum([ResetCounterFlag]) over (AllPrevious([Date])) 
SpotfireCount = If([DowntimeFlag]=1,Sum([DowntimeFlag]) over (Intersect([CumResetCounter],AllPrevious([Date]))),null) 

, 데이타 테이블 모습입니다 : 당신이

Consecutive Days of Downtime Data Table

+0

많은 수의 테스트를 거쳐야 할 것 같은 느낌입니다. 테이블의 세분화 수준을 설명하고 몇 가지 교차를 추가하여 열 이름 (두 번째 수식) 중 하나를 DateFlagCompare에서 DowntimeFlagCompare로 변경해야했지만 작동했습니다 . 고맙습니다! – JulieBMA