Excel表样设计 - 属性函数
1.应用场景及问题描述
表样中需要根据当前单元格的维度(如参数维、行列表头维),取得文字的组合,应该如何设置?
比如:
1.需要在表格左上角显示:“编制主体:”+公司名称+部门名称,如果是公司编制的时候,只需要“编制主体:”+公司名称
2.自动展示浮动区中可变维收支项目自定义项1(收支项目类别)的内容。
2.解决方案
2.1 总结
1. 在excel端设置属性函数,实现任务函数字段、表头维度函数字段的显示。
2. 如果需要多个属性函数组合显示,就要使用CONCATENATE函数(NCC2111目前不支持最新的CONCAT函数),对于问题1解决方案的函数是:
CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","部门所属业务单元:dept_org_name"),GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name"))
3. 可以使用IF函数,配合属性函数和CONCATENATE函数使用,示例:
IF(GetProperty("任务函数","Task","主体:ENTITY","是否部门:orgtype3")="Y",CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","部门所属业务单元:dept_org_name"),GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name")),CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name")))
4. 预置维度属性里没有的档案属性,可以在维度属性节点自行增加。注意自定义项不能只选择def1,而是要在手工编辑为def1.name,这样才能显示为自定义项的名称。对于问题2的白头维函数是:
GetProperty("","DimLevel","指标:MEASURE","收支项目类型名称:ic_def1.name")
5. 可使用任务函数和表头维度函数的单元格区域不同,设置时如果提示错误,按照提示信息设置即可。
2.2 详细步骤
2.2.1 表头属性函数
需要在表格左上角显示:“编制主体:”+公司名称+部门名称,如果是公司编制的时候,只需要“编制主体:”+公司名称
通过属性函数,可以使表样显示 任务函数/表头维度函数的一些属性。
比如任务函数的主体维度,就预置有主体单位编码、主体单位名称等项目可以选择。选择后在表样里,属性函数自动带出所选项目的值。(下左图)
任务函数的主体指的是表单编制界面左侧的主体,可以是公司也可以是部门。(下右图)
推荐分步设置公司名称、部门名称,再用CONCATENATE函数进行组合。
第一步 主体单位名称(即部门名称)
GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name")
第二步 设置部门所属公司名称(即公司名称)
GetProperty("任务函数","Task","主体:ENTITY","部门所属业务单元:dept_org_name")
添加自定义维度属性的方法
注意系统是没有"部门所属业务单元:dept_org_name"字段的,需要自行添加,添加方法如下:
1.维度管理节点,修改维度,在右上角增行添加新的维度属性。
2.属性编码和属性名称可以自己编写,来源基础档案选择组织_部门,来源属性字段选择PK_org.name。代表的就是部门所属业务单元的名称。
3.新的维度属性建立后,在维度管理界面就可以看到这个字段存的值。
4.Excel端清除一下缓存,就可以在维度属性里看到新增的“部门所属业务单元”字段。
第三步 用CONCATENATE函数组合出 编制主体:部门所属业务单元名称+部门名称
CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","部门所属业务单元:dept_org_name"),GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name"))
实际到第三步就已经解决问题。自建的维度属性不会影响到公司主体时的取值。
为了演示设置方法,我们假定还要进行区分,部门主体要取值公式要和公司主体的取值公式不一样。
第四步 取到“是否部门”字段
GetProperty("任务函数","Task","主体:ENTITY","是否部门:orgtype3")
第五步 按“是否部门”判断,等于Y的时候执行一个公式,不等于Y的时候执行另外一个公式
IF(GetProperty("任务函数","Task","主体:ENTITY","是否部门:orgtype3")="Y",CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","部门所属业务单元:dept_org_name"),GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name")),CONCATENATE("编制主体:",GetProperty("任务函数","Task","主体:ENTITY","主体单元名称:name")))
2.2.2 表头属性函数
自动展示浮动区中可变维收支项目自定义项1(收支项目类型)的内容。
首先也需要在维度管理中,将指标-收支项目的自定义项1添加为维度属性。之后才能通过维度属性函数引用。在3.2.1章节里,已经详细写了添加新项目的过程,这里就简单写一下。
自定义档案定义在维护自定义项目后,在用户定义属性设置节点设置了收支项目的def1使用该自定义项目,确认收支项目的自定义项1这个字段有值。
之后在维度管理节点,设置指标的维度属性,增加收支项目类型属性,对应收支项目的def1字段。这里要注意:手工选择只能选择到def1,要自己编辑来源属性字段为def1.name。
选择表格内表头的文本区域,填充表头维度函数的属性即可。
浮动区将指标作为行维度,注意要设置浮动范围。
GetProperty("","DimLevel","指标:MEASURE","收支项目类型名称:ic_def1.name")
3.注意事项
表头维度函数只能设置在表头文本区域中,选择的单元格不对就会提示以下错误信息:
表头文本区就是以下截图框内的位置,其行维度或列维度只有一个方向存在维度编码区。
Excel表样设计 - 属性函数
本文2024-08-24 23:27:16发表“yonbip/nccloud知识”栏目。
本文链接:https://wenku.my7c.com/article/yonyou-yonbipncc-2829.html