무지개타고

더하기를 하자 - 21 본문

Program

더하기를 하자 - 21

OnRainbow 2012. 3. 31. 22:04
언젠가 소개한 더하기인데, 단순한 더하기는 아니고
지수 함수와 로그 함수를 번갈아 사용한 더하기다.

- 더하기를 하자 - 아홉번째



벌써 2년이나 지난 더하기를 다시 꺼내든 이유는
최근 아파트 실거래가 자료 갖고 이리저리 계산하던 중 유사한 처리가 있어서
앞서 방식을 적용하려고 했는데...
엑셀이 아닌 액세스로 짜려니 어렵네. -_-;;

엑셀로 처리하면 아래 처럼 결과가 나오게 하는게 목적.
즉 시점(Period)별 값(Ratio)을 순차적으로 곱해 나가는 것으로
결과적으로 시점별 누적된 곱하기를 구하는 것이다.



c2 셀 (누적 곱)
=PRODUCT(B$2:B2)

이를 액세스로 구한 결과는 아래와 같다.
쿼리 고수들에겐 아주 간단한 처리 과정이겠지만, 초보인 내겐 그닥 만만치 않았던 쿼리...
세부적으로 좀더 손 볼 부분이 없지 않다는데 주의.



Query1
SELECT a.Period, a.Period-b.Period AS DiffPeriod, Log(b.Ratio) AS logRatio
FROM Temp AS a, Temp AS b
WHERE (a.Period>=b.Period)

Query2
SELECT (select max(Period) from Query1)-DiffPeriod AS IntervalPeriod, Exp(Sum(logRatio)) AS cumulateRatio
FROM Query1 AS a
GROUP BY DiffPeriod
ORDER BY DiffPeriod DESC

테이블 Temp와 쿼리 Query2를 조인하는건 생략~

설마 지수와 로그의 관계를 모른다면...
할 말 없음.


Comments