두 테이블의 일치 여부 확인
마감 전에는 한 집합의 수치가 다른 집합과 일치하는지 알아야 합니다. 총계정원장과 시산표, 소스 시스템과 그 적재 결과, 이번 달 기말 잔액과 다음 달 기초 잔액이 그 예입니다. 대사는 두 측과 두 측의 행이 일치하는 방식을 지정하며, Weave는 다음 세 가지 중 하나로 답합니다.
총계정원장 실적이 시산표와 일치합니다. 계정 1,204개가 모두 정확히 일치합니다. 양쪽 합계는 12,345,678.90입니다.
총계정원장 실적이 시산표와 일치하지 않습니다. 계정 1,204개 중 3개가 다르며, 부호를 무시한 차이의 합계는 4,210.00입니다. 순액 기준으로 총계정원장 실적이 3,900.00 더 큽니다. 가장 큰 차이는 계정 4000이며 3,900.00 차이가 납니다(총계정원장 실적 1,000,000.00, 시산표 996,100.00).
Weave에서 총계정원장 실적이 시산표와 일치하는지 검사할 수 없습니다. 양쪽 모두 이 대사의 필터와 일치하는 행이 없습니다. 해당 데이터가 아직 로드되지 않았다면 로드한 후 다시 확인하십시오.
Weave는 양쪽을 모두 완전히 읽을 수 없었던 경우에는 대사가 일치한다고 절대 말하지 않습니다. 비교는 사용자의 데이터에 대한 쿼리이며 AI는 관여하지 않습니다.
대사 만들기
섹션 제목: “대사 만들기”대사를 만들거나 편집하거나 삭제할 수 있는 사람은 프로젝트 아키텍트뿐이며, 프로젝트가 잠겨 있지 않아야 합니다.
- 프로젝트의 Weave 탭을 열고 도구 모음에서 대사를 클릭합니다.
- 새로 만들기를 클릭합니다.
- 이름을 지정하고, 행 명칭에는 비교하는 행 하나가 무엇인지 복수형으로 입력합니다. “계정” 또는 “계정과 비용 센터 쌍”과 같이 입력합니다. Weave는 모든 문장에서 이 명칭을 사용하며, 비워 두면 “항목”이라고 표시합니다.
- 첫 번째 측과 두 번째 측 아래에서 각 측에 레이블(Weave가 해당 측을 부르는 이름, 예를 들어 “총계정원장 실적”)을 지정하고 테이블을 선택합니다. 측정값에서는 해당 측의 행을 어떻게 집계할지 합계:, 개수:, 고유 개수:, 최솟값, 최댓값, 평균: 중에서 선택하고 열을 선택합니다.
- 어느 한쪽에 필터를 추가하면 일부 행만 읽습니다. 여러 값은 쉼표로 구분합니다. 한 테이블의 두 기간을 비교하려면 양쪽에서 같은 테이블을 선택하고 각 측을 해당 기간으로 필터링합니다. 기간 열을 일치 기준에 추가하지 마십시오. 추가하면 일치하는 행이 없게 됩니다.
- 일치 기준에서 키 열마다 행을 하나씩 추가합니다. 각 행은 첫 번째 측의 열과 두 번째 측의 열을 짝지으므로
account가acct와 일치할 수 있습니다. 행에는 “계정”과 같은 제목을 지정하며, 이 제목은 차이 목록에서 해당 열의 머리글이 됩니다. 키가 없으면 각 측은 하나의 수치(합계 또는 개수의 경우 그 총계)로 비교됩니다. - 필요한 경우 행별 허용 오차를 설정합니다. 행의 두 값이 얼마나 차이 나더라도 일치하는 것으로 볼지를 측정값 자체의 단위(예:
0.01)로 지정합니다. 백분율이 아닙니다. 0으로 두면 모든 행이 정확히 일치해야 합니다. - 필요한 경우 워크플로를 선택하면 해당 워크플로의 마감 준비 상태 체크리스트에 대사가 표시됩니다. 준비 상태 체크리스트에서를 참조하십시오.
- 초안 저장을 클릭합니다.
Weave는 공정하게 비교할 수 없는 대사를 거부하고 그 이유를 알려 줍니다.
- 두 측의 키 개수가 같아야 하고(최대 8개), 레이블이 서로 달라야 하며, 레이블을 제외하면 두 측이 동일해서는 안 됩니다.
- 짝지은 키 열은 같은 종류의 값(숫자, 텍스트, 날짜, 날짜 및 시간, 또는 참/거짓)을 담고 있어야 합니다. 부동 소수점 숫자 열(
float또는double같은 유형)은 키가 될 수 없으며, 키는 이름이value또는rows인 열일 수 없습니다. - 측정값은 개수를 세는 경우가 아니라면 숫자 열이어야 합니다.
- 부동 소수점 숫자 열의 평균, 합계, 최솟값 또는 최댓값에는 0보다 큰 허용 오차가 필요합니다. 이러한 값은 정확히 일치하는 경우가 드물기 때문입니다.
- 지정하는 모든 테이블과 열은 프로젝트에 있어야 하며, 연결된 워크플로도 프로젝트에 있어야 합니다.
- 변경 사항이 없는 상태로 저장하면 거부됩니다.
두 측은 한쪽은 합계, 다른 쪽은 개수처럼 서로 다른 측정값을 사용할 수 있습니다. 없는 행은 양쪽 모두 합계: 또는 개수: 를 사용하는 경우에만 0으로 간주됩니다. 결과 읽기를 참조하십시오.
대사는 워크플로를 마감 준비 완료로 표시할 수 있으므로 두 사람이 필요합니다. 저장한 내용은 초안입니다. 다른 아키텍트가 초안을 선택하고 승인을 클릭하면, 그때부터 해당 버전이 사용자와 준비 상태 체크리스트가 실행하는 버전이 됩니다. 마지막으로 편집한 버전은 직접 승인할 수 없으므로, 대사를 사용하려면 프로젝트에 두 번째 아키텍트가 필요합니다. 승인 시 테이블을 다시 검사하며, 승인자가 초안을 읽은 이후 초안이 변경되었다면 승인이 거부됩니다.
승인된 대사를 편집하면 새 초안이 저장되며, 새 초안이 승인될 때까지는 승인된 버전이 계속 사용됩니다. 더 최신의 초안이 대기 중이면 결과에 그렇게 표시됩니다. 아키텍트는 초안 확인을 클릭하여 승인 전에 작업 중인 버전을 실행할 수 있습니다.
결과 읽기
섹션 제목: “결과 읽기”대사를 선택하면 실행됩니다. 데이터가 변경된 후 다시 실행하려면 다시 확인을 클릭합니다.
일치하지 않는 경우 차이가 나는 행이 문장 아래에 가장 큰 차이부터 최대 50개까지 나열됩니다. 각 행에는 키, 양쪽의 값, 그리고 첫 번째 측에서 두 번째 측을 뺀 값이 표시됩니다. 한쪽에만 있는 행은 다른 쪽에 0이 아니라 행 없음으로 표시되고, 값이 비어 있는 행은 값 없음으로 표시됩니다. 표시된 것보다 많은 행이 다른 경우 캡션에 제외된 행의 수와 그 차이의 합계가 표시됩니다. 한 번에 더 적은 행을 보려면 필터를 추가하십시오.
-
허용 오차. 행의 두 값 차이가 허용 오차 이하이면 해당 행은 일치하는 것으로 봅니다. 이러한 작은 차이도 누적되므로, 행별로는 일치하지만 합계는 다를 수 있으며 이 경우 문장에 그렇게 표시됩니다.
총계정원장 실적이 시산표와 일치합니다. 계정 1,204개 모두 허용 오차 0.01 이내입니다. 전체 계정에서 이러한 작은 차이를 순액으로 합하면 0.37입니다. 총계정원장 실적 합계는 12,345,679.27이고 시산표 합계는 12,345,678.90이므로 총계정원장 실적이 0.37 더 큽니다.
-
없는 행. 양쪽 모두 합계: 또는 개수: 를 사용하는 경우 한쪽에만 있는 행은 다른 쪽에서 0으로 간주되므로, 한쪽에서 0이고 다른 쪽에 없는 행은 일치하는 것으로 봅니다. 한쪽에 행이 전혀 없는데 다른 쪽에는 행이 있으면 항상 차이로 간주됩니다.
-
기타 측정값. 고유 개수, 최솟값, 최댓값 또는 평균의 경우 한쪽에 없는 행은 차이로 간주되며, 이러한 값은 더할 수 없으므로 합계는 제공되지 않습니다.
Weave는 양쪽을 완전히 비교할 수 없을 때 검사할 수 없음이라고 표시하고 그 이유를 알려 줍니다. 다음과 같은 경우가 포함됩니다.
- 사용자의 역할로는 테이블 데이터를 읽을 수 없거나, 측이 읽는 테이블 중 하나를 볼 수 없는 경우
- 행 액세스 때문에 한쪽 측의 일부 행만 볼 수 있는 경우. 데이터 일부에 대한 일치는 일치가 아닙니다.
- 대사가 사용하는 테이블이나 열이 제거되었거나 이름이 바뀐 경우, 키 열이 이제 다른 종류의 값을 담고 있는 경우, 또는 측정값 열이 더 이상 숫자를 담고 있지 않거나 갖고 있지 않은 허용 오차가 이제 필요한 경우
- 측의 조회가 일부 항목에서 둘 이상의 행과 일치하게 된 경우
- 어느 쪽에도 필터와 일치하는 행이 없거나, 어느 행에도 값이 없는 경우
- 대사가 아직 승인되지 않은 경우
- 웨어하우스의 응답이 느린 경우처럼 방금 실행할 수 없었던 경우
준비 상태 체크리스트에서
섹션 제목: “준비 상태 체크리스트에서”워크플로에 연결된 대사는 해당 워크플로가 포함된 모든 준비 상태 세트의 워크플로 항목에 Reconciliations tie out 줄로 표시되며, 각 대사의 문장과 대사 열기가 함께 나타납니다. 일치하지 않는 대사가 있으면 워크플로는 준비되지 않음이 됩니다. Weave가 검사할 수 없었거나 승인되지 않은 대사가 있으면 검사할 수 없음이 되며, 다른 줄이 이미 준비되지 않음으로 만든 경우는 예외입니다.
체크리스트는 각 대사의 승인된 버전을 확인하는 사람의 권한으로 실행하므로, 그 결과는 해당 사람이 볼 수 있는 행을 반영합니다. 체크리스트당 최대 25개를 실행하며 전체 제한 시간은 1분입니다. 이를 초과하는 대사는 실행하지 않고 그렇게 표시되며 검사할 수 없음으로 집계됩니다. Weave가 마감 시간 전에 세트를 검사할 때는 세트의 담당자 권한으로 실행하며, 담당자가 세트를 마지막으로 저장했을 때 테이블을 읽을 수 있었던 경우에만 테이블을 읽습니다.
볼 수 있는 내용
섹션 제목: “볼 수 있는 내용”프로젝트의 Weave 탭을 열 수 있는 사용자는 누구나 승인된 대사를 나열할 수 있습니다. 대사를 실행하려면 테이블 데이터를 읽을 수 있는 역할도 필요합니다. 아키텍트가 아닌 사용자에게는 각 대사의 이름과 측 레이블만 표시되며 테이블, 열, 필터는 표시되지 않습니다. Weave가 이들에게 제공하는 사유에도 측의 이름만 나타납니다.
API를 통한 사용
섹션 제목: “API를 통한 사용”대사는 플랫폼 API를 통해 사용할 수 있습니다. GET /analyze/weave/reconciliations는 프로젝트의 대사를 나열하고, /analyze/weave/reconciliation에 대한 GET, POST, PUT, DELETE는 각각 대사 하나를 읽고, 만들고, 교체하고, 삭제합니다. POST /analyze/weave/reconciliation/approve는 초안을 승인합니다. 함께 읽은 content_digest로 설정한 digest를 보내야 하며, 이는 검토한 버전을 정확히 식별합니다. GET /analyze/weave/reconciliation/run은 대사를 실행합니다.
측은 다른 테이블을 조회할 수도 있습니다. 측의 테이블에서 조회 테이블로의 조인이며, 측의 각 행에 대해 최대 한 개의 행을 찾아야 합니다. 조회와 가중 평균: 측정값(평균과 마찬가지로 0보다 큰 허용 오차가 필요함)은 API를 통해서만 설정할 수 있으며, 양식은 편집할 때 이를 그대로 유지합니다.
MCP를 통해 연결된 AI 에이전트는 reconciliation_find와 reconciliation_run으로 대사를 찾고 실행할 수 있습니다. 자신의 로그인으로 연결된 아키텍트는 reconciliation_upsert로 초안을 저장할 수도 있지만, 에이전트 세션, Microsoft 365 Copilot, 앱 내 채팅처럼 다른 사람을 대신하여 동작하는 AI는 저장할 수 없습니다. 대사를 승인하는 MCP 도구는 없습니다.