微信公众号:大话EPM 10年EPM产品线经验,精通HFM/Tagetik产品
全部博文(18)
分类: IT职场
2021-07-22 16:10:47
接下来的这几篇文章,我们来聊聊H FM 规则编写入门。笔者对H FM 规则的了解也只是皮毛,这里抛砖引玉。
收到一些读者信息,是否可以写点H FM Rules相关的内容。这里笔者分享的重点主要针对刚入门的技术顾问,H FM 的规则很好入门,无论技术顾问还是业务顾问都适用。
规则入门有点像剥洋葱,越写越痛苦,但是等到你剥完洋葱,加个鸡蛋,炒个洋葱,会发现很美味。写规则也是如此,能坚持下来的,必定大有所获。
技术顾问想要对合并报表的知识有所掌握,H FM 规则的掌握必然是必不可少,如果不从规则入手,即使把注册会计师里面的会计看完也没太多用处,为什么呢,书上都是理论知识,在实际使用中是有所差异的,何况是将理论知识结合系统实现。
顾问想要写好H FM 规则,必须要对系统维度熟悉,如科目的设计、自定义维度的设计。维度是系统的根基,无论是构建表单还是规则开发,都是基于维度来进行。每个维度以及维度与维度之间的设计关联都是比较复杂的。有关维度设计的内容后期会陆续补充。
一个项目上,如果技术顾问是新手,那么业务顾问就得对系统、对规则设计比较熟悉,否则这个项目很难做。
技术顾问入门规则的时候就是简单的搬运工,业务顾问(对规则熟悉的业务顾问)说怎么写就怎么写,或者有资深技术顾问带着写。为什么说是简单的搬运工,刚开始你只需要只是哪个科目的数据是哪个科目计算过来的就够了,不用问太多的为什么。
笔者认为,技术顾问需要培养一项很重要的能力:思考,一个项目做完了,你就要问下自己为什么规则要这么写,如损益表的净利润为何要结转到资产负债表的未分配利润上,为什么要做年初结转,为什么在折算规则(translate)中< parent currency> 这个value是不可见的,有太多的为什么等着去自己反问。解决这些”为什么”的方法在熟悉系统的基础上,向身边的业务顾问学习,去学习C PA 的知识。我们说术业有专攻,技术顾问不要认为自己对C PA 的知识掌握的很好,其实和业务顾问(C PA 级别)比起来,有不少的差距的。规则的入门一定是慢慢积累起来的,并非一朝一夕,不积跬步无以至千里,只有不断学习和积累,才能从量变到质变。以前做项目的时候,笔者喜欢大量去看其他项目的规则设计和维度设计,看得多了你就知道什么场景该怎么写。
笔者认为,能充分描述实现的业务场景的同时又能简单明了,其他人又能轻易看懂的规则才是值得学习的规则,而不是哪些用了各种复杂技术,写的晦涩难懂的规则。复杂技术的写法是不得已时才考虑用,一般情况不建议使用。
比如用For循环来写规则是最常见的,for循环简单易理解,是入门规则需要掌握的。但是for循环有时候也是性能杀手,规则运行出现性能问题,往往都是for循环惹的祸。笔者后面的文章会分享在for循环上如何平衡性能问题与逻辑实现的矛盾。
规则入门需要具备一些基本的知识:
1、对H FM 的value维度有基本的了解
2 、对维度设计有基本的理解
3、对vb脚本有基本的掌握
4、对常规的语言语法有基本的了解,比如if …else…end if,for …next
其实上面4条的要求很低,也很简单。看看一些例子基本就明白。
我们说有了上面4条要求的基础,想要快速掌握规则的技巧就是:
? copy- > 改,不要小看copy,如果同样的场景,有参考的规则,可以直接拿过来使用,笔者认为,无论是在什么行业,copy改是一个很重要的技能。
? H FM 管理员文档,这个才是参考资料的核心。如果从官方网站下载,一般都是英文,如果想要看中文文档,最简单的一个方法就是登陆到H FM 系统,使用系统的帮助菜单可以使用系统上安装过的所有组件的文档。笔者从这个帮助文档中获益匪浅。
下篇文章,将分享H FM 规则最重要的一个函数:exp