数仓配置

一、功能概述
1、功能描述
数据仓库简称数仓,可以按照线下或其他系统中的数据结构,创建自定义表单,用于存储数据并生成凭证。
创建数仓表单的过程,即为数仓配置,是使用数仓功能的起点。
2、功能路径
【数据仓库】-【配置】
3、流程说明
配置 → 数仓凭证生成配置 → 上传数据至数据源数仓 → 生成凭证
二、界面总览
配置列表页由三个区域组成,见下图(图 1)。截图取自演示环境,其中的表名、表描述等数据仅作示例:

图 1 配置列表页(A 筛选与操作工具栏 · B 数仓表单列表 · C 行操作列)
| 编号 | 区域名称 | 作用 |
| A | 筛选与操作工具栏 | 页面顶部的操作入口,共 8 个按钮,见图 2 与下表。 |
| B | 数仓表单列表 | 一行一张数仓表单,列示表类型、表名、表单分类、表描述、版本、同步数据库,见图 3。 |
| C | 行操作列 | 每行末尾的操作按钮组。按钮随该行的「同步数据库」状态而变化,见图 4。 |
1、操作工具栏
工具栏位于列表上方,共 8 个按钮,编号与下图一致:
图 2 配置页工具栏(①~⑧ 与下表编号对应)
| 按钮 | 作用 |
| ① 筛选 | 展开筛选条件区,按条件过滤表单列表。只改变列表显示结果,不修改任何数据。 |
| ② 刷新 | 重新从服务端加载列表数据。未提交的弹窗内容会随之丢失。 |
| ③ +创建表单 | 新建数仓表单,弹出「创建表单」窗口,操作见(一)。 |
| ④ ✎编辑表单 | 修改已勾选表单的配置(需先勾选行)。打开的窗口与「创建表单」完全一致,操作见(一)。 |
| ⑤ 复制表单 | 以勾选的表单为模板复制出一张新表单(需先勾选行),操作见(三)。 |
| ⑥ 字典配置 | 维护数据字典内容。系统已预置常用档案,创建表单时可直接引用这些数据字典。 |
| ⑦ AI建表 | 上传 Excel 文件,由系统识别并自动生成数仓表单,操作见(二)。 |
| ⑧ 分层菜单 | 进入菜单层级管理页,维护菜单及其下级菜单,操作见(九)。 |
2、列表列构成
表单列表的列构成如下图,其中「同步数据库」用红底标识尚未落库的表单:

