# 树状数据集
# 功能简介
当需要使用树形/树状的多层级方式来展示数据时,可使用「树状列表(页面组件)」及「树形表单(表单组件)」来展示,典型场景:多层级的项目任务展示与快捷管理、产品的物料结构或组成清单(BOM表)。
树状列表(页面组件):在页面上将数据显示为树形
树形表单(表单组件):在表单中将数据显示为树形
树状数据集功能是「树状列表(页面组件)」及「树形表单(表单组件)」使用的基础,开启后,表单自动生成「序号」字段,可以根据「序号」字段的值确定树状的层级结构。(「序号」的格式为[1],[1.1],[1.1.1],[1.1.1.1]...)
因此,若希望表单数据可以按树状展示,必须要先开启树状数据集,使表单的数据结构符合生成树形结构的条件。
如下图展示,根据序号,生成最终的树状列表。
# 1.系统的如何生成树状列表的
有以下两种方式可以更新「序号」字段,使数据展示为树状:
# 1.1 使用导入功能生成树状结构的数据
通过批量导入生成树状数据时,系统将根据导入文件的序号判断树状列表的根节点、父节点、子节点与叶子节点。
注:「树状列表(页面组件)」及「树形表单(表单组件)」都支持通过这种方式生成数据。
例:将以上excel表格导入到系统之后,系统将生成对应树状数据,其中1、2为根节点,没有父级节点的则为叶子节点。
# 1.2使用手动添加功能生成树状结构的数据
通过添加、行内的添加子级、添加同级按钮增加的数据,在系统中自动识别为树状数据,其中,在树状列表的添加按钮产生的数据一直都为根节点,列表内的添加子级按钮会为当前数据生成一条子级数据,添加同级则生成同级数据。
注:仅「树状列表(页面组件)」支持通过这种方式生成数据。
# 2.配置说明
树状数据集可以只配置「标题字段」,配置完成后,标题字段将作为树状列表的标题显示在最前方。
若配置了开启时间字段,则需要同时配置结束时间字段
# 2.1 标题字段
字段说明:用于展示各项数据的名称,配置为标题字段后,该字段将默认显示在树状列表的第一列。支持配置为标题的字段类型:单行文本
如下图,任务名称即为数据的【标题字段】
# 2.2 开始/结束时间字段
字段说明:开始/结束时间字段用于父子级之前时间字段的联动计算(向上联动)。如果子级数据的开启/结束时间变更,会相对应地计算父级数据的开启/结束字段,父级的开启时间默认为子级的最早时间,结束时间默认为子级的最晚时间。
若在「树状数据集」中配置了开始/结束时间字段,则父级的开始/结束时间字段将不支持编辑,默认由子级计算。若不希望父级跟着子级的时间变化,那么可以直接不选择开始结束时间,则父级的时间可自由调整。
支持配置的字段类型:日期,日期时间
# 2.3 归属字段
字段说明:归属字段用于父子级之前文本类型字段的联动(向下联动),若配置了归属字段,则子级的归属字段会默认填充为父级的归属字段。
配置了归属字段后,自己的归属字段无法修改,父级数据的归属字段修改后(只有第一级才支持修改),其所有的子级数据都会同步变动。
可用字段类型:单行文本,单项选择,外键关联
例如下图中的父级数据【2023总工程进度】的归属字段【总工程名称】配置了【2023年项目】,则其下方所有的子级数据(工程1,工程2,工程3,工程2.1,工程2.2)的【总工程名称】都会同步为【2023年项目】。
# 2.4 统计字段
字段说明:用于由子级数据自动统计父级数据的场景,如进度,成本,工时计算等.....可被统计的字段类型为数字字段和日期字段。统计总共有5种统计方式 :最大/最小值,平均,求和,加权平均。
例如下图中,2022年项目进度=(项目a进度+项目b进度+项目c进度+项目d进度)/4=87.5%,其中是否保留小数位取决于数字字段的效验类型是否配置为小数。
# 加权平均
使用场景如下:根据子级数据进行数据统计时,可能希望不同子级的权重是不一样的,此时可以使用加权平均。
例如:当某个子项目优先级很高,项目负责人往往希望该子项目的进度对总项目进度的影响比其他优先级低的项目要大,就可以通过【权重字段】来影响各项数据对统计数据的影响比例。
如下图所示,总工程的进度=(工程3进度权重+工程2进度权重+工程1进度*权重)/(总权重)=(10%*10+100%*5+75%*1)/16=42.1%
由此可以总结出【加权平均】的计算公式:
父级任务的加权平均值=(x1f1 +x2f2+ ... +xn*fn)/(f总) 其中x代表需要统计的数字字段 (取该子层级的所有任务数据),f代表权重(子级数据的权重值与总权重值的比值)
【加权平均】详细的配置方法:
(1)先选择表单中的【权重字段】(数字字段),配置汇总方式为求和,算出总权重值。
(2)再选择表单中的实际需要进行加权平均的字段,例如下图中的【进度】,配置汇总方式为【加权平均】。
(3)最后再关联表单中的【权重字段】,即第一步配置的数字字段。