행 고유 key가 있는 Table 추가하기
용도
이미 생성하거나 저장한 입력 표는 report.table(key)로 열고 table.cell(row, field)와 table.set_cell(row, field, value)로 읽거나 수정합니다. 셀 편집 규칙을 참고하세요.
basis.table(...)은 basis = report.section(...)으로 받은 Section handle의 메서드입니다. 같은 field 구조를 가진 여러 행을 Report에 추가하며, row_key는 행을 추가하거나 정렬한 뒤에도 각 행을 계속 찾는 고유값입니다.
Report Workbench에서 보이는 것
Report Workbench에서 열과 행을 가진 표를 추가하는 작업과 같습니다. Connected Flow 편집기에서는 호환되는 px.Table[RecordType] public input에 연결할 수 있습니다.
문법
python
basis.table(table_key, rows, row_key=...)예제
python
from pipelinexlab import px
report = px.Report("girder_report", title="Girder review")
basis = report.section("design_basis", title="Design basis")
load_cases = basis.table(
"load_cases",
rows=[
{"case_key": "uls_01", "demand": 860.0},
{"case_key": "uls_02", "demand": 920.0},
],
row_key="case_key",
)매개변수
| 이름 | 설명 |
|---|---|
table_key | Report 전체에서 Table을 계속 찾는 고유 key |
rows | 같은 field 구조를 가진 행 목록. 각 셀은 bool, int, Decimal, float, str을 사용 |
row_key | 각 행의 고유값이 들어 있는 field 이름 |
새 셀은 Core의 typed scalar 형식으로 저장됩니다. 한 table 작성은 동일한 문서 computationScale을 사용하며, 기존 primitive 셀은 읽을 때 자동 변환하거나 다시 저장하지 않습니다.
반환
Table을 가리키는 typed handle을 반환합니다. 전체 Table을 그대로 연결하거나 table.select(...)로 stable row·field를 선택한 뒤 호환되는 Flow Table input에 연결할 수 있습니다.
규칙
- 모든 행은
row_keyfield를 가지며 그 값은 Table 안에서 중복되지 않아야 합니다. table_key는 section이 달라도 같은 Report 안에서 중복되지 않아야 합니다.- Table을
px.Table[RecordType]input 하나에 연결하면 표 전체를 받는 Flow Run 하나가 생깁니다. - 각 row를 독립 scalar input set으로 반복 실행할 때는
client.run_batch(...)을 명시합니다. - Table 추가는 계산 Run을 시작하지 않으며
report.save()에서 저장됩니다.