图 3 表单列表的列构成(A 表头行 · B 未同步行 · C 已同步行)
| 列名 | 说明 |
| 选择框 | 行级选择。编辑表单、复制表单、字典配置等按钮需先勾选行后生效。 |
| 表类型 | 单表 / 主表 / 附表。单表不区分表头、表体,字段全部平铺在一张明细表里,最常用;主表为表头、附表为表体,适用于「合同+合同明细」这类一对多结构。 |
| 表名 | 数仓表单的英文名,创建时由系统自动生成(格式为 tb_cgform_+时间戳),一般无需修改。 |
| 表单分类 | 表单的分类,手工创建的表单默认为「普通表单」。 |
| 表描述 | 数仓表单的中文名,即业务上看到的表单名称,如「库存报表」「工资表2」。 |
| 版本 | 表单配置的版本号,每次修改配置后递增。 |
| 同步数据库 | 表单的创建状态。显示「未同步」(红底)表示表单尚未在数据库中创建,还不能使用;显示「已同步」表示表单已创建完成,可以导入数据与生成凭证。 |
| 创建人 | 创建表单的用户。 |
| 创建日期 | 创建表单的用户。 |
| 修改人 | 最近一次修改表单的用户。 |
| 修改时间 | 最近一次修改表单的用户。 |
| 操作 | 行操作按钮组,随同步状态变化,见图 4。 |
3、行操作按钮
行操作按钮随「同步数据库」状态显示不同按钮组:未同步的行只有 4 个按钮,已同步的行有 7 个按钮。
图 4 行操作按钮(上排 ①~④ 未同步行 · 下排 ⑤~⑪ 已同步行)
| 按钮 | 可用状态 | 作用 |
| ① 删除 | 未同步行 | 删除该数仓表单,同时在数据库中删除该表单对应的表。 |
| ② 移除 | 未同步行 | 仅将该表单从数仓列表中移除,数据库中该表单仍然存在。 |
| ③ 同步数据库 | 仅未同步行 | 在数据库中创建表,使表单创建完成,见(四)。表单一旦同步,该按钮即被替换为其余按钮。 |
| ④ 接口文档 | 未同步行 | 下载该表单的接口文档,见(十)。 |
| ⑤ 删除 | 仅已同步行 | 同 ①。 |
| ⑥ 移除 | 仅已同步行 | 同 ②。 |
| ⑦ 模板配置 | 仅已同步行 | 配置表单的表样,见(六)。 |
| ⑧ 功能测试 | 仅已同步行 | 进入该表单的数据新增 / 导入界面,见(七)。 |
| ⑨ 接口文档 | 仅已同步行 | 同 ④。 |
| ⑩ 添加至菜单 | 仅已同步行 | 把表单挂到菜单上,使其在左侧菜单可见,见(八)。 |
| ⑪ 表单配置 | 仅已同步行 | 设置表单的标题行与尾部行范围,见(五)。 |
注意:「删除」与「移除」的区别:删除=连同数据库中的表一起删除,操作不可逆;移除=只把该表单从数仓列表中移出,数据库中该表仍然存在。
三、操作指引
(一)创建表单
1、点击"创建表单"
在配置列表页点击工具栏「③ +创建表单」(图 2),弹出「创建表单」窗口。
注意:工具栏「④ 编辑表单」打开的是同一个窗口,界面与设置方法完全一致,用于修改已勾选表单的配置。
2、设置基础信息
在弹出界面设置基础信息,操作方法如下。基础信息区共 5 项——左列 3 项、右列 2 项,分别见图 5、图 6,编号 ①~⑤ 与下文一一对应(①③⑤ 见图 5,②④ 见图 6):
图 5 基础信息(左列:① 表名 · ③ 视图名 · ⑤ 接口兼容编辑)

图 6 基础信息(右列:② 表描述 · ④ 视图描述)
① 表名:必填(自动),数仓表单的英文名,系统自动生成(格式为 tb_cgform_+时间戳),无需修改。
② 表描述:必填,数仓表单的中文名,即业务上看到的表单名称。
③ 视图名、④ 视图描述:非必填,凭证生成逻辑极其复杂(无法通过单一表单、2 个表单简单映射实现)的场景下,需搭配 SQL 时才需要进行设置。
⑤ 接口兼容编辑:默认=是,无需修改。
3、系统预设
创建表单时,系统会自动生成以下 5 行基础字段:
| 序号 | 字段名称 | 字段备注 | 字段长度 | 字段类型 | 允许空值 |
| 1 | accountbook_id | 公司主体 | 50 | 字符串 | 已勾选 |
| 2 | voucher_id | 凭证id | 300 | 字符串 | 未勾选 |
| 3 | accounting_period | 会计期间 | 50 | 字符串 | 已勾选 |
| 4 | (系统生成) | 表单编码 | 50 | 字符串 | 已勾选 |
| 5 | (系统生成) | 录入日期 | 20 | 日期 | 已勾选 |
注意:除下列提及字段外,不要修改系统自动生成的其他信息。
公司主体行:需设置"字典配置"参数为"公司主体",否则影响凭证生成;上传表格必须包含此字段。
凭证id行:不要做任何操作,否则影响凭证生成;上传表格无需包含此字段。
会计期间行:字段备注可按实际需要进行修改。
举例说明:如将标题行"获客日期"作为生成凭证的日期,则可将"会计期间"修改为"获客日期",不必新增行。也可此行不做任何设置,额外新增行,将字段备注设置为"获客日期",设置效果相同。
表单编码、录入日期行:不要做任何操作,否则影响凭证生成;上传表格无需包含此字段。
4、单表的设置
点击数据库属性下的"添加"(图 9 之①),即出现空白行,此行可根据实际需要,将上传表格的标题行字段在此进行设置。
图 7 字段明细表左段(① 序号 · ② 操作 · ③ 字段名称 · ④ 字段备注)

