본문으로 건너뛰기

Report 값과 표를 Flow input에 연결하기

Report에서 작성한 값은 원본, Flow가 공개한 input은 도착지입니다. 원본 하나는 여러 도착지에 재사용할 수 있고, 각 도착지 input은 한 원본을 받습니다. 한 connection에 추가한 여러 input은 사용자가 Run을 선택할 때 한 Flow Run의 입력값으로 함께 전달됩니다.

작성값과 결과의 방향, 연결 수, 여러 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은 유지됩니다. UndoDisconnect는 둘을 함께 제거하고 값을 일반 Report 내용으로 되돌립니다. 주변 문장·목록·표는 그대로 유지됩니다.

고정하중 G와 변동하중 Q처럼 한 구조화된 값에 속하는 두 값도 이 순서를 각각 따릅니다. 각 위치에서 @를 확정해 빈 연결 입력 칸을 만들고 값을 입력하면, 두 연결이 하나의 mapping으로 함께 저장됩니다.

값 형태부터 고르기

Report 원본Flow public input연결할 때 확인할 것
24.0 m, 42number숫자 type, unit, scalar
S355texttext type, 허용값
truebooleanboolean type
이름 있는 field 묶음Recordfield mapping, field별 type·unit
여러 itemList<T>item 원본과 item type
행을 식별할 고유 key가 있는 여러 행·fieldTable<Record>row key와 column 연결
Report 첨부 또는 Project resourceartifactartifact kind와 접근 권한

결과도 같은 값 형태를 사용합니다. number·text·boolean은 inline으로, Record·List·Table은 field 또는 result block으로, artifact는 전용 artifact 위치로 표시할 수 있습니다.

number·text·boolean 하나 연결하기

  1. 새 값이면 빈 위치에 caret를 둡니다. 기존 값을 초기값으로 쓰려면 text, number 또는 boolean을 선택합니다.
  2. @를 입력하거나 @ Insert → PXFLOW를 엽니다.
  3. Project와 Flow를 고르고 Use report input을 선택합니다.
  4. type과 unit이 맞는 public input을 고릅니다.
  5. Review connection에서 빈 위치에 만들 새 input 또는 선택한 원본 값과 destination input을 확인합니다.
  6. 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 fieldFlow section Record field
section_widthwidth
section_depthdepth
steel_gradegrade
  1. 한 Record를 구성할 Report field를 선택합니다.
  2. section 같은 Record input을 고릅니다.
  3. Connection 탭의 field mapping에서 Report field마다 destination field를 선택합니다.
  4. 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 fieldFlow load_cases Table field역할
case_idcase_key행을 식별하는 고유 key
permanentpermanent_gnumber [kN]
variablevariable_qnumber [kN]
  1. 빈 문단의 caret에서 @를 입력하고 Table input을 고른 뒤 Connect input을 확정합니다.
  2. 새 connected table에 행을 식별할 고유 row key와 계산에 사용할 field를 포함해 값을 입력합니다.
  3. 저장된 connection을 열고 Connection → Table mapping으로 이동합니다.
  4. row key와 각 destination field를 정합니다.
  5. type, unit, required field와 선택 행 수를 확인합니다.
  6. 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 mclear_spananalysis_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 setcase 수만큼 Runstable case key마다 Run 상태와 Result가 있음

collection 한 번 실행하기

Report 선택Flow public input전달되는 값
셀 1개scalarscalar 하나
N행 × field 1개List<T>list 하나
N행 × 여러 fieldTable<Record>typed table 하나
한 대상의 field 여러 개Record이름 있는 field 묶음 하나

Flow가 행별 결과를 보여 줘야 하면 stable row key와 status, 값, diagnostic field가 있는 Table result를 공개하도록 구성합니다. Report는 이 Table을 한 Run의 Result로 표시하며, 성공한 행과 확인이 필요한 행을 같은 provenance에서 검토할 수 있습니다.

여러 scalar case를 Batch로 실행하기

  1. scalar input set을 만들 여러 행을 선택합니다.
  2. 값 형태 안내에서 Create Batch Run을 선택합니다.
  3. 각 행의 stable case key와 완전한 input set을 확인합니다.
  4. 모든 case가 공유하는 input과 case마다 달라지는 input을 확인합니다.
  5. 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로 받을 수 있습니다.

CasePermanent GVariable QUtilizationStatus
ULS-01작성값작성값Flow resultFlow result
ULS-02작성값작성값Flow resultFlow result
SLS-01작성값작성값Flow resultFlow result
  • 입력 field는 Report가 소유하며 Report Workbench에서 편집합니다.
  • 결과 field는 immutable Result를 읽기 전용으로 표시합니다.
  • case_key mapping이 input 행, result 행과 provenance를 연결합니다.
  • input이나 Flow를 수정한 뒤 Run again을 선택하면 새 Result가 현재 결과 field에 반영됩니다.

선택 영역과 resolver를 함께 보면서 각 Report 행에 맞는 typed result field를 확인합니다.

연결 바꾸기

  1. Connections를 켭니다.
  2. 값 또는 표 영역의 @ 표시를 선택합니다.
  3. resolver에서 원본, Flow와 public input을 바꿉니다.
  4. Record·List·Table이면 resolver의 field mapping을 다시 확인합니다.
  5. 행의 방향 문구와 표 아래 연결 요약에서 바뀐 경로를 확인합니다.
  6. 현재 draft에 반영하고 Report를 Save해 새 revision을 만듭니다.

연결 직후 Undo를 실행하거나 저장된 연결에서 Disconnect를 선택하면 input 영역과 binding이 함께 제거되고 값은 일반 Report 내용으로 돌아갑니다.

type·unit·값 형태 문제 해결하기

화면 상태다음 동작
Compatible원본 값과 input 계약이 일치Connect 또는 Apply
Shape mismatchscalar와 collection 형태가 다름collection input 선택 또는 Batch Run 만들기
Unit mismatch단위 변환 검토 필요호환 단위 input 선택 또는 명시적 변환 확인
Missing required input같은 Run에 필요한 input이 더 있음안내된 원본 mapping 추가
Missing fieldRecord 또는 Table의 required field가 비어 있음source field를 destination field에 연결
Duplicate destination한 Flow input에 원본이 두 개 지정됨사용할 원본 하나 선택
Stale resultinput, 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에서 확인하세요.

이어서 보기