明细表配置步骤及效果图

本节配置以人员花名册明细表为例演示操作步骤:具体地址:演示案例环境 (hcmcloud.com)

基本步骤:

效果图: 

主要应用范围:

统计单人单条明细数据、其他子集信息可由唯一字段属性关联出(例如:想取学历字段关联到人员明细数据中、那就要指明最高学历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 这类型的需求可以通过添加公式字段实现。


  • 无标签