图 8 字段明细表右段(⑤ 控件类型 · ⑥ 控件长度 · ⑦ 是否查询 · ⑧ 验证规则)

图 9 数据库属性工具栏(① 添加 · ② 删除)
注意:参数设置后,上传表格的标题行信息、所属列格式需与设置的参数相符合,否则无法成功上传。
数据库属性各列含义及注意事项如下(各列在界面上的左右分布见图 7、图 8):
序号:系统生成的行号,仅用于定位,无需修改。
操作:行选择框,勾选后可点击「② 删除」删除该行字段。
字段名称:必填,系统自动生成,无需修改。
字段备注:必填,字段显示的名称,内容前后不能有空格(如有,系统强制删除),需与上传表格的标题行一致。
字段长度:必填,在数仓中存储数据的字段长度,数字越大,允许导入、存储的内容越多。
小数点:必填,系统保存数据的小数位数。
举例说明:当小数点设置为 2,若上传表格对应列的数据保留 5 位小数,则在数仓中保留的数据为四舍五入后的 2 位小数。
默认值:非必填,如该字段未设置为校验必填,但生成凭证时需要取值时需设置。
举例说明:如社保公积金台账中,由于该字段没有值是正常情况(所以未勾选校验必填),但如果有值需生成凭证,在这种场景下,需要设置默认值=0,否则会影响凭证生成。
字段类型:必选,可选字符串、文本、日期、整数、精确浮点、布尔。
注意:字段类型需与小数点匹配。
举例说明:小数点设置为 2,字段类型应设置为精确浮点;小数点设置为 0,字段类型应设置为整数。
允许空值:勾选,可以不填写该字段,表单字段无特殊标记;未勾选,必须填写该字段,表单字段前面标记 *。
表单显示:勾选,在系统中录入数据时列示该字段;不勾选,不列示。
列表显示:勾选,在数据表单列表页列示该字段;不勾选,不列示。
控件类型:必选,即对数据格式的要求,导入数据必须与数仓表单设置的控件类型一致。可选文本框、下拉框、单选框、多选、多行文本、月份(yyyy-MM)、日期(YYYY-MM-dd)、日期(yyyy-MM-dd HH:mm:ss)、金额。
注意:控件类型需与字段类型匹配。
举例说明:字段类型设置为日期,控件类型应选月份(yyyy-MM)、日期(YYYY-MM-dd)或日期(yyyy-MM-dd HH:mm:ss);字段类型设置为整数或者精确浮点,控件类型应选择金额。
控件长度:必填,默认=120,可修改,影响数仓列表页该字段列示的长度。
是否查询:勾选后,可作为筛选条件字段。勾选任一字段,则在数仓列表页列示"筛选"按钮;所有字段均未勾选,不列示。
举例说明:"获客数量统计表"中,所有字段均未勾选"是否查询",则"筛选"按钮不会出现;若"获客日期""业务线"勾选"是否查询",则出现"筛选"按钮。
查询类型:必选,可选普通查询、范围查询。
普通查询:以单一固定值作为查询条件。
范围查询:以一段区间、上下边界作为查询条件。
举例说明:将获客日期设置为范围查询、城市设置为普通查询。
动态填值:按照导入时指定的固定值覆盖导入文件中的信息。
勾选:系统将在导入文件时弹出对话框,要求输入一个固定值。此值将被统一应用到整列,并覆盖导入文件中该字段的原有内容。
不勾选:按导入文件中填写的信息存储数据。
举例说明:"文件备注"字段勾选了动态填值,则在系统中导入文件时,需要在弹出界面输入备注内容,系统按该设置存储数据,导入文件中填写的信息被覆盖。
验证规则:录入数据的校验规则。
举例说明:将字段"联系方式"的验证规则设置为"手机号",则在系统中录入数据时,如该字段的格式不符合手机号的规则,会弹出错误提示。
校验必填:校验该字段是否填写。勾选:在系统中新增数据时,如不填写无法提交,导入文件中如该字段未填写,无法导入。不勾选:不校验该字段。
举例说明:"城市"字段勾选了校验必填,在系统中录入数据或导入文件时,如该字段未填写,无法提交 / 导入。
权限关联:如需根据用户进行数据隔离,需勾选权限关联,同时设置"字典配置"。
字典配置:控件类型选择下拉框或勾选权限关联时,需设置。设置完成后,系统会根据当前登录用户的系统权限,对数据源进行:筛选列示、录入枚举筛选、查询选框枚举筛选、数据导入的卡控。
目前支持的卡控维度:公司主体、部门、客户、供应商。如对多个数据权限卡控限制,当前登录用户可见的数据范围为所有卡控的交集。
· 公司主体:登录用户拥有当前主体的权限。
· 部门:登录用户拥有当前主体下此部门的权限。
· 客户:登录用户拥有权限的公司主体下存在此客户。
· 供应商:登录用户拥有权限的公司主体下存在此供应商。
去除不可见字符:勾选后,新增或导入数据时系统会自动去除该字段值前后的不可见字符(如空格、制表符等);不勾选则按原内容存储。
各字段设置完成后点击窗口右下角的「提交」,表单即被创建。此时列表中的「同步数据库」状态为「未同步」,表单尚未创建完成,需继续执行(四)同步数据库。
(二)AI建表
AI建表用于把已有的 Excel 表直接转成数仓表单,省去逐字段手工设置。
在配置列表页点击工具栏「⑦ AI建表」(图 2),弹出「AI智能建表」窗口(图 10)。
点击「选择文件」选择本地 Excel 文件,界面提示"请选择Excel文件,文件大小不超过10MB";选定后文件名显示在按钮右侧。
点击「开始上传」(图 10 之C),系统开始识别文件内容;点击「取消」放弃本次操作。

