# 合成教学配置；请连同配套输入使用，数值仅用于复现本例。
config_version: 4          # 声明分析文件采用的字段结构版本；当前填写整数4
dataset:                   # 设置本次分析名称及可选的对象、会话和时间范围
  domain:                  # 限定本次分析请求的起止时间；应与来源采用相同时间基准
    end: 2s                # 设置分析终点；连续时长不包含该端点，按希望分析的范围填写
    start: 0s              # 设置分析起点，包含该时刻；按希望分析的范围填写
  name: memory_power       # 命名本次分析数据集；名称写入结果身份字段
sources:                   # 列出输入来源；每项规定数据位置、格式和时间解释方式
  - rows:                  # 提供内存来源的记录列表；每条记录含时间及该时刻的字段值
      - time: 0s           # 填写本条合成记录的发生时间，按本来源的time声明解释
        values:            # 列出本条记录实际更新的原字段及值；字段名供signals.field选择
          power: 2         # 本时刻原字段power的合成输入值；其类型和单位由下方信号定义说明
      - time: 1s           # 填写本条合成记录的发生时间，按本来源的time声明解释
        values:            # 列出本条记录实际更新的原字段及值；字段名供signals.field选择
          power: 4         # 本时刻原字段power的合成输入值；其类型和单位由下方信号定义说明
      - time: 2s           # 填写本条合成记录的发生时间，按本来源的time声明解释
        values:            # 列出本条记录实际更新的原字段及值；字段名供signals.field选择
          power: 4         # 本时刻原字段power的合成输入值；其类型和单位由下方信号定义说明
    source_type: memory    # 选择数据格式；memory内存记录、signal_csv物理量表、can_blf/can_asc/raw_can_csv原始CAN
signals:                   # 把输入字段定义为有名称、类型、单位和有效期的分析信号
  - dtype: float64         # 选择分析值类型；float64小数、int64有符号整数、uint64非负整数、bool真假、enum状态名称
    field: power           # 指定来源中的原始字段；CSV填表头，CAN填写通道/报文ID/DBC信号名
    name: power            # 给分析信号取名称；后续表达式和计算通过此名称引用它
    unit: W                # 声明分析值的单位；按物理含义填写，无量纲用字符串"1"；按已登记的兼容单位换算数值
    valid_for: 3s          # 设置一次有效更新最多沿用多久；依据采样周期和允许数据陈旧程度填写
calculations:              # 列出希望获得的统计或积分结果，每项独立选择范围和算法
  - name: energy           # 为这项计算结果取唯一名称；结果表用它区分计算项
    operation: integral    # 选择计算方法；本例将有效数值乘持续时间后累计，例如功率乘秒得到能量
    expr: power            # 指定参与计算的数值或信号表达式；引用前面已定义的信号
execution:                 # 设置本次分析的并行处理方式
  process_count: 1         # 本例为CSV、内存或多来源会话，当前仅支持单进程
