如何使用确定的业务模型简化formula的创建工作?

来源:互联网 发布:沈阳酒店业2017数据 编辑:程序博客网 时间:2024/06/05 22:53

在实际应用中业务规则是各式各样,但是按照Charlie Hoffman的研究可以将常见的验证规则进行分类,称为:逻辑模型(Logical Model)。逻辑模型对非技术的业务人员来说容易理解,也方便制定这样的业务规则。CoreFiling公司的Sphinx用的就是自定义的业务规则处理方式。Charlie Hoffman的方法是定义业务规则的Xml文件:

<BusinessRule number='11'>
<Network href='abc-20101231.xsd#StatementOfCashFlows'>http://www.abc.com/role/StatementOfCashFlows</Network>
<TestType>RollForward</TestType>
<Paramenters>
<BalanceConcept>us-gaap:CashAndCashEquivalentsAtCarryingValue</BalanceConcept>
<ChangeConcept operator='+'>us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease</ChangeConcept>
</Paramenters>
</BusinessRule>

可以将这种业务规则转换成Formula,相信在实际的业务规则制定过程中,可能更加倾向于在Excel中编写规则,通过VBA宏类似的代码,生成Formula链接库,比较方便。

Sphinx的定制处理方法:

raise StatementOfCashFlowsRollForwardCheck
let
d = foreach set(values us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease[]::period)
bop = $d::start-date
eop = $d::end-date
in
us-gaap:CashAndCashEquivalentsAtCarryingValue[period = $eop] !=
us-gaap:CashAndCashEquivalentsAtCarryingValue[period = $bop] +
us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease[period = $d]

Sphinx在处理上对于业务人员由其简单性,但是实现它需要编写新的处理语言,Formula的语言基础是XPath 2.0,Spninx是CoreFiling的私有格式。


更多的内容参考前面给出的链接。


原创粉丝点击