Spreadjs页面中绑定的数据可以保存为一个JSON,这样方便直接提取然后渲染,不用在展示的时候再组装数据源。
为了对不同的表样产生的不同格式的JSON内容进行统一的使用,比如生成报表,通过统一的接口取数等;对绑定到JSON键值对进行抽象,抽象成(指标,维度,指标值)固定的三项。然后在入库JSON的同时保存这种格式的数据(也可以考虑在其他需要解析的时候解析);
举例说明如下:
表格1
姓名 嘻嘻嘻
年龄 12
性别 男
这个表格,每个单元格背后都有一个绑定值,形成的JSON格式如下:
{
    "indicator_name":"姓名",
    "name":"嘻嘻嘻",
    "indicator_age":"年龄",
    "age":"12",
    "indicator_sex":"性别",
    "sex":"男"
}
其中indicator开头的是表示指标的标识,非indicator开头的,可以是随意的值,只需要能够定位到正确的指标值就行。
这个JSON如何解析存储呢:如下表:
表格2
指标 维度 指标值
name {} 嘻嘻嘻
age {} 12
sex {} 男
其中的维度由于不同的统计表格可能会不同,需要根据表单的特性动态设置;
维度有一个要求,需要能够唯一标识出一条数据;比如,我们统计的表格1存储到数据库中的表格2的数据,能够通过维度中的字段唯一准确的提取出来;
维度可以使用JSON动态保存,也可以使用冗余的多个空白数据库列来保存,不同搜集表的数据结构不用,保存能够存储。
每个录入报表可以保存两份数据,一份JSON一份解析后的抽象(指标,维度,指标值)数据;
具体怎么能保证json中的指标对应正确,以及保证维度中的信息包含唯一项,就比较灵活了,可以考虑任意实现的方式都可以。
|