-
layout: post title: 金数据表单数据实时同步到ChartIO的一种方法 subtitle:
date: 2019-04-15 author: 阳光和鱼 header-img: img/post-bg-desk.jpg catalog: true tags:- ChartIO
- 金数据
- 数据分析
数据对外提供可调取数据的API,API方法,但较为复杂,对于少量表单的数据库同步可以通过Google Sheets作为中间载体可以将金数据的表单数据同步到Google Sheet,再使用ChartIO导入Google Sheet数据源,从而实现自动同步。适用于少量的金数据表单的同步。
## 一、在金数据中生成结果分享链接
首先打开金数据表单链接,在“设置”——“结果分享”——“分享结果”中点击“创建分享结果地址”
对分享结果起个名字(随意),勾选想分享的数据选项,不勾选隐私保护(如果开启隐私保护,表单内容会部分隐藏,如姓名“王麻子”会显示为“王*子”),点击“下一步配置编辑权限”。
在这里不设置验证身份,并且无需密码查看,完成操作权限后,点击“完成配置”。
完成配置后,会胜场一个分享结果的地址,点击“直接打开”。
在打开的网页中会显示一个整齐的表格,右下角会有显示页数的选择,默认50条/页,为方便读取,选择最大的“300条/页”。这是查看地址从https://jinshuju.com/f/r/1H11s7变为 https://jinshuju.com/f/r/1H11s7?per_page=300
https://jinshuju.com/f/r/1H11s7?per_page=300
如果300条不能够满足你表单的数据条目,直接在地址栏将“300”修改为“1000”或更大,以方便Google Sheet一次性读取数据。
## 二、在Google Sheets中读取金数据地址
### 1、数据提取
新建一个Sheet,并修改成简洁的英文名称。方便之后数据库中查询。
在这里新建pre_users、users两张表
在pre_users A1中输入
“=IMPORTHTML(“https://jinshuju.com/f/r/1H11s7?per_page=1000″,”table”,1)”,就可以自动完成数据调取。
### 2、表字段修改
pre_users第一行为表单标签,名称较长,为了便于以后SQL查询,在优化在users表中。首先将pre_users第一行的表单标签复制到users第一行,并修改为简单的英文名称,假设5列分别命名为name,age,sex,work_year,created_at,在A2中输入”=unique(pre_users!A2:E1000)”得到最终表单。
## 三、在ChartIO中调取Google Sheets数据源
在ChartIO“Data Sources“点击”Add a Data Source“,然后选择“Google Sheets”
连接到自己的Google账号中,选择刚才新建的Sheets即可。
到此完成!有了新的表单提交后,会自动同步到ChartIO中。
## 四、适用性
Google Sheets除了有importhtml公式读取整洁的表单,也可以使用importcsv读取csv表格地址,甚至使用importxml工具作为简单的爬虫工具。
此方法也适用于支持Google Sheets作为数据源的其他数据可视化平台的金数据表单自动同步。