![파워피벗; SQL에서 데이터 덤프 가져오기와 Excel에서 데이터 모델 만들기 비교](https://rvso.com/image/1428740/%ED%8C%8C%EC%9B%8C%ED%94%BC%EB%B2%97%3B%20SQL%EC%97%90%EC%84%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EB%8D%A4%ED%94%84%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%EC%99%80%20Excel%EC%97%90%EC%84%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EB%AA%A8%EB%8D%B8%20%EB%A7%8C%EB%93%A4%EA%B8%B0%20%EB%B9%84%EA%B5%90.png)
자세한 계정 정보와 함께 판매 및 리드 데이터가 포함된 SQL 테이블이 있고, 자세한 계정 정보만 포함된 또 다른 테이블이 있습니다.
제 질문은 매출 수치와 계정 ID만 가져오고(세부 계정 정보 제외) 세부 계정 정보만 포함된 별도의 테이블을 가져온 다음 계정 ID를 사용하여 powerpivot에서 관계를 생성하는 것이 더 효율적인지 여부입니다. 아니면 모든 정보가 포함된 하나의 테이블을 powerpivot에 덤프하는 것이 더 효율적/빠르나요(모든 작업은 SQL에서 수행됨).
첫째, 많은 매출 수치에 대해 계정 관리자, 세그먼트, 계정 이름과 같은 정보가 중복되므로(계정 A는 여러 제품을 여러 번 구매할 수 있음) 계정 정보만 포함하는 별도의 테이블을 갖는 것이 더 효율적일 것이라고 생각했습니다. 그러나 이에 대해 더 생각해보면, 두 개의 테이블이 있다면 SQL이 모든 작업을 처리하도록 하는 대신 Excel이 모든 작업을 즉시 수행해야 할 것입니다.
이에 대한 전문가들의 의견을 듣고 싶습니다. 메모리 효율성이 떨어지더라도 빠르게 작업하려면 powerbi/powerpivot이 필요합니다.
답변1
별도의 테이블은 피벗 테이블을 사용하여 새로 고치고 분석하는 것이 확실히 더 빠르며 디스크 및 메모리에서 더 컴팩트합니다.
또한 이러한 디자인은 효율적인 계정 수준 계산(나중에 필요한 경우)의 가능성을 열어줍니다(예: 계정당 고유한 제품 수).
문제는 데이터 세트가 종종 더러워지고 가정된 키가 종종 신뢰할 수 없다는 것입니다. 이 문제는 일반적으로 기록을 거슬러 올라갈수록 더욱 악화됩니다. 이러한 문제로 인해 Power Pivot의 단일 테이블 디자인으로 돌아갈 수 있으므로 SQL 코드, 파워 쿼리 또는 ETL 도구를 사용하여 해당 문제를 해결할 수 있습니다.