• 카테고리

    질문 & 답변
  • 세부 분야

    오피스

  • 해결 여부

    해결됨

Data Format Error 및 vlookup으로 근사치 구하는 방법

20.10.04 00:30 작성 조회수 540

1

제품의 가격대를, 병합 기능을 활용하여 작업을 하고 있습니다.

기본 데이터작업을 마무리하고, " 완전외부"조건으로 병합을 통해 가격대를 구하는 마지막 작업 중,
아래와 같은 에러를 만났습니다.

"왼쪽모두"로 작업했을 경우는 정상적으로 작업이 되는데,
"완전외부" "오른쪽외부"모두 동일한 에러가 발생합니다.

 구글링을 통해서 보니, power query에서 자주 발생하는 에러라고 하는데요.
문자와 숫자를 같이쓸경우 이와같은 에러가 발생하는 경우도 있다고 해서, 숫자로만 "왼쪽외부"병합을 하였으나
동일한 문제가 발생하고 있습니다.

38만개행, 40개열정도의 데이터 작업인데요..
혹시 data가 많아서 발생할 수도 잇는것인지요?

혹시,이런에러가 발생했을경우 해결방법이 어떻게되는지 문의 드립니다.
그리고,  완전외부 병합으로 vlookup의 근사치구하는 방법외에, 다른 방법이 있을지도 문의 드립니다. 

답변 3

·

답변을 작성해보세요.

1

조언 감사드립니다.
연결쿼리의 순서를 바꿔서  완전외부로 병합작업을 해보니, 메모리 부족에러가 몇번 나다가 병합이 되긴하네요.
그런데, 이후에 작업 하나를하고 반영이 되는데 몇분씩 걸리는 걸보니, 
데이터를 많이 선택할 경우 완전외부 병합은 메모리를 많이 잡아먹거나/불안정한것 같습니다.
(교집합 부분을 지속 CHECK해야해서 메모리 잡아먹지 않을까 생각되네요...) 
왼쪽 외부는 더 많은 DATA를 선택해서 작업해도 문제없이 쾌적한 작업이 됩니다..
에러났던 데이터를  몇 천개 수준으로 적게 선택해서 진행하면 완전외부 병합도 정상적으로 작업이 되구요..
  
아직은,  파워커리에서 많은 양의 데이터의 근사치 값을 구하는 것은 조건열을 활용하여 작업을 하고,
일부는 함수는 쓸 수 밖에 없을 것 같네요...

   

 감사합니다.

0

여러모로 테스트를 많이 진행해 보셨군요.
데이터가 워낙 크니 '완전외부'가 버거울 수 있겠다는 생각이 듭니다.
두 테이블을 모두 가져오는 거니 다른 조인 옵션에 비해 사이즈가 배로 커질테니까요.

그래도 며칠간 고생하신게 있는데 아깝습니다.
아래의 2가지 팁을 보시고 '완전외부'로 또 테스트를 해보시면 좋겠습니다.

1. 데이터를 국가별로 자르는 겁니다.(제가 데이터를 직접 보지를 못했으니, 단편적으로 올려주신 그림을 통해 추측)
     나라별로 데이터를 나눠서 '병합(완전외부)'을 시킨 후 > 결과물이 나오면 >
     '추가' 옵션을 통해 나라별 결과물을 모두 하나로 합치는 겁니다.
     '추가'는 강좌에 관련 영상은 없습니다만, 어렵지 않습니다.
     데이터를 아래로 누적하여 같다 붙이는 구조입니다.
     ('쿼리표시' 창 > 테이블..우클 > 추가)
2. 모든 쿼리 가공이  끝나고 나면
    워크시트로 데이터가 반드시 뿌려져야 하는 쿼리를 뺀, 나머지 테이블들은
     '쿼리 표시' 창에서 > 테이블...우클 > 다음으로 로드 > 연결만 만들기..로 바꾸세요.
    처리속도 개선과 용량을 줄이는데 도움이 됩니다.

힘내시고, 응원합니다!!!!

0

안녕하세요 :)
항목별로 정리를 해봅니다.

1. Vlookup 함수에서의 정확한 값을 찾을 때는, '왼쪽 외부' 또는 '오른쪽 외부' 조인옵션을 사용
2. Vlookup 함수에서의 근사치를 찾을 때는, '완전 외부' 옵션을 사용
3. 38만개, 40개의 열..괜찮습니다.
    저도 조금 전, 104만개의 워크시트에 꽉 차는 데이터를 가져와서 테스트 중이었는데, 문제없이 잘 가져오더군요.
4. 에러메시지의 내용으로 봐서는 각 테이블의 Primary key의 데이터 타입이 같지 않은 것같습니다.
    예를 들면, 1번 테이블의 기본키가 텍스트 타입이면, 2번 테이블의 기본키도 반드시 텍스트 타입이어야 합니다.
   그런데, '왼쪽 외부' 옵션은 문제없이 진행되었다..하신 점은 의문이 듭니다만,
   일단은 두 테이블의 기본키의 데이터 타입을 먼저 정확히 일치 시킨 다음, 다시 진행해 보세요.

5. 파워쿼리에서 vlookup의 근사치를 구현하는 방법은
     현재,  병합 -> 완전외부...옵션을 활용하는 방안이 유일한 것으로 파악하고 있습니다.
     엑셀 함수와 파워쿼리를 사용하지 않는 다면
     vba로 코딩하는 방법도 있습니다만
    코딩은 가장 마지막에 선택할 솔루션이고
    일단, 에러를 해결해보도록 해보세요.
    완전외부 옵션이 조금 번거로워도 한번 만들어두면 두고두고 편해지실 겁니다.

해보시고 안되면 다시 글 남겨주세요.
(노현호님이셨군요^^ 수고가 많으십니다)