본문으로 건너뛰기

행 고유 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_keyReport 전체에서 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_key field를 가지며 그 값은 Table 안에서 중복되지 않아야 합니다.
  • table_key는 section이 달라도 같은 Report 안에서 중복되지 않아야 합니다.
  • Table을 px.Table[RecordType] input 하나에 연결하면 표 전체를 받는 Flow Run 하나가 생깁니다.
  • 각 row를 독립 scalar input set으로 반복 실행할 때는 client.run_batch(...)을 명시합니다.
  • Table 추가는 계산 Run을 시작하지 않으며 report.save()에서 저장됩니다.

다음 단계