信息 | |
---|---|
|
明细表配置步骤及效果图
本节配置以人员花名册明细表为例演示操作步骤:具体地址:https://mingcloud.hcmcloud.com/#/list-report?id=6034
基本步骤:
效果图:
主要应用范围:
统计单人单条明细数据、其他子集信息可由唯一字段属性关联出(例如:想取学历字段关联到人员明细数据中、那就要指明最高学历is_highest_deg:"1"的数据进行关联、否则会出现多条数据的情况)
也不涉及VLOOKUP和VLOOKCUBE等Excel公式配置使用、因为明细表无Excel表样。不处理复杂业务逻辑、那是分析表要做的事。
这种明细报表大多较简单、方便、完全可视化、只需点点点进行操作、客户、实施人员多可以自行配置使用。
开启明细表
点击系统设置-服务器设置-报表类别-将关闭设置成否
ps:只有2年以前的老的项目才需要手动开启这个配置,现在新的项目均默认开启。
新建明细报表-选择报表类别是明细表:
设置过滤
以基本人员花名册报表为例、设置过滤。
点击过滤设置-添加了部门、日期、用工类型、岗位状态。平台已经预制了常用的过滤字段,也可以基于需求自己新增,参考:。
配置数据源
统计人员花名册、经过分析得出:配置一个数据源即可:主模型当前任职JobInformation、关联模型岗位模型、组织层级模型、人员模型、最高教育经历模型、过滤条件:用工类型、岗位状态、部门、月末日期
hcm.model.list 参数如下
代码块 | ||
---|---|---|
| ||
{
"model": "JobInformation",
"filter_dict": {
"on_job": 1,
"employee_category_id":1234,
"position_status_id":12344,
"begin_date": {
"lte": "2021-04-29"
},
"end_date": {
"gt": "2021-04-29"
},
"position_type": 1
},
"extra_property": {
"relations": [
{
"filter": {
"employee.id": ":employee_id"
},
"model": "Employee",
"key": "employee"
},
{
"filter": {
"edu.employee_id": ":employee_id",
"edu.is_highest_deg": 1
},
"type": "outer",
"model": "EmployeeEducation",
"key": "edu"
},
{
"filter": {
"position_id": ":position.origin_id",
"position.begin_date": {
"lte": "=date_"
},
"position.end_date": {
"gt": "=date_"
}
},
"model": "OrgPositionHistory",
"type": "outer",
"key": "position"
},
{
"model": "DepartmentHierarchy",
"type": "inner",
"key": "dept_level",
"filter": {
"dept_level.department_id": ":position.parent_id",
"dept_level.begin_date": {
"lte": "=date_"
},
"dept_level.end_date": {
"gt": "=date_"
},
"dept_level.l0_id": 13567318
}
}
]
}
} |
即接下来开始数据源配置:
1. 点击数据源设置-选择自定义-自定义模型 (常用且主推自定义模型、基本都是需要自定义关联模型的)
2. 此数据源里需要根据过滤参数替换4个固定值到接口里面、所以如下在此新增了4个参数、名称自行定义即可。这里定义:部门dept_id、月末时间date_str、用工类型emp_category、岗位状态pos_status。
PS:一、数据源的参数是用来将报表的过滤参数与数据源关联起来。
二、这里的用工类型emp_category、岗位状态pos_status也可以不添加。
3. 切换模型-点击新增(新增主模型)
先定义主模型、主模型是JobInformation、切注意⚠️主模型标示必须叫master
4.点击确认-点击....进行详细过滤配置
此时需要配置主模型过滤即hcm.model.list中filter_dict部分,
("on_job": 1, "emp_category_id":1234, "position_status_id":12344, "begin_date": { "lte": "2021-04-29" }, "end_date": { "gt": "2021-04-29" }, "position_type": 1)
即接口的部分固定参数应替换成第二步配置的数据源模型参数,例如我们配置了4个模型参数分别为dept_id,date_str,emp_category和pos_status
过滤时就要选择对应这些模型参数、以用工类型为例
选择公式、且要加一个“=”号、要不系统会误比较成固定值
5. 新增关联模型-点击...设置过滤
这步需要可视化配置extra_property里面的关联模型配置。即配置relations
继续在模型下点击新增
同理、继续关联部门层级表、人员表、教育经历表。
这里需要特殊说明的是、关联部门层级表要选择相对层级、为什么呢?因为部门层级filter_dict里面"dept_level.l0_id": 13567318
它的部门层级的id条件是根据过滤组织变化的、是相对的。如果模型参数传进来的是跟组织、那么过滤条件就是"dept_level.l0_id": 13567318
如果模型参数传进来的是1级组织、那么过滤条件就是"dept_level.l1_id": 13567318
如果模型参数传进来的是2组织、那么过滤条件就是"dept_level.l2_id": 13567318
6. 配置过滤条件
自定义模型配置完成、此时需要将过滤参数传入到自定义模型中去进行数据过滤。
配置如下:
代码块 | ||
---|---|---|
| ||
{
"dept_id": "=CURR_DEPARTMENT",
"date_": "=CURR_DATE",
"pos_status": "=POSITION_STATUS",
"emp_category": "=EMPLOYEE_CATEGORY"
#这里dept_id、date_str、pos_status、emp_category均为最初自定义模型的模型参数、上面传给hcm.model.list或者hcm.model.count的中filter_dict的过滤参数。他们的来源都是外层定义的过滤参数。
有的参数直接取过滤条件内容即可、传到模型进行过滤。有的则不需要、这里用工类型、岗位状态、部门不需要转、月份则需要调取M_E公式转成月份最后一天传到模型参数里做过滤。
} |
ps:如果不在数据块里添加参数,直接将我们的过滤器参数与模型里具体的字段关联也是可以,如下所示
7. 配置完成、选择展示字段
选择字段-点击上面设计面板展示想要展示明细字段即可
8. 公式字段:
部分项目需要对我们展示的结果做些简单的处理,比如出生日期,默认的时1991-02-20 有些项目需要将其处理成:1991.02 这类型的需求可以通过添加公式字段实现。
...