企业标准设计: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"]
    }
  }
}

五、撰写指南