인프런 커뮤니티 질문&답변

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지

주문내역 분석 파일 작성... 난관에 부딪혀 문의드립니다.

해결된 질문

작성

·

232

1

온라인 주문분석 파일을 파워쿼리, 파워피벗을 통해 아래와 같이 만들어 보았습니다.

 

  1. 매일매일 회사쇼핑몰, 스마트스토어, 쿠팡 온라인 상의 개별주문 데이터가 엑셀로 취합된다 (raw data라고 하겠습니다)

 

  1. Raw date (돈을 받고 판매한) 상품과 (무상으로 제공하는) 사은품이 명확히 구분되지 않는 수정이 필요하다. 그래서 파워쿼리로 다음과 같은 3개의 테이블을 뽑아낸다.
    1. 주문내역 : 파워쿼리를 사용하지만 raw data 거의 변형하지 않음
    2. 상품 판매 내역 : 파워쿼리롤 뽑은 주문내역 테이블을 복제 , 사은품을 제외시킨다
    3. 사은품 제공 내역 : 파워쿼리롤 뽑은주문내역 테이블을 복제 , 상품을 제외시킨다

 

( : 어떤 주문에 2개의 상품과 1개의 사은품을 같이 주문했다면, 주문내역은 3 / 상품 판매 내역은 2 / 사은품 제공 내역은 1행이 나온다 - 예시는 오늘 문의에서는 중요한 부분은 아닙니다)

 

이렇게 테이블을 뽑아내면 테이블당 월별 500~1500 정도 나오는 같습니다. (정확히 세어본 적은 없습니다만)

 

  1. 위 2번과 동일한 엑셀파일에 - 3개의 테이블을 원본으로 여러 개의 피벗테이블-피벗차트를 구성하여 회사 내부에 공유한다. (예를 들어, 월별/판매마켓별/제품군별 등등의 기준으로 매출, 주문숫자, 판매수량, 이익률 등을 보여줍니다)

 

 

그런데 1~3 과정을 진행해보니

 

  • (취합 과정에 문제가 있었는 지도 모르겠지만) raw data 3~4달만 쌓여도 파워쿼리 취합에 시간이 너무나 오래 걸린다. (5~10 정도 걸려서 겨우겨우 되거나, raw data가 5개월치 이상이 되니 아예 취합에 실패하였습니다. 첫 1~2달은 문제가 없었습니다.)
  • 개인 데스크탑에서도 오래 걸렸고 / 원본과 취합파일을 모두 구글드라이브나 원드라이브에 저장시켜서 진행하면 오래 걸렸습니다.

 

 

그래서 1~2번을 하나의 엑셀파일로 취합 --> 엑셀파일의 3 테이블의 값을 값복사하여 --> 6개월치를 새로운 엑셀파일로 만든 (복사해 값은 모두 테이블로 만듭니다), 파일에서 파워피벗 적용으로 바꿨는데요. (, 과정을 2개의 엑셀파일 진행) 다시 문제가 생겼습니다.

 

  • 3 과정 엑셀파일은 최근 6개월 데이터만 보여주는 것으로 내부적으로 정했음.
  • 그래서 10 초에는 4~9월을 취합한 (이게 최초 작업으로 여기에는 아무 문제가 없었습니다) --> 11 초가 되어 4월을 삭제하고 10월을 추가하여 5~10월을 취합. (이렇게 , 5~10월을 테이블화)
  • 이후 피벗테이블, 피벗차트를 아무리 새로고침 해도 다음과 같은 현상이 반복되면서 5~10 데이터가 반영되지 않는다 :
    • 새로고침을 해도 삭제한 4 데이터가 다시 살아나고 / 추가한 10 데이터는 사라진다.
    • 다시 살아나거나 사라지지 않는 경우에도, 피벗테이블 새로고침에 걸리는 시간이 무려 10~20분까지 걸린다.
    • 겨우겨우 피벗테이블 새로고침 과정이 끝나면, 대부분의 경우 다음과 같은 메시지창이 뜬다 : "이 작업은 워크시트에서 필터링되는 범위를 변경합니다. 이 작업을 완료하려면 자동 필터를 제거하세요.
    • 이런 메시지창이 뜨지 않는다고 해도 모든 피벗테이블-피벗차트의 데이터는 5~10월을 보여줘야 하지만 / 어떤 테이블, 차트는 4~9월을 보여주고 다른 것들은 5~10월을 보여주는 제각각이다.
    • 이런 현상은 그냥 '새로고침' 하든 '모두 새로고침' 하든 마찬가지이다.

 

 

 