图 10 AI智能建表窗口(A 窗口标题 · B 选择文件 · C 开始上传 / 取消)
识别完成后,系统自动跳转到「创建表单」界面,并把识别出的字段与表描述填入表单。
人工复核:逐项核对识别出的表描述、字段名称、字段备注、字段类型、控件类型等信息,按需修正后点击「提交」,再执行(四)同步数据库。
注意:上传文件大小不超过 10MB。识别结果仅作为建表的初稿,必须人工复核后再提交,以免导入数据与表单字段不一致。
(三)复制表单
勾选需要复制的表单后(单选),点击工具栏「⑤ 复制表单」(图 2)。
在弹出界面设置表单名称后,点击"提交"。
复制后的表单同样需要执行"同步数据库",见(四)。
(四)同步数据库
提交表单后,该表单的"同步数据库"状态为"未同步"(列表中以红底显示,见图 3 区域 B),此时表单尚未创建完成。
1、设置方法
点击表单所在行右侧的「同步数据库」(图 4 之③)。该按钮只在"未同步"状态下出现。
在弹出界面选择同步方式后,点击"确定"(图 11)。
表单创建完成。此后该行的操作按钮变为已同步的一组(图 4 下排),并可继续执行数据导入、功能测试、添加至菜单等操作。

图 11 同步数据库窗口(① 普通同步(保留表数据)· ② 强制同步(删除表、重新生成))
2、同步方式
数据库同步方式有两种:普通同步、强制同步,见上图。
① 普通同步(保留表数据):在修改表单的同时保留该表单的所有数据。
② 强制同步(删除表,重新生成):在修改表单的同时清空该表单的所有数据,删除原表并重新生成。
(1)创建表单后首次同步
必须选择"强制同步"才能创建表单成功。
(2)该数仓已有数据的情况下同步
修改的字段仅涉及非关键信息:如:表单显示、列表显示、是否查询、查询方式。可选择"普通同步",即可实现在保留系统现有数据的同时,对表单进行修改。
修改的字段涉及关键信息:如:字段备注、字段类型、控件类型。最好先将系统中的数仓数据导出备份,然后再点击"强制同步"更新表单后,重新上传数据。如点击"普通同步",可能因为已导入的数据与表单字段关键信息不一致,导致无法生成凭证。
注意:强制同步删除数仓数据时,数据对应的凭证也会删除。
(五)表单配置
表单配置用于定位上传表格的标题行、忽略表格尾部的数据行,从而确认数据导入范围。设置方法如下:
点击数仓表单所在行右侧的「表单配置」(图 4 之⑪)。
在弹出界面设置"数据标题所在行行号"、"忽略尾部几行"后,点击"提交"(图 12)。

