TA-Service Log 테이블 명세 및 데이터 카탈로그
미확정 문서 — David 인터뷰 전 상태
이 카탈로그는 K-Master Sales Data (DB) 테이블 명세 및 데이터 카탈로그와 달리 아직 David와의 확인 인터뷰를 거치지 않았다. 아래 컬럼 의미·타입은 스프레드시트 헤더·샘플값에서 추론한 것이고, KPI 계산 규칙(무엇을 “완료된 서비스”로 볼지, Status enum 전체값, 비용 집계 방식)은 전부 후보(candidate)일 뿐 확정이 아니다. 데이터 카탈로그 대상은 David가 명시적으로 지정한
TA-Service Log뿐이며,Part Sales from 2023는 대상에서 제외됐다(TA Service 참고).
Update (2026-09-09) — Inbox 백로그 정리 중 최신본 대조
00. Inbox/11. TA Service/에 2026-09-0209-09 사이 쌓여있던 자동동기화 스냅샷 7개를 TA Service Raw Source로 이동하며 최신본(09-09,26행씩 순증. 아래 §1의 “91행까지만 확보” 절단 한계는 이번 09-09본에는 해당하지 않음(전체 행 확보됨) — 다만 KPI 확정 인터뷰 전이라 본 문서 갱신은 보류.Sales Log탭 기준 35,406행)을 대조 확인함 — 탭 구성·컬럼 헤더 모두 이 문서 작성 시점(2026-08-31)과 동일, 신규 탭 없음, 행 수만 하루 평균 약 19
Update (2026-09-11) — 09-09 확인이 놓친 사실: 실제 탭은 4개가 아니라 16개
인제스트 루틴 점검 중
00. Inbox/11. TA Service/에 남아있던 2026-09-09(중복, 같은 날 15:31본과 17:03본 두 스냅샷 중 나중 것 — 이미 Raw Source화된 15:31본으로 대체 가능해 별도 보존하지 않고 삭제)·09-10·09-11 스냅샷을 처리하며 전체 탭 목록을 다시 훑어보니, 이 스프레드시트(1xMxL_...)에는 문서화된 4개(SN 등록 대장=Sales Log, 메인 서비스 로그=Service Log, 티켓별 부품=Warranty Service Parts Log,Parts Sales) 외에 12개 탭이 더 있다 — 09-09 확인 당시 “신규 탭 없음”이라고 기록한 것은 이 4개 핵심 탭만 대조하고 나머지를 놓친 오류였다. 새로 확인된 탭과 헤더(전부 미분석 상태, KPI 대상 아님 — 아래는 존재 확인 및 헤더 스냅샷만):
탭 헤더(일부) 추정 용도 D & BNo.,Branch,Status,Model,S/N,Issue,사장님 지시사항,메니저 답변,수리 담당자 답변,수리완료예정일,Location,Remark,처리방안,Sales Date 대표(사장님) 직접 지시·에스컬레이션 트래킹으로 추정 Report(Report No. 등 자유서식) 서비스 리포트 출력용 템플릿 시트 Parts StockTA Part code,NSW/VIC Location,Part code,Part name,Model,Cost,Price,NSW/VIC 입출고·재고 NSW/VIC 부품 재고 현황판 RequestService Job Request (자유서식) 서비스 작업 요청 폼 3rd PartyState,Company,Name,Mobile,E-mail,Note,Rating 3rd-party 협력업체 연락처·평가 Copy of A Parts(자유서식, “Back to Main” 네비게이션) 레거시 부품 시트 사본으로 추정 Care+Shop,Sales Date,1st~12th(+“-C”) 12개월 정기점검(Care+ 확장보증 프로그램?) 이력 추적으로 추정 Parts inBranch,Date,Product,Q’ty,Unit Cost,Total Cost,Notes 부품 입고(In) 로그 — Parts Sales(Out)의 대구Service Parts Log 2024Service No.,Branch,Part,Q’ty,Cost,Total Warranty Service Parts Log와 동일 스키마의 2024년도 아카이브Copy of QLDDate,Part Name,Factory Price,Q’ty,Total,Notes QLD 지점용 사본으로 추정 Old ver.(헤더 없음/빈 시트로 보임) 구버전 잔재 Copy of SP PriceList 241113ProductCode,Name,Category,Type,DefaultLocation,PriceTier1,Status,Description 2024-11-13 시점 부품 가격표 사본 판단:
Copy of *·Old ver.류(4개)는 이름 자체가 레거시/사본임을 시사 — 정본이 아닐 가능성이 높다.D & B·Parts Stock·Request·3rd Party·Care+·Parts in·Service Parts Log 2024(7개)는 실제 운영 중인 보조 탭으로 보이나, 이 문서의 카탈로그 대상(David가 명시한TA-Service Log핵심 4탭)에 포함되는지, 별도 우선순위로 다뤄야 하는지는 미확정 — 다음 David 인터뷰 때 함께 확인 필요. 이번 라운드에서는 존재·헤더만 기록하고 컬럼별 심층 분석·KPI 반영은 보류한다. 행 수 재확인:Sales Log탭 대략 행 수 09-09→09-10→09-11 이 완만하게 증가하는 추세만 확인(정밀 카운트는 파싱 방식에 따라 오차 있음) — 09-09에 기록한 “35,406행”과 큰 방향은 일치, 정확한 델타는 라이브 재조회 필요.
1. 배경 — 시트 구조
TA-Service Log는 Google Form 응답을 저장하는 스프레드시트로, 4개 탭 + 자동생성 인쇄 시트로 구성된다. 폼 자체는 mime type 미지원으로 직접 열람하지 못해 필드 구조를 응답 시트 헤더에서 역추론했다(2026-08-31-ta-service-log-form-pointer).
도구 절단 한계: 이 카탈로그의 근거인 2026-08-31-ta-service-log-response-spreadsheet는 메인 로그 탭(탭 2)이 2023년 1~3월(91행)까지만 확보되고 그 이후는 렌더링 도구가 조용히 절단했다. 실제 탭 2는 2026-08 티켓까지 존재하는 것으로 추정된다(탭 3·4의 참조와 파일 말단 인쇄 시트로 확인). 이 문서의 컬럼 의미·enum은 신뢰할 수 있으나, 전체 행 수·최신 Status enum·연도별 추이는 라이브 재조회 없이는 알 수 없다.
2. 탭 1 — SN 등록 대장
컬럼: Inv Date, Company, Order No, Model, SN
| 컬럼 | 추정 타입 | 샘플 | 설명(추정) |
|---|---|---|---|
Inv Date | 날짜 | ”22 Feb, 2021” | 출고(인보이스) 일자 |
Company | 텍스트 | AONEMASTER | 딜러/거래처명 — TAB Sales Data의 Company와 겹치는 이름 다수 관측 |
Order No | 텍스트 | E349864S | TAB 주문번호 채번대(E3xxxxxS)와 동일 계열로 보임 |
Model | 텍스트 | KF45-4-N | 모델코드 |
SN | 텍스트 | H2K45F4FZ081 | 시리얼번호 — 같은 Order No에 여러 SN 행이 붙는 경우 흔함(한 주문에 여러 유닛) |
미확인: 이 탭이 서비스와 무슨 관계인지(워런티 확인용 시리얼 조회 대장으로 추정) 명시적 설명 없음.
3. 탭 2 — 메인 서비스 로그 (핵심 테이블, 26컬럼)
컬럼: Status, Branch, State, Service No., Model, S/N, Issue, Company, date, Attended, Completed, Shop, Address, Name, Mobile, Order No., Sales Date, Warranty, Turbo, 3rd Party, Failure, Paid (incl. GST), Received (excl. GST), Invoice, INV. Date, Rating, Survey Call
| # | 컬럼명 | 추정 타입 | 샘플 값 | 설명(추정) |
|---|---|---|---|---|
| 1 | Status | 텍스트(enum) | Completed | 티켓 처리 상태 — 확보된 91행 전부 “Completed”만 관측, Pending/In Progress 등 다른 값이 있는지 불명 |
| 2 | Branch | 텍스트(enum) | NSW | 담당 관리지점 — 확보된 구간 전부 “NSW”(NSW 지점이 전국 케이스를 처리하는 것으로 보임) |
| 3 | State | 텍스트(enum) | NSW/VIC/QLD/ACT/SA/WA | 고객 소재지(호주 전역) — Branch(관리주체)와 별개 개념 |
| 4 | Service No. | 텍스트 | TS#230102-01 | 티켓 번호, TS#YYMMDD-NN 포맷 |
| 5 | Model | 텍스트 | KUC15-4 | 제품 모델코드 |
| 6 | S/N | 텍스트 | IS207E01550005 | 시리얼번호 |
| 7 | Issue | 텍스트(자유서식/enum성) | High temp, Other, Meat function | 접수 증상 — 반복값 다수(High temp가 최빈) |
| 8 | Company | 텍스트 | CEDAR HOSPITALITY | 고객사/딜러명 |
| 9 | date | 날짜 | 02/01/2023 | 접수일(DD/MM/YYYY) |
| 10 | Attended | 날짜 | 03 Jan, 2023 | 최초 방문일 |
| 11 | Completed | 날짜 | 04 Jan, 2023 | 서비스 완료일 |
| 12 | Shop | 텍스트 | ROYAL STACKS | 실제 설치처(매장) 상호 — Company와 다를 수 있음(딜러 vs 최종설치처) |
| 13 | Address | 텍스트 | (전체주소) | 설치처 주소 |
| 14 | Name | 텍스트 | ALLAN | 현장 담당자 이름 |
| 15 | Mobile | 텍스트 | 0408 299 133 | 현장 담당자 연락처 |
| 16 | Order No. | 텍스트 | TA-SO#E352778S | 원 판매 주문번호(TAB 채번대와 연동 추정) |
| 17 | Sales Date | 날짜 | (대부분 공백) | 원 판매일 |
| 18 | Warranty | 텍스트 | 11/17/2025 | 컬럼명과 값이 불일치 — 날짜값이 들어있어 워런티 만료일로 추정되나 불확실 |
| 19 | Turbo | 텍스트 | 3rd Party, Jeremy Kim, Dasol | 자가(내부 기술자명) 또는 “3rd Party” 외주 표시 — 컬럼명이 모호 |
| 20 | 3rd Party | 텍스트 | (대부분 공백) | 외주업체명(19번과 역할 중복 의심, 헤더 순서 재확인 필요) |
| 21 | Failure | 텍스트(사실상 enum) | Comp. Acc, PCB, High temp | 최종 원인 판정 — Issue(7번)가 “고객이 신고한 증상”이라면 이쪽은 “기술자가 판정한 원인”. 집계·분석은 반드시 이 컬럼을 쓴다(§3-1 전체 값 목록 참고) |
| 22 | Paid (incl. GST) | 통화 | 0.00, 308.00 | 고객 청구액(GST 포함) |
| 23 | Received (excl. GST) | 통화 | (대부분 공백) | 실수납액(GST 제외) |
| 24 | Invoice | 텍스트 | (대부분 공백) | 인보이스 번호/여부 |
| 25 | INV. Date | 날짜 | (대부분 공백 또는 0) | 인보이스 발행일 |
| 26 | Rating, Survey Call | 텍스트/불리언 | (대부분 공백) | 고객만족도 평가 관련 — 거의 미사용으로 보임 |
3-1. Failure·Issue·Status 실제 값 분포 (2026-09-22 전체 1,345행 기준, 절단 없음)
2026-09-22 신설 — 이 섹션이 없어서
/ask가 오답을 냈다이 카탈로그는 원래 91행 절단 스냅샷 기준이라
Failure컬럼의 값 목록이 없었다. 그 결과 2026-09-22 Sean의 질문(“Comp Accessory/Comp Assy 구분 모델별 불량 순위”)에/ask봇이 “그런 분류가 시트에 존재하지 않는다”고 잘못 답변했다 — 실제로는Comp. Acc·Comp.가 표준값으로 존재한다. 아래는 하루 단위로 동기화되는 라이브 스냅샷(05_SalesReport/ta-service-data.js, 1,345행) 전체를 집계한 실제 값 분포다. 원인 계통 분석은 자유서식인Issue가 아니라 표준값인Failure로 한다.
Failure 주요 값 (상위 25개, 전체 1,345행 기준)
| 값 | 건수 | 의미 |
|---|---|---|
PCB | 152 | 메인 PCB 불량 |
High temp | 147 | 고온(원인 미특정) |
Water Leak | 105 | 누수 |
Comp. Acc | 103 | 컴프레서 부속(기동 콘덴서·과부하 릴레이 등) 불량 — “Comp Accessory” |
Gas Leak | 75 | 냉매 누설 |
Comp. | 65 | 컴프레서 본체 불량 — “Comp Assy”(본체 교체) |
Not in Fault | 62 | 이상 없음 |
Cond. Fan Motor | 49 | 콘덴서 팬모터 |
Evap. Freezing | 46 | 증발기 결빙 |
Damaged | 36 | 파손 |
Maintenance | 33 | 정기점검 |
Connection | 32 | 결선 |
Fan motor | 29 | 팬모터 |
User error | 28 | 사용자 과실 |
Meat function | 24 | 미트 기능 |
Eva Fan motor | 24 | 증발기 팬모터 |
power tripping | 23 | 전원 차단 |
Drain hose block | 21 | 드레인 막힘 |
Leg or castor install | 19 | 다리/캐스터 |
Sensor | 19 | 센서 |
Factory Fault | 19 | 공장 불량 |
SMPS | 18 | 전원부 |
Design error | 14 | 설계 결함 |
F/PCB | 13 | 프론트 PCB |
DOOR HINGE | 11 | 도어 힌지 |
이하 Door gasket(10) · Condensor block(10) · LED(9) · Convert unit(9) · Loud noise(8) · Drain hose(8) · Electric leakage(6) · Spring bar(6) · Block pipe(6) · Canceled after visit(6) 등 약 70개 값. 복합 판정은 쉼표로 이어붙인다(예: Comp., PCB, PCB, Meat function) — 필터링 시 완전일치가 아니라 포함(contains) 조건을 쓸지 판단 필요.
컴프레서 관련 집계 규칙 (2026-09-22 확정)
- Comp Accessory =
Failure == "Comp. Acc"- Comp Assy(본체) =
Failure == "Comp."(복합 판정Comp., PCB포함 시 +1)- 두 유형은 원인·비용이 전혀 다르다: Accessory는 건당 평균
29, Assy는 건당 평균381(약 13배). 건수는 Accessory가 많지만 비용의 89%는 Assy에서 발생한다.- 탭 3(
Warranty Service Parts Log)의 부품명으로도 교차검증 가능:SP-Comp. Accessary for */SP-COMP Accessory for *= 부속,SP-COMP-<컴프레서모델>= 본체.- 실제 집계 예시: 2026-09-22-Q-컴프레서-모델별-불량-순위-데이터-공백
Status 전체 값 (§6 Open Question 1의 답 — 2026-09-22 확정): Completed(1,284) · Canceled(26) · Waiting invoice(14) · Pending(10) · In progress(7) · Requested Payment(3) · 공백(1). 집계 시 Canceled는 완전 제외한다(David 확정 2026-09-01, TAB Dashboard 서비스 탭과 동일 규칙).
Branch: NSW(1,038) · VIC(306) — §3의 “전부 NSW” 서술은 절단 표본 오류였으며, VIC도 상당수 존재한다.
State(고객 소재지): NSW(901) · VIC(316) · QLD(48) · ACT(30) · WA(29) · SA(15) · TAS(3).
Turbo(처리자): Dasol(585) · 3rd Party(357) · Tran(167) · Sean(143) · Mik(60) · Nathan(21) · Siwoo(3) — 즉 3rd Party 이외의 값은 내부 기술자 이름이고, 자가처리 비율은 “Turbo가 채워진 건 중 3rd Party가 아닌 비중”으로 계산한다.
Issue(7번)는 자유서식이라 200개 이상의 고유값이 있고 표기 흔들림이 심하다(High temp/High Temp/Hightemp/high temp가 각각 별개 값으로 존재). 증상 기준 집계가 꼭 필요하면 정규화가 선행돼야 하며, 원인 분석에는 Failure를 쓰는 것이 정확하다.
4. 탭 3 — 티켓별 사용 부품
컬럼: Service No., Branch, Part, Q'ty, Cost, Total
Part:SP-접두사 부품명 — 2026-08-31-part-sales-from-2023-ledger-snapshot의 SKU 네이밍 관행과 동일 계열.Cost가$0.00인 행 다수 — 무상보증 교체이거나 원가 미입력 상태로 추정, 카탈로그 사용 시 플래그 필요.
5. 탭 4 — Parts Sales (지점/고객 발송 부품 출고, “Out 테이블”)
2026-08-31 라이브 재조회로 정정, 2026-09-01 컬럼명 변경 반영
아래는 2026-08-31
'Parts Sales'!A:K전체범위 라이브 조회로 확인한 값이다 — 이전 버전(91행 절단 샘플 기준)은 탭 실명을 밝히지 못했고 “Status 전부 Checked”라고 잘못 기술했다. 이 탭은 이제 웹 대시보드 TA Service의 부품판매 탭(/dashboard/tab)을 직접 구동하는 라이브 데이터 소스다. 2026-09-01: David가 시트 헤더Order / Service No.를Order No로 직접 수정 — 아래 컬럼명·설명을 새 헤더 기준으로 갱신,pull-ta-service-dashboards-data.mjs의PART_SALES_COLUMN_MAP도 함께 수정됨.
탭 실명: Parts Sales (탭 3 Warranty Service Parts Log와는 별개 — 헷갈리지 말 것). David는 이를 “Out 테이블”이라 부른다(지점/고객으로 발송 나간 부품을 추적).
컬럼(A:K, 헤더 그대로, 2026-09-01 기준): Branch, Status, Order No, Part, Shipped date, Q'ty, Sales, Freight Cost, Freight, Card Surcharge, Notes (Freight Cost는 시트 원문상 셀 내 줄바꿈이 있는 "Freight\nCost"; Order No는 2026-09-01 이전엔 Order / Service No.였다).
- 행 수: 1,276행(헤더 제외), 빈 행(Branch·Part 둘 다 공백) 0건 — 탭 2(Service Log)의 더미 템플릿 행 이슈와 달리 이 탭은 깨끗하다.
Shipped date범위: 2024-01-01 ~ 2026-08-31 (현재까지 계속 갱신 중) — 퇴역한Part Sales from 2023(2023-01~2024-11)보다 훨씬 최신.Statusenum: 정확히 3값 —Checked,Shipped,In progress(이전 버전의 “전부 Checked” 서술은 오류였음, 정정).Order No의 이원성: 서로 다른 두 번호체계가 섞여 있다 —E...(예:E356027S, TABSales Data·탭 1Order No와 같은 채번대의 주문번호)와TS#...(탭 2 Service Log와 같은 채번대의 서비스 티켓 번호). 즉 이 컬럼은 딜러 주문에 딸린 부품 배송과 서비스 티켓에 딸린 부품 배송을 한 열에 함께 담고 있다 — 이전 버전의 “서비스 티켓이 아니라 딜러 발주만 추적”이라는 서술은 절단 표본(91행, 전부E계열)의 오독이었다. 대시보드의 “총 출고건수” KPI는 이 컬럼의 고유값 개수(중복 Order No는 1건으로 집계)로 정의된다(2026-09-01 David 확정).- 집계 검증용 합계 (2026-08-31 라이브 전체범위 기준, 향후 재조회 시 sanity check로 사용):
Sales합계 $236,581.79,Freight Cost합계 $9,340.78,Freight합계 $24,769.50. Card Surcharge·Notes는 일부 행에만 존재(sparse) — 트레일링 공백 셀은 Sheets API가 생략하므로 값 없음은 오류가 아니라 0/null로 처리.
6. KPI/집계 규칙 — 전부 미확정 (David 확인 필요)
Open Question — 반드시 확인 필요
아래는 전부 컬럼명·값 관찰에서 나온 추정이며 TAB
Sales Data처럼 David와의 인터뷰로 확정된 바 없다. 실제 대시보드/집계 작업 전 다음을 확인해야 한다:
Status enum 전체값— 해소됨(2026-09-22): §3-1 참고.Completed/Canceled/Waiting invoice/Pending/In progress/Requested Payment6값이며Canceled는 집계에서 제외한다.- 비용 집계 기준:
Paid (incl. GST)와Received (excl. GST)중 어느 것이 실제 매출/비용 인식 기준인가? 탭 3의 부품원가(Cost)와 탭 2의Paid가 어떻게 합산되는가(총 서비스 수익 = Paid - 부품원가?)?Turbo/3rd Party두 컬럼의 정확한 역할 분리 — 자가처리 vs 외주처리를 이 두 컬럼 중 어디서 판별하는가?탭 2(메인 로그) 전체 데이터 재조회— 해소됨(2026-09-22):scripts/pull-service-dashboard-data.mjs가 매시간 탭2 전체('Service Log'!A:AA)와 탭3('Warranty Service Parts Log'!A:F)을05_SalesReport/ta-service-data.js로 동기화한다(2026-09-22 기준 1,345행 + 452행). 연도별·모델별·원인별 집계는 이제 이 파일로 절단 없이 가능하다 — 91행 스냅샷을 근거로 “데이터 부족”이라고 답하지 말 것.TS#와VT#(부품견적서·월간통계에서 관측) 채번 체계의 관계 — 같은 티켓의 다른 참조번호인지, 별개 시스템인지.- 2026-08-31-sean-ta-service-log-escalation-tracking의 한글 Status 값(“판매 완료”/“수리불가”/“경수리”/“중수리” 등)이 이 메인 로그의 영문 Status enum과 어떻게 매핑되는지 — 서로 다른 워크플로 단계를 가리키는 것으로 보이나 확정 매핑 없음.
7. TAB Sales Data와의 관계
TA-Service Log는 서비스 티켓 데이터이며 TAB의 Sales Data(완제품 판매) 및 TA Service의 Part Sales from 2023(부품판매)와는 별개 원장이다. 세 시트 모두 E3xxxxxS 형태의 주문번호를 공유하는 것으로 관측되어(탭 1의 Order No, 탭 4의 Order No) 백엔드 주문관리 시스템을 공유할 가능성이 있으나 확정되지 않았다.
Bias Check
Bias Check
Counter-argument: 이 카탈로그는 91개 행(2023년 1~3분기 일부)의 관찰만으로 26개 컬럼의 의미를 추론했다 — 표본이 작고 절단되어 있어 일반화 위험이 크다. Data gap: KPI 규칙 전체, Status enum 전체값, 탭 2 전체 데이터 — 모두 David 인터뷰 및 라이브 시트 재조회가 필요하다. 이 문서를 대시보드 설계의 근거로 쓰기 전 §6의 Open Question을 반드시 해소할 것.