본문으로 건너뛰기

Report 작성 API

px.Report는 Report Workbench와 같은 편집 명령으로 Report의 내용과 Flow 연결을 작성합니다. 완성한 Report는 report.save()로 새 .pxreport revision에 저장합니다.

SDK 생성자는 px.Report(...)이고, 이 생성자가 반환한 특정 Report의 작업은 report.section(...), report.connect_flow(...), report.save()로 이어갑니다. basis = report.section(...)으로 받은 Section handle에서는 basis.text(...)처럼 호출하고, connection = report.connect_flow(...)으로 받은 handle에서는 connection.bind(...)처럼 호출합니다.

python
from pipelinexlab import px
from project_flows.girder_check import flow

report = px.Report("girder_report", title="Girder review")
basis = report.section("design_basis", title="Design basis")
basis.text("purpose", "Review the governing girder check.")
span = basis.value("span", 12.0, unit="m")

summary = report.section("check_summary", title="Check result")
slot = summary.result_slot("utilization", label="Utilization")

connection = report.connect_flow("strength_check", flow)
connection.bind("span_input", span, to=flow.inputs.span)
connection.show("utilization_result", flow.results.utilization, at=slot)

report_revision = report.save()

Report 객체 만들기

Report 객체 메서드

Section handle 메서드

basis = report.section(...)처럼 받은 handle에서 호출합니다.

Table handle 메서드

  • .select()로 stable row·field를 선택해 typed mapping source 만들기

Connected Flow handle 메서드

strength = report.connect_flow(...)처럼 받은 handle에서 호출합니다.

  • .bind()로 stable mapping key와 함께 Report 원본을 Flow input에 연결하기
  • .show()로 stable mapping key와 함께 Flow result를 Report 위치에 표시하기
  • .remove_mapping()으로 input/result mapping 제거하기

기존 항목 바꾸기

px.Report.open(...)으로 연 Report에서 같은 stable key와 같은 kind를 다시 선언하면 해당 항목을 갱신합니다. 예를 들어 basis.value("span", 14.0, unit="m")는 기존 span value의 값을 바꿉니다. 같은 key를 다른 kind로 바꾸거나 삭제한 key를 다른 의미로 재사용하면 validation이 실패합니다. 순서·부모 변경은 report.move(...), 제거는 report.remove(...)를 사용합니다.

저장과 편집 모델

저장된 Report의 기준 문서는 .pxreport입니다. Python SDK, Report Workbench와 AI는 같은 section·value·connection key를 사용해 이 문서를 편집합니다.

Python 코드는 Report 작성을 자동화할 때 사용합니다. report.save() 뒤에는 저장된 .pxreport revision이 현재 Report의 기준입니다. Workbench 또는 AI가 먼저 새 revision을 저장했다면, Python에서 다시 저장할 때 그 사이의 변경과 충돌하는지 확인합니다.

px.Reportpx.Flow는 같은 pipelinexlab import에서 사용하며 같은 .py 파일에도 둘 수 있습니다. 저장 결과는 .pxreport.pxflow라는 독립 문서로 유지됩니다.

실행은 Runtime API에서

Report 작성과 연결 저장으로 계산 준비를 마칩니다. 실제 계산은 저장한 connection을 client.run(...), 여러 connection은 client.run_many(...), 반복 scalar case는 client.run_batch(...)로 실행합니다.

전체 예제

Python으로 Report와 Flow 함께 만들기에서 설치부터 Flow·Report 작성, 저장과 실행까지 이어지는 예제를 확인하세요.