图 12 表单配置窗口(① 数据标题所在行行号 · ② 忽略尾部几行)
① 数据标题所在行行号:表格中数据标题所在的行号,需填写正整数。
不设置时默认=1,即第 1 行是标题,第 2 行是数据,从第 1 行开始导入。
举例说明:如存在复合标题,前 3 行是标题,第 4 行是数据,设置为 3。
② 忽略尾部几行:导入时忽略表格末尾的行数,可填写 0 或正整数。
不设置时默认=0,即标题行下的所有数据内容均导入。
举例说明:如在正式数据下,还存在 1 行合计+1 行情况说明,设置为 2。
注意:该功能解决"表格第 1 行不是标题行""尾部带合计行"的导入问题,无需在 Excel 中手工调整表格结构,原表即可直接导入。
(六)模板配置
模板配置用于配置表单的表样。当前数仓表单以单表为主,一般不涉及表样设置,可按默认不配置。
注意:如需使用模板配置,请按项目实际的表样要求在实施人员指导下设置。
(七)功能测试
点击数仓表单所在行右侧的「功能测试」(图 4 之⑧),即可进入该表单的数据新增 / 导入界面,用于查看与测试。
(八)添加菜单
表单创建完成后,并不能在菜单栏找到该表单,还需要添加菜单,操作方法如下:
点击数仓表单所在行右侧的「添加至菜单」(图 4 之⑩)。
在弹出界面点击"好的"。
注销账号重新登录。
即可在【数据仓库】下看到该数仓表单名称。
注意:添加至菜单时,系统会同步为该表单创建权限菜单;菜单的层级关系可在(九)分层菜单中调整。
(九)分层菜单
分层菜单用于维护菜单的层级关系,决定了各角色在左侧菜单里能看到哪些节点,可为每个菜单分配可访问的角色。
1、进入方式
在配置列表页点击工具栏「⑧ 分层菜单」(图 2),页面打开「配置」页签,左右两区并列显示菜单结构与下级菜单(图 13)。

图 13 分层菜单页(A 菜单列表 · B 下级菜单区)
| 编号 | 区域名称 | 作用 |
| A | 菜单列表 | 列示当前层级的菜单及其排序,右侧操作列的「下级菜单」按钮用于在 B 区展开该菜单的下级。 |
| B | 下级菜单 - <菜单名> | 列示 A 区选中菜单的下级菜单及其排序,可新增、调整顺序、删除。标题栏提示"下级菜单调整影响角色权限,调整后需重新配置!" |
2、菜单列表(A 区)
A 区顶部为操作工具栏,下方为菜单列表,见下图(图 14):

图 14 菜单列表(A 工具栏 · B 菜单列表)
| 按钮 / 列 | 作用 |
| 筛选 | 展开筛选条件区,按条件过滤菜单。 |
| 刷新 | 重新加载菜单数据。 |
| +新增 | 在当前层级新增一个菜单。 |
| 编辑 | 修改勾选菜单的名称、排序等信息。 |
| 删除 | 删除勾选菜单。 |
| 菜单名称 | 菜单节点的显示名称,如「数据源数仓」「测试菜单1」「交易抵消」「工资表1」。 |
| 菜单排序 | 数字越小越靠前,用于控制菜单显示顺序。 |
| 操作 | 行末的「下级菜单」按钮:点击后在 B 区展开该菜单的下级菜单。 |
3、下级菜单(B 区)
在 A 区点击某一行的「下级菜单」,B 区即显示该菜单的下级菜单清单,见下图(图 15):

