企业标准设计:DQI 抽取与状态逻辑规格
一、总览
本文件定义企业内部用于 DQI(Data Quality Indicator)系统之标准化抽取与状态评估流程。
包含结构文件格式、处理顺序、运算逻辑与数据型别定义,作为统一实作与流程自动化之依据。
二、定义档与数据源
– dqi_ext.spec:描述如何从各类 EDA 报告中抽取数据。
– dqi_id.dqi:定义各种状态条件(STATUS_NAME 与 CRITERIA)。
– dqi_id.val:储存实际抽取结果与状态(VALUE, PATH, 时间等)。
三、处理流程
3.1 抽取阶段(Extraction)
– 根据 dqi_ext.spec 设定,从 Report_path 指定之报告中比对文字
– 若定义 Simple_match_regular_expression:
– Only_extract_first = true → 使用第一笔 match 结果
– false → 使用最后一笔 match 结果
– 无 match 结果则使用 Default_value
– 若有 Complex_match_script,则改由外部脚本决定 VALUE
抽取结果记录在 dqi_id.val 中,字段:VALUE、DATE_TIME、PATH、ATTACHMENT
3.2 状态判断阶段(Evaluation)
– 根据 dqi_id.dqi 的 STATUS_NAME 区块进行逻辑比对
– 仅取第一个符合条件的 STATUS_NAME 为状态结果
– 仅能择一使用 @CRITERIA 或 @CRITERIA_SCRIPT(若同时存在,以后者为主)
– @CRITERIA 表达式依据该 DQI 的 DATA_TYPE 进行运算(例如 “$dqi_id > 1″)
– @CRITERIA_SCRIPT 或 Complex_match_script 须回传 true/false
状态决定方式
- 根据该 DQI 的 VALUE,依序评估每个 STATUS_NAME 区块之条件。
- 若符合该区块条件(判断为 true),则此 STATUS_NAME 为该 DQI 的状态。
- 仅取 第一个符合条件 的 STATUS_NAME,后续区块不再检查。
四、JSON Schema 结构草案
4.1 dqi_ext.spec 结构
{
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"properties": {
"Report_path": { "type": "string" },
"Simple_match_regular_expression": { "type": "string" },
"Only_extract_first": { "type": "boolean" },
"Default_value": {},
"Complex_match_script": { "type": "string" }
},
"required": ["Report_path"]
}
}
}
4.2 dqi_id.dqi 结构
{
"type": "object",
"patternProperties": {
"STATUS_NAME::.*": {
"type": "object",
"properties": {
"@CRITERIA": { "type": "string" },
"@CRITERIA_SCRIPT": { "type": "string" }
},
"oneOf": [
{"required": ["@CRITERIA"]},
{"required": ["@CRITERIA_SCRIPT"]}
]
}
}
}
4.3 dqi_id.val 结构
{
"type": "object",
"patternProperties": {
".*": {
"type": "object",
"properties": {
"VALUE": {},
"DATE_TIME": { "type": "string", "format": "date-time" },
"PATH": { "type": "string" },
"ATTACHMENT": { "type": "string" }
},
"required": ["VALUE"]
}
}
}
五、撰写指南
