사용자 - 사용자의 정보에는 로그인 정보와 가입날짜가 있습니다.
사용자의 매출 정보 - 매출날짜, 매출액 등
예) 1번 사용자, 매출액 1만원, 매출날짜 2023-09-01
2번 사용자, 매출액 2만원, 매출날짜 2023-09-02
1번 사용자, 매출액 3만원, 매출날짜 2023-09-03
통계하고 싶은 데이터 - 사용자별 가입일 이전, 이후 매출
* 가입일 이후 기간은 가입일 이후 부터 현재 날짜까지 -> 6개월 넘을 경우 오늘 날짜 부터 6개월 전까지만 기간 계산
* 가입일 이전 기간은 가입기간 - (현재날짜 - 가입일 기간만큼) -> 최대 6개월이다.
기존 적용 로직
사용자의 매출 정보에 status 0 을 주어 해당 매출이 통계로 사용되었는지 확인
0 - x, 1 - o
사용자의 status가 0 인 매출 데이터를 다 가져와서 매출날짜가 사용자의 가입 기간 이전인지 이후 인지 확인 하여
더해준다. -> status 1로 변경
최대 기간인 6개월이 초과되면 초과된 해당 기간만큼과 status 1인 매출을 status 0 으로 처리하고 통계 금액에서 마이너스 해준다.
발생한 문제
6개월이 초과되어, 초과된 기간 만큼 매출액을 마이너스 처리할 때 발생.
2023-06-01 이 가입기간이고 2023-12-01의 매출통계를 내고 나서 3일이 지나 2023-12-04가 되었고,
2023-06-01 ~ 2023-06-03 까지의 기간 매출을 통계에서 빼야함.
여기서 빼야하는 3일 기간의 매출액이 너무 커 통계에서 마이너스 처리하였더니, 매출액이 마이너스 되어버림.
바꾼 로직
매출액 데이터를 해당 날짜, 사용자 별로 일 매출 통계를 먼저 만듬
1번 사용자, 매출액 1만원, 매출날짜 2023-09-01
2번 사용자, 매출액 2만원, 매출날짜 2023-09-02
1번 사용자, 매출액 3만원, 매출날짜 2023-09-01 이라는 데이터가 있으면,
1번 사용자, 매출액 4만원, 매출날짜 2023-09-01
2번 사용자, 매출액 2만원, 매출날짜 2023-09-02 이렇게.
그 후 통계 시 마다 가입기간 전, 후 를 계산해서 해당 기간만큼 일 매출 통계를 가져와서 다시 통계를 내는 방법
으로 바꿈
자잘하게 쪼개진 데이터를 가지고 한 번에 뽑아 내려니 변수에 대해 대처가 불리해짐
합칠 수 있는 데이터를 합치고, 이슈가 발생한 날짜를 계산해서 적용하니 정확도와 유지보수가 좋아짐
'기타' 카테고리의 다른 글
기타 명령어 및 사이트 모음, 방법 빨리 찾기 위한 모음 (0) | 2023.02.27 |
---|---|
티스토리 애드핏 광고생성 오류 (0) | 2022.11.30 |
curl 변환 사이트 (0) | 2022.05.31 |