第八篇.hfm规则入门(二) -凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 58381
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 286
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-16 21:41
个人简介

微信公众号:大话epm 10年epm产品线经验,精通hfm/tagetik产品

文章分类

(18)

  • (17)
  • (1)
文章存档

(17)

(1)

我的朋友

分类: it职场

2021-07-22 16:12:28

今天这篇文章主要是引用官方文档的内容并加以解释,笔者认为有关exp函数使用的资料,官方文档上的例子是非常经典的,值得读者细品。

1、exp函数介绍


exp函数是hfm的顶级对象,即只能是hs.exp的用法,并且只能在计算规则(calculate),折算规则(translate),分摊规则(allocate)中使用。

不能在合并规则(consolidate)中使用,读者可以想一想为什么?

hs.exp中的维度组合一般只用account,icp,c1-cn(n代表自定义维度的个数)。

语法:hs.exp “目标维度组合=源维度组合或者数值”,并且每个维度之间是英文的.分割,每个维度使用短名称和#连接。

维度短名称列表(8个固定维度的短名称取的就是每个维度的首字母):

维度编码

维度短名称(规则中用)

说明

account

a

科目维度

entity

e

组织维度

year

y

年维度

period

p

期间维度

view

w

视图维度,由于view和value维度首字母都是v,为了区分使用w

value

v

值维度

icp

i

往来单位

scenario

s

情景维度

custom1-customn

c1-cn

2.1 版本以后,自定义维度支持给自定维度重命名,并且可以大于4个自定维度,比如custom 1 设置为report,更加直观


2、exp函数示例

先看下以下示例,

将科目库存现金:100101与自定义维的 [none] 成员交叉的单元格设置为100:

hs.exp "a#100101.c1#[none].c2#[none].c3#[none].c4#[none]=100"

规则中一般只用account,icp, c1-cn,不用其他维度,为什么?

因为其他维度默认就是“当前成员”,什么意思,上面这个语句也可以将1 2 个维度(假设是4个自定义维度)组合全部写出来,怎么写?

hs.exp "e#"&hs.entity.member&".y#"&hs.year.member&"….a#100101.c1#[none].c2#[none].c3#[none].c4#[none]=100"

这样写可以,但是,是不是很复杂,可读性也不好,初学时如果对“当前成员”不理解,可以这样记住:能和h s 直接使用的维度就是当前成员,有如下维度:

我们再回过头去看上面的语句:

hs.exp "a#100101.c1#[none].c2#[none].c3#[none].c4#[none]=100"

上面的维度组合我漏了i cp 维度,可以吗?

a. 一般库存现金科目是非i cp 科目,既不挂i cp ,也就是默认在[ icp none]

科目维度i cp 属性字段:isicp =”n”

b. 如果isicp =”y”,即:

hs.exp "a#100101.c1#[none].c2#[none].c3#[none].c4#[none]=100"

如果还这样写,有问题吗?

显然有问题,这个语句会将所有i cp 维度都填充,当表单选择 icp 维度成员[ icp top] 时,数据会翻 n 倍。

正确的写法应该是:

hs.exp "a#100101. i#[icp none]. c1#[none].c2#[none].c3#[none].c4#[none]=100"


通过这个简单的例子,说明非常重要的几点:

1) 写规则时必须要关注维度模板中每个维度的属性配置,特别是科目维度。

2) 尽可能将公式中的维度组合写全(主要是account,icp,c 1-cn,其他维度一般不需要写在公式中),可避免垃圾数据和不正确的数据产生。

3) 读者一定要敢于怀疑,并且敢于去尝试不同写法的数据结果。


今天就先写这么多,下篇我们将真正走进exp函数的复杂场景使用。

阅读(4484) | 评论(0) | 转发(0) |
0

上一篇:第七篇.hfm规则入门(一)

下一篇:

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图