모든 어쨌든 엑셀파일로 해결해내야 하는데요. 진행과정에 대해 질문을 드립니다.

 

  1. 원래 의도했던 대로 1~3 과정을 '하나의 엑셀파일' 취합하고 --> 파워쿼리의 원본을 최근 6개월 raw data 모아 놓은 폴더로 1달에 1번씩 변경해주고 새로고침 하는 것이 가장 효율적이겠죠?
    • 만약 그렇다면 raw data 6개월치를 파워쿼리로 취합할 시간이 오래 걸리지 않으려면, 에러가 나지 않으려면 어떻게 해야 할까요?

 

(다음 사항이 고려되어야 합니다) 주문수는 매일매일이 일정한 편이지만 - 어느 날은 주문수가 1만개 이상이어도 주문분석 파일은 빠르게 뽑을 있어야 합니다 / raw data에는 30개의 (field) 있는데--> 이걸  파워쿼리를 통해 3개의 테이블을 뽑아낼 때도 삭제되는 열은 거의 없습니다. 파워쿼리와 아무런 연관 없는 field라도 임의 삭제는 불가능합니다. / raw data에는 잘못된 data 없습니다. (예를 들어 alt + enter 입력된 data 있다든가… 하는 일은 없습니다)

 

  1. 무조건 1~2 과정을 하나의 엑셀파일로 + 3 과정을 별도의 엑셀파일로 (지금처럼) 진행해야 한다면, 3 과정 엑셀파일에서 과거 데이터를 지우고 - 새로운 데이터를 삽입해도 파워피벗에 제대로 적용시킬 방법이 있을까요? (, 위에 이미 말씀드린 5~10 데이터가 반영되기 위해 해야 일이 무엇인지 궁금합니다.)

 

 

어쩌면 너무 복잡한 질문을 드렸을 수도 있고, 아니면 의외로 해결책은 간단할 수도 있는데… 이게 단순한 문제인지, 복잡한 문제인지도 감을 잡지 못해 문의를 드립니다. 강의에 적합한 문제가 아니라면 답변을 주시지 않아도 괜찮습니다.  ( 게시판이 아닌 이메일이나 다른 방법으로 받으실 있으면 알려주셨으면 합니다)

 

좋은 강의에 다시 한 번 감사드려요.

답변 1

1

배영자님의 프로필 이미지
배영자
지식공유자

안녕하세요, 반갑습니다 :)

꼼꼼한 글을 통해 tseqnu U님이 얼마나 업무 효율화를 위해 노력하시는지 느껴집니다.
화이팅입니다!!!

1. 메인 데이터 테이블을 분할할 필요가 없는 것 같습니다.


ㄱ. 메인 데이터 테이블인 '주문 내역' 테이블에 파워쿼리 편집창에서
 '판매' 인지 '사은품' 인지를 명확하게 구분하는 필드가 추가되는 것이 가장 중요합니다.
파워쿼리 편집창 > 리본 메뉴 > 열추가 > '조건열' or '사용자지정열' 메뉴를 통해 필드 추가 가능합니다.

ㄴ. '주문 내역' 테이블에
'주문월', '판매마켓', '제품군' 필드 또한 명확하게 구분되도록 필드가 존재해야 하겠습니다.

2. 위의 두 가지 사항이 '주문 내역' 테이블에 반영된다면
'상품 판매내역' 과 '사은품 제공내역' 테이블은 존재할 필요가 없게 됩니다.

3. 위의 1~2가 완성되면
데이터 분석을 위한 필드들이 모두 존재하는 '주문 내역' 테이블만 가지고
원하시는 피벗과 차트로 대시보드를 완성하실 수 있습니다.

4. 아래의 링크를 클릭하셔서
대시보드(분석 파일)의 처리속도를 높이기 위해서는 어떤 방법을 쓰면 좋을지 참고해보세요.
https://youtu.be/gKBZ8bNjCFI
( 07:00 에서 부터 보셔요)

tseqnu U님의 프로필 이미지
tseqnu U
질문자

답변 감사합니다. 사실 유튜브 링크 영상 시리즈 모두 다 봤고, 참고를 많이 했는데... 제가 기본적인 부분을 놓친 것 같습니다. ^^ 답변주신대로 다시 한 번 짜보도록 하겠습니다.

 

tseqnu U님의 프로필 이미지
tseqnu U

작성한 질문수

질문하기