Zio.View()
DataStudio 화면의 가상화 뷰 (Virtual Views) 탭에서 사람이 만들어 저장해 둔 것을 이름으로 불러 돌립니다. 여러 저장소에 흩어진 것을 한 번에 보게 묶어 둔 자리입니다.
SQL 이 오가지 않습니다. 스킬은 이름만 넘기고, 찾는 것도 돌리는 것도 서버가 합니다. 쿼리를 손에 쥐지 않으니 바꿔치기할 자리가 없습니다.
쿼리는 사람이 화면에서 만들고 고칩니다. 스킬은 그것을 이름으로 부를 뿐입니다 — 뷰가 바뀌면 스킬은 그대로 두고 결과만 따라옵니다.
from zio_ontology import Zio
# 어떤 뷰가 있는지for v in Zio.view.list(): print(v["name"], v["description"], v["columns"])
# 이름으로 불러 돌린다rows = Zio.view("월별 작업집계").fetch().datafor r in rows: print(r["month"], r["work_count"])
# 사람에게 보일 문장을 만들 때 — 이름과 칸은 화면에서 붙인 것이라 박아 두지 않는다info = Zio.view("월별 작업집계").info()print(f"{info['name']}: {[c['label'] for c in info['columns']]}")| Method | Description |
|---|---|
Zio.view.list() |
만들어 둔 뷰 목록. {name, description, category, columns[]}. SQL 은 안 옵니다 — 뷰를 고르는 데 필요한 것은 이름과 칸뿐입니다. |
Zio.view(name) |
뷰 하나를 집습니다. 이름은 DataStudio 화면에 보이는 그 이름입니다. 없으면 LookupError 이고, 있는 뷰 이름을 문장에 담아 줍니다. |
.fetch(limit=None) |
돌려서 행을 가져옵니다. 각 행은 칼럼명이 그대로 키인 평평한 dict 입니다. 안 주면 1000행까지 싣고, 저장된 쿼리에 이미 LIMIT 이 있으면 그것을 따릅니다. |
.info() |
뷰 자체의 설명입니다. {name, description, category, columns:[{name, label, type}]}. 사람에게 보일 문장을 만들 때 씁니다 — 화면에서 이름을 바꿔도 문장이 따라옵니다. |
섹션 제목: “Zio.entity 의 뷰와 다릅니다”
Zio.entity의 뷰와 다릅니다
Zio.entity는 PostgreSQLusr스키마에 실제로 있는 표와 뷰를 다룹니다.Zio.view는 DataStudio 화면에서 만든 가상화 뷰입니다 — 여러 저장소를 묶어 놓은 것이라 그런 표가 어디에 하나로 있지 않습니다. 찾는 자리도 화면에서 갈라져 있습니다.
읽기만 됩니다
섹션 제목: “읽기만 됩니다”저장된 것이 조회문(
SELECT·WITH)이 아니면ValueError입니다. 같은 이름의 뷰가 둘 이상이어도ValueError입니다 — 아무거나 골라 돌리면 어느 것이 돌았는지 아무도 모릅니다. 화면에서 이름을 갈라 주십시오.