2017-03-06 6 views
1

T_DATE부터 지난 14 일 동안 VAL에 대한 값을 계정별로 합산하려고합니다.룩백을 통한 Spotfire - sum

내 표현은

if([RND_FLG]=1 ,Sum([VAL]) over (Intersect([T_ACC],LastPeriods(14,[T_DATE]))),null) 

9/10 결과는 정확하지만, 항상 그런 것은 아닙니다.

도움을 주시면 감사하겠습니다. 아래

샘플 데이터 : 당신이 날짜에 간격이있을 때

ALLDATE  T_ACC  VAL  14DAYVAL 
12/13/2016 1501313137 500000 500000 
12/15/2016 1501313137 800000 1300000 
12/19/2016 1501313137 500000 1800000 
12/20/2016 1501313137 500000 2300000 
12/21/2016 1501313137 500000 2300000 
12/22/2016 1501313137 500000 3300000 
12/30/2016 1501313137 200000 3500000 

답변

1

당신은 아마 잘못된 결과를 얻고있다. LastPeriods()은 n 일과 같지 않으므로 n 일 동안의 행 수를 합산합니다. 이 문제를 해결하기 위해 날짜 당 1 행으로 데이터를 정규화 할 수 있습니다.

+0

DateAdd 함수 (DateAdd ("day", - 14, [T_DATE]))를 사용하여 각 날짜에 대한 마감일을 설정하려고 시도했지만 여전히 잘못된 부분이 있습니다. 아래 내용이 의미가 있습니까? Intersect ([T_ACC], DateAdd ('day', -14, [T_DATE])))), NULL))에 대한 대안을 생각해 볼 수 있습니까? 이? –

+0

더 명확히하기 위해 나는 지난 14 일 동안 발생한 모든 단일 행의 값을 합산하고 싶지는 않습니다. "둥근"(5+가 0 인) 값만 합해서 if 문은 상기 식의 rnd_flag 감사! –

+0

@LaurenFetky 파이썬이나 TERR에서 데이터를 정규화하거나 처리해야한다고 생각합니다. – scsimon