Files
playbook/skills/tsl-api-reference/workflows/dictionary-lookup.md
T

47 lines
2.3 KiB
Markdown

# 数据字典查询
用于按中文业务含义查询天软数据字典中的表、数据源、字段或 API 参数取值域。表、数据源
和字段不是可调用 API,不进入 `function_index.tsv`;参数取值域是独立的随 skill 分发数据。
先查看脚本当前契约:
```bash
python <this-skill-dir>/scripts/dictionary_lookup.py --help
```
## 查询
```bash
python <this-skill-dir>/scripts/dictionary_lookup.py \
--query "股票现金流指标销售现金比率"
python <this-skill-dir>/scripts/dictionary_lookup.py --query "市值" --scope fund
python <this-skill-dir>/scripts/dictionary_lookup.py --query "买一量" --table TradeTable
python <this-skill-dir>/scripts/dictionary_lookup.py --query "9900700" --field 销售现金比率
python <this-skill-dir>/scripts/dictionary_lookup.py --query "申万煤炭"
```
表/字段结果包含表或数据源名称、表 ID、字段名称、字段 ID、类型、单位、提取方式、访问
代码、对应 API 和字典页面。参数取值域结果包含原始值、名称、父级/层级、有效期、绑定
API 参数、关联表、模式和来源;`runtime_catalog` 还会给出系统或用户目录解析器。
## 状态判读
- `status: ok`:最高分候选唯一。
- `status: ambiguous`:存在多个同分候选;列出候选并请用户补充 scope、表或数据源范围,
不能默认选第一条。
- `status: no_match`:表、字段和参数取值域均无匹配,不能改述为 API 的 `not found`
参数取值域的“静态记录不完整”表示只记录了已核实样例。需要使用未列出的板块名、用户板块
或其他动态名称时,先调用结果给出的运行时解析器确认;不能凭名称相似性推断可用值。
用精确的参数域 ID 或域名称查询时,结果返回该域的绑定 API、完整性、已记录候选和运行时
解析器;用具体名称或代码查询时,结果返回对应取值及其父级、有效期和关联表。
标识符匹配保留下划线;同义词只来自 `dictionary_lexicon.json` 的受控映射。
`MarketTable``TradeTable` 是 TS-SQL 数据源,不是函数。
## 退出码
- rc=0:查询完成,实际结果由 `status` 判定,包括 `ambiguous``no_match`
- rc=1:字典索引、词表或参数取值域数据缺失、损坏、格式错误。
- rc=2:参数不合法。