图 15 下级菜单区(① 新增已有菜单 · ② 编辑菜单排序 · ③ 删除)
| 按钮 | 作用 |
| ① +新增已有菜单 | 从已有菜单中挑选并挂到当前菜单下,形成下级菜单。 |
| ② ✎编辑菜单排序 | 调整下级菜单的显示顺序(对应「菜单排序」列)。 |
| ③ 删除 | 移除勾选的下级菜单。 |
| ④ 角色 | 显示已配置角色名称,用逗号分隔。 |
| ⑤ 角色权限 | 每个菜单可以独立配置角色。 |
注意:B 区标题栏红字提示:下级菜单调整影响角色权限,调整后需重新配置!在本页可逐个菜单重新配置角色权限;角色本身仍在角色管理维护。调整菜单角色权限后需对应的用户注销重新登陆才可以正常看到菜单。
注意:菜单删除后即被删除,不可恢复;菜单新增、删除或调整层级后,需要重新登录账号,才能看到调整后的菜单。
(十)下载接口文档
如需下载该表单的接口文档,点击数仓表单所在行右侧的「接口文档」(图 4 之④ 或 ⑨),即可下载。
表单提交后,系统会自动生成标准化的接口文档,便于第三方系统按接口推送数据至财咖。
四、特殊说明事项
(一)视图
1、适用场景
数仓涉及 N 个报表,且这 N 个报表与科目映射表之间有相当复杂的匹配逻辑,无法直接通过映射表取数。
2、实施步骤
(1)数仓配置 N 个报表的表单。
(2)SQL 写视图,命名为 ABC 视图。
(3)数仓配置视图虚拟表单。
注意:字段名称必须与 SQL 里的别名一致、必须有 1 个字段是"原表名"、填写视图名称、接口兼容编辑选择"是"。
(4)上述 N 个报表的表单:补充视图名,与视图绑定。
(5)数仓凭证生成配置:表单选 ABC 视图对应的虚拟表单。
(6)上述 N 个报表上传数据(视图 ABC 是虚拟表单,无法上传、查看数据)。
(7)生成凭证。
哪些数据生成凭证,只能在上述 N 个报表里查看。如配置凭证生成配置时:上述 N 个表单作为数据源的凭证生成配置 1,同时 ABC 视图作为数据源的凭证生成配置 2,则在上述 N 个表单:勾选数据生成凭证,只按配置 2 生成(即:视图生成凭证优先级更高)。在数仓凭证生成配置:勾选配置生成凭证,如同时勾选 1、2,则 1 条数据会生成 2 个凭证(不区分优先级,都生成)。
(二)数仓权限设置
1、设置页面控件权限
在系统管理-菜单管理列表页,点击"数据仓库"下"配置"或"数仓权限"所在行的"页面控件权限"。
点击"操作录入"。
在弹出界面设置页面控件名称、页面控件编码后,点击"提交"。
常用的页面控件信息如下:
| 页面控件名称 | 页面控件编码 |
| 列表编辑权限 | edit |
| 列表删除权限 | del |
| 列表凭证生成 | buildVoucher |
| 全量删除权限 | allDel |
| 跨页全选 | selectAllSpread |
2、设置角色权限
在基础设置-组织管理-角色管理中,设置相关权限。角色同时拥有配置权限、数仓权限时,以配置权限进行控制。
点击需设置权限的角色所在行的"权限设置"。
在弹出界面,点击数据仓库下的"配置"或"数仓权限"后,在"页面控件权限规则"区域勾选需要设置的权限后,点击保存。
