Report 값과 표를 Flow input에 연결하기
Report에서 작성한 값은 원본, Flow가 공개한 input은 도착지입니다. 원본 하나는 여러 도착지에 재사용할 수 있고, 각 도착지 input은 한 원본을 받습니다. 한 connection에 추가한 여러 input은 사용자가 Run을 선택할 때 한 Flow Run의 입력값으로 함께 전달됩니다.
input 영역과 binding은 함께 만듭니다
빈 위치의 글자 입력 위치(caret)에서 @를 직접 입력하고, 연결 대상을 고르는 선택 창(Resolver)에서 Connect input을 확정하면 편집 가능한 input 영역과 Flow input binding이 한 번에 생깁니다. 이미 작성한 text나 number를 선택해 시작하면 그 내용을 새 input의 초기값으로 사용하며, 확정 전까지는 일반 Report 내용입니다. 빈 required input은 연결만 된 미완료 상태이며 값을 입력해 commit한 뒤에만 Run 준비 상태가 됩니다.
이름이 있는 값 여러 개를 문장이나 목록의 서로 다른 위치에 나눠 표시할 때는 각 위치에서 @를 따로 입력하고 확정합니다. 이렇게 만든 연결들은 같은 구조화된 값에 속하므로 하나의 mapping으로 함께 저장됩니다. Esc, Cancel 또는 확정 전에 안내의 Exit를 선택하면 해당 position의 input 영역과 binding이 생기지 않으며, 같은 action에서 앞서 확정한 position은 유지됩니다. Undo나 Disconnect는 둘을 함께 제거하고 값을 일반 Report 내용으로 되돌립니다. 주변 문장·목록·표는 그대로 유지됩니다.
고정하중 G와 변동하중 Q처럼 한 구조화된 값에 속하는 두 값도 이 순서를 각각 따릅니다. 각 위치에서 @를 확정해 빈 연결 입력 칸을 만들고 값을 입력하면, 두 연결이 하나의 mapping으로 함께 저장됩니다.
값 형태부터 고르기
| Report 원본 | Flow public input | 연결할 때 확인할 것 |
|---|---|---|
24.0 m, 42 | number | 숫자 type, unit, scalar |
S355 | text | text type, 허용값 |
true | boolean | boolean type |
| 이름 있는 field 묶음 | Record | field mapping, field별 type·unit |
| 여러 item | List<T> | item 원본과 item type |
| 행을 식별할 고유 key가 있는 여러 행·field | Table<Record> | row key와 column 연결 |
| Report 첨부 또는 Project resource | artifact | artifact kind와 접근 권한 |
결과도 같은 값 형태를 사용합니다. number·text·boolean은 inline으로, Record·List·Table은 field 또는 result block으로, artifact는 전용 artifact 위치로 표시할 수 있습니다.
number·text·boolean 하나 연결하기
- 새 값이면 빈 위치에 caret를 둡니다. 기존 값을 초기값으로 쓰려면 text, number 또는 boolean을 선택합니다.
@를 입력하거나 @ Insert → PXFLOW를 엽니다.- Project와 Flow를 고르고 Use report input을 선택합니다.
- type과 unit이 맞는 public input을 고릅니다.
- Review connection에서 빈 위치에 만들 새 input 또는 선택한 원본 값과 destination input을 확인합니다.
- Connect input을 선택합니다.
빈 caret에서 시작하면 Connect input을 확정할 때 빈 editable field와 input mapping이 함께 생깁니다. 기존 값을 선택한 경로도 같은 확정 단계에서 field와 mapping을 함께 만듭니다.
Record·List·Table field를 명시적으로 mapping하기
구조화된 값은 Report의 어느 칸이 Flow의 어느 field로 갈지 이름으로 짝지어 둡니다. 이 짝을 field mapping이라고 합니다. 연결의 기준은 이 짝이므로 화면에서 열 순서를 바꾸거나 열을 추가해도 이미 만든 연결은 그대로 유지됩니다.
Record 한 개
Record는 한 대상을 설명하는 이름 있는 field 묶음입니다.
| Report field | Flow section Record field |
|---|---|
section_width | width |
section_depth | depth |
steel_grade | grade |
- 한 Record를 구성할 Report field를 선택합니다.
section같은 Record input을 고릅니다.- Connection 탭의 field mapping에서 Report field마다 destination field를 선택합니다.
- required field, type, unit과 빈 값 허용 여부를 확인하고 Connect input을 선택합니다.
List 한 개
List<T>는 같은 type의 항목을 순서대로 담은 값 하나입니다.
List<number>에는 선택한 Report field의 각 값을 item으로 연결합니다.List<Record>에는 각 항목을 식별할 원본과 Record field 연결을 함께 정합니다.- Review connection에서 선택된 item 수, item type과 순서를 확인합니다.
예를 들어 factor field의 세 행을 List<number> input에 연결하면 [1.0, 1.35, 1.5]라는 collection 값 하나가 Run 한 번에 전달됩니다.
Table 한 개
Table은 같은 형태의 행이 여러 개 있는 값입니다. 표를 연결할 때는 두 가지를 정합니다.
- row key: 각 행을 구분하는 값입니다. 아래 예에서는
case_id가 row key입니다. 행 번호 대신 이 값으로 행을 찾기 때문에, 표를 정렬하거나 중간에 행을 추가·삭제해도 같은 행의 입력과 결과가 계속 짝을 이룹니다. 값이 겹치지 않는 열 하나를 고르세요. - field mapping: Report의 각 열을 Flow Table의 어느 column으로 보낼지 짝지어 둡니다.
기존 ordinary 표 범위에 @를 직접 입력해 connected input으로 승격하는 경로는 아직 계획 단계입니다. 현재 Connection → Table mapping은 이미 만들어진 connected table의 field·row mapping만 편집합니다. 새 connected table은 빈 문단의 caret에서 @를 입력해 Table input을 고르고 Connect input을 확정할 때 table 영역과 binding을 함께 만듭니다.
| Report field | Flow load_cases Table field | 역할 |
|---|---|---|
case_id | case_key | 행을 식별하는 고유 key |
permanent | permanent_g | number [kN] |
variable | variable_q | number [kN] |
- 빈 문단의 caret에서
@를 입력하고 Table input을 고른 뒤 Connect input을 확정합니다. - 새 connected table에 행을 식별할 고유 row key와 계산에 사용할 field를 포함해 값을 입력합니다.
- 저장된 connection을 열고 Connection → Table mapping으로 이동합니다.
- row key와 각 destination field를 정합니다.
- type, unit, required field와 선택 행 수를 확인합니다.
- mapping을 현재 draft에 반영하고 Report를 Save합니다.
연결된 셀과 행에는 compact @ 표시와 방향 문구가 함께 표시됩니다.
- Report → Flow는 Report 영역을 Flow input으로 보내는 연결입니다.
- Flow → Report는 Flow result를 Report 위치에 표시하는 연결입니다.
@표시를 선택하면 해당 mapping의 resolver가 다시 열립니다.- Connections를 끄면 표시만 숨겨지고 내용과 mapping은 유지됩니다.
Table result를 같은 Report 표에 표시할 때도 field를 명시적으로 짝지어 줍니다. 예를 들어 Flow result의 case_key, utilization, passed를 Report의 case_id, ratio, status에 연결합니다. row key가 각 result 행을 원래 case와 맞춥니다.
artifact 한 개
Report의 첨부나 Project resource를 선택하고 호환되는 artifact input을 고릅니다. Review connection에서 artifact kind, source 이름과 접근 권한을 확인합니다. Run은 권한이 검사된 resource reference를 받으므로 Report와 Result에서 같은 provenance를 따라갈 수 있습니다.
원본 재사용과 destination 충돌
같은 Report 원본을 서로 다른 input에 재사용하면 destination마다 별도 mapping이 생깁니다. 예를 들어 span = 24.0 m를 clear_span과 analysis_length input에 함께 연결할 수 있습니다. 원본을 수정하면 두 mapping과 영향을 받는 Result가 함께 Stale로 표시됩니다.
Flow input 하나에 Report 원본 두 개가 선택되면 Duplicate destination이 표시됩니다. Review connection에서 그 input에 사용할 원본 하나를 고르면 나머지 mapping에는 영향 없이 연결을 저장할 수 있습니다.
collection 한 Run과 Batch 여러 Run 고르기
선택한 행의 수보다 destination input의 형태를 기준으로 실행 방식을 고릅니다.
| 목적 | destination | 실행 수 | 결과 상태 |
|---|---|---|---|
| 여러 값을 collection으로 한 번에 계산 | List<T> | Run 1회 | list 전체가 한 Result에 속함 |
| 여러 Record 행을 표로 한 번에 계산 | Table<Record> | Run 1회 | stable row key와 row status를 Table result에 포함 가능 |
| 각 행을 독립 scalar case로 계산 | Batch Run의 scalar input set | case 수만큼 Run | stable case key마다 Run 상태와 Result가 있음 |
collection 한 번 실행하기
| Report 선택 | Flow public input | 전달되는 값 |
|---|---|---|
| 셀 1개 | scalar | scalar 하나 |
| N행 × field 1개 | List<T> | list 하나 |
| N행 × 여러 field | Table<Record> | typed table 하나 |
| 한 대상의 field 여러 개 | Record | 이름 있는 field 묶음 하나 |
Flow가 행별 결과를 보여 줘야 하면 stable row key와 status, 값, diagnostic field가 있는 Table result를 공개하도록 구성합니다. Report는 이 Table을 한 Run의 Result로 표시하며, 성공한 행과 확인이 필요한 행을 같은 provenance에서 검토할 수 있습니다.
여러 scalar case를 Batch로 실행하기
- scalar input set을 만들 여러 행을 선택합니다.
- 값 형태 안내에서 Create Batch Run을 선택합니다.
- 각 행의 stable case key와 완전한 input set을 확인합니다.
- 모든 case가 공유하는 input과 case마다 달라지는 input을 확인합니다.
- case 수와 result를 모을 위치를 검토한 뒤 Run batch를 선택합니다.
예를 들어 ULS-01, ULS-02, SLS-01 세 case는 Run 세 개를 만듭니다. 실행 자원이 있으면 동시에 진행되며 완료 순서는 달라질 수 있습니다. Batch 화면은 stable case key마다 Queued, Running, Succeeded, Failed, Cancelled 같은 상태와 Result를 보여 줍니다.
성공한 case와 실패한 case가 함께 있으면 Batch 요약이 부분 상태를 보여 줍니다. 완료된 Result는 유지하고, 필요한 case의 Run을 선택해 Retry하거나 Cancel할 수 있습니다.
같은 표에 input과 result 함께 두기
작성 field는 input으로 보내고, 계산 field는 result로 받을 수 있습니다.
| Case | Permanent G | Variable Q | Utilization | Status |
|---|---|---|---|---|
| ULS-01 | 작성값 | 작성값 | Flow result | Flow result |
| ULS-02 | 작성값 | 작성값 | Flow result | Flow result |
| SLS-01 | 작성값 | 작성값 | Flow result | Flow result |
- 입력 field는 Report가 소유하며 Report Workbench에서 편집합니다.
- 결과 field는 immutable Result를 읽기 전용으로 표시합니다.
case_keymapping이 input 행, result 행과 provenance를 연결합니다.- input이나 Flow를 수정한 뒤 Run again을 선택하면 새 Result가 현재 결과 field에 반영됩니다.
선택 영역과 resolver를 함께 보면서 각 Report 행에 맞는 typed result field를 확인합니다.
연결 바꾸기
- Connections를 켭니다.
- 값 또는 표 영역의
@표시를 선택합니다. - resolver에서 원본, Flow와 public input을 바꿉니다.
- Record·List·Table이면 resolver의 field mapping을 다시 확인합니다.
- 행의 방향 문구와 표 아래 연결 요약에서 바뀐 경로를 확인합니다.
- 현재 draft에 반영하고 Report를 Save해 새 revision을 만듭니다.
연결 직후 Undo를 실행하거나 저장된 연결에서 Disconnect를 선택하면 input 영역과 binding이 함께 제거되고 값은 일반 Report 내용으로 돌아갑니다.
type·unit·값 형태 문제 해결하기
| 화면 상태 | 뜻 | 다음 동작 |
|---|---|---|
| Compatible | 원본 값과 input 계약이 일치 | Connect 또는 Apply |
| Shape mismatch | scalar와 collection 형태가 다름 | collection input 선택 또는 Batch Run 만들기 |
| Unit mismatch | 단위 변환 검토 필요 | 호환 단위 input 선택 또는 명시적 변환 확인 |
| Missing required input | 같은 Run에 필요한 input이 더 있음 | 안내된 원본 mapping 추가 |
| Missing field | Record 또는 Table의 required field가 비어 있음 | source field를 destination field에 연결 |
| Duplicate destination | 한 Flow input에 원본이 두 개 지정됨 | 사용할 원본 하나 선택 |
| Stale result | input, mapping 또는 Flow가 이전 Run 뒤 바뀜 | Save 후 Run again |
저장과 schema 상세
Report는 화면 좌표 대신 선택한 block, table, stable row와 field를 기억합니다. Project, exact Flow revision, public input과 Run 정책도 같은 connection에 저장합니다. Flow의 Node와 내부 연결은 Flow가 계속 소유합니다.
.pxreport field 이름과 정확한 source union은 Report → PXFLOW input mapping 계약에서, Record·List·Table type 규칙은 입력·결과 type과 unit에서 확인하세요.