Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기이 글의 목적은 엑셀에서 피벗 차트에 필터를 적용한 뒤 데이터가 사라지고 공백 영역만 남는 문제를 재현 가능한 원인별로 분해하고, 현장에서 바로 적용 가능한 설정 변경·데이터 정비·자동화 스크립트로 완전히 해결하도록 돕는 것이다.
피벗 차트에서 슬라이서나 보고서 필터, 행/열 레이블 필터를 적용했을 때 차트가 비어 보이거나 카테고리 눈금만 남고 데이터 계열이 사라지는 현상이 발생한다. 대표 증상은 다음과 같다.
| 분류 | 세부 원인 | 대표 증상 |
|---|---|---|
| 피벗 캐시 보존 항목 | 필드별 ‘데이터 원본에서 삭제된 항목 보존’이 기본값으로 유지됨 | 과거 항목 눈금만 남고 실제 데이터는 없음 |
| 빈 셀/숨김 데이터 처리 | 차트의 빈 셀 표시 옵션이 ‘틈’으로 설정됨 | 필터 후 계열이 단절되거나 통째로 사라짐 |
| 필터 논리 | 레이블/값 필터 조합으로 결과가 공집합이 됨 | 피벗 테이블은 0행, 차트는 완전 공백 |
| ‘데이터 없는 항목 표시’ | 필드 설정에서 ‘데이터가 없는 항목 표시’가 꺼짐 또는 반대로 켜짐 | 관계형 모델에서 고아 항목이 축만 차지 |
| 데이터 모델/관계 | 일치 키 누락, 일대다 관계 쪽 키 불일치 | Blank/빈 카테고리 발생, 축 공백 확대 |
| 숨김 행/열 | 원본 테이블 일부 열/행 숨김 + 차트가 숨김 데이터 무시 | 필터 후 계열 일부 또는 전체 미표시 |
| 서식/데이터형 | 숫자형 기대 필드가 텍스트형, Null이 공백 문자열 | 합계가 Null로 계산되어 0이 아닌 공백 처리 |
이후에도 축이 비면, 동일 통합 문서의 동일 캐시를 공유하는 다른 피벗 테이블이 있는지 확인하고, 모두 같은 설정으로 맞춘 다음 전체 새로 고침을 수행한다.
열지도의 경우 0 처리는 색상 스케일에 영향을 주므로, 0과 Null을 구분해야 한다면 원본에서 명시 0을 채우기보다는 피벗 차트의 옵션으로 해결하는 것이 바람직하다.
보고용 차트에서 카테고리 풀을 고정하고 실적이 없는 구간에 0을 그리고 싶다면 아래처럼 구성한다.
반대로 실제 존재 데이터만 엄격히 보여야 한다면, 위 체크를 해제하고 보존 항목을 없음으로 두어 빈 축을 제거한다.
다음 패턴은 공집합을 만들기 쉽다.
해결은 필터 지우기로 초기화 후 핵심 조건 하나씩 재적용하며 피벗 테이블의 결과 행 수를 확인하는 것이다. 행 수가 0이면 차트가 비는 것은 정상 동작이다.
파워 피벗/데이터 모델을 사용하는 경우 다음을 점검한다.
DAX 예시는 아래를 참고한다.
// 존재하지 않는 조합은 0으로 매출액 안전측정치 := VAR v = SUM('Fact'[Amount]) RETURN IF(ISBLANK(v), 0, v) 합계 대상 열이 텍스트로 저장되어 있거나 공백 문자열이 섞인 경우 합계가 BLANK로 처리되어 차트가 비어 보일 수 있다. 원본 테이블을 다음 규칙으로 정비한다.
Power Query M 예시 = Table.TransformColumnTypes( Source, {{"Amount", type number}, {"OrderDate", type date}} ) | 점검 항목 | 작업 경로 | 권장 설정 | 영향 |
|---|---|---|---|
| 보존 항목 제거 | 피벗테이블 옵션 → 데이터 | 원본에서 삭제된 항목 보존: 없음 | 오래된 축 항목 제거 |
| 빈 셀 표시 | 차트 → 데이터 선택 → 숨김 및 빈 셀 | 빈 셀: 0 또는 선 연결 | 단절/공백 방지 |
| 숨김 데이터 표시 | 동일 | 숨겨진 행과 열의 데이터 표시: 체크 | 숨김으로 인한 누락 방지 |
| 데이터 없는 항목 표시 | 필드 설정 → 레이아웃 및 인쇄 | 보고 목적에 맞춰 On/Off | 축 고정 또는 실제값만 |
| 필터 간소화 | 필터 메뉴 | 중복 조건 제거 | 공집합 예방 |
| 관계 검증 | 데이터 모델 → 관계 보기 | 키 일치 보장 | Blank 카테고리 제거 |
여러 피벗 테이블과 차트를 운영하는 통합 문서라면 아래 매크로로 한 번에 정리한다.
Option Explicit
Sub Pivot_Chart_BlankFix_All()
Dim pc As PivotCache
Dim pt As PivotTable
Dim ws As Worksheet
Dim co As ChartObject
' 1) 모든 피벗 캐시의 보존 항목 제거
For Each pc In ThisWorkbook.PivotCaches
On Error Resume Next
pc.MissingItemsLimit = xlMissingItemsNone
On Error GoTo 0
Next pc
' 2) 모든 피벗테이블 새로 고침(두 번)
For Each pt In ActiveWorkbook.PivotTables
pt.RefreshTable
Next pt
For Each pt In ActiveWorkbook.PivotTables
pt.RefreshTable
Next pt
' 3) 피벗 차트의 숨김/빈 셀 표시 정책 표준화
For Each ws In ThisWorkbook.Worksheets
For Each co In ws.ChartObjects
With co.Chart
.SetElement (msoElementLegendBottom)
' 빈 셀을 0으로
.DisplayBlanksAs = xlZero
' 숨겨진 행/열 데이터 표시
.PlotVisibleOnly = False
End With
Next co
Next ws
End Sub
측정치 := VAR v = SUM('Fact'[Amount]) RETURN COALESCE(v, 0) | 상황 | 진단 | 해결 |
|---|---|---|
| 슬라이서 다중 선택 후 공백 | 다른 보고서 필터와 공집합 | 필터 전부 지우기 → 핵심 조건만 재적용 |
| 월별 차트에서 몇 달만 비어 보임 | 빈 셀 ‘틈’ 처리 | 빈 셀: 0 또는 선 연결 |
| 이전 분기 항목만 축에 남음 | 보존 항목 누적 | 보존 항목 없음 설정 후 2회 새로 고침 |
| 데이터 모델 사용, Blank 카테고리 | 관계 키 불일치 | 키 정비 또는 축을 팩트 키로 변경 |
| 숨김 열을 활용한 집계 | 차트가 숨김 데이터 무시 | 숨겨진 행과 열의 데이터 표시 체크 |
일반 차트도 빈 셀 처리와 숨김 데이터 표시 설정에 의해 공백이 생길 수 있다. 다만 보존 항목 개념은 피벗 캐시에 특화된 것이므로 일반 차트에서는 적용되지 않는다.
지표 성격에 따라 다르다. 0이 의미 있는 부재값이면 0으로, 의미 없는 결측이면 선 연결 또는 결측 처리한다. 보고 목적에 맞춰 일관 규칙을 정한다.
가능하다. 단, 공집합이 나오지 않도록 조합 설계를 단순화하고, 초기화 버튼을 마련하여 사용자가 쉽게 필터를 해제할 수 있게 한다.
대부분의 보고서에서 성능이 오히려 개선된다. 다만 매우 큰 캐시를 자주 재사용하는 모델에서는 재계산 비용이 증가할 수 있다.
키 정합을 우선 해결하고, 측정치에서 BLANK를 0으로 변환하며, 필요 시 축 필드의 ‘데이터가 없는 항목 표시’를 끈다.