Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60966
  • 博文数量: 18
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 286
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-16 21:41
个人简介

微信公众号:大话EPM 10年EPM产品线经验,精通HFM/Tagetik产品

文章分类
文章存档

2021年(17)

2013年(1)

分类: IT职场

2021-08-10 17:56:44

本文将是smartview的最后一篇文章,主要介绍基于Excel的HFM相关的模板功能的开 发。

1、输出报表开发(基于VBA语言)

输出报表是基于Excel开发最常见的使用方式,它主要是解决HFM表单天然不能满足报告输出的缺陷。比如在年度审计时,审计顾问需要提供基于法人公司的一套完整的报表,包括主表、附注及其他的信息,HFM本身的表单功能是无法满足这样的需求,在HFM中,即使某些表单能搭建出来,也是需要花费很大的代价,所以基于smartview产品API的功能成了输出表需求的首选。

一个输出套表的示例:

开发思路

1.1 构建输出表样式

必须要预先设定格式,然后根据格式进行解析,通过宏代码自动生成hs.getvalue公式。 以资产负债表为例:

1.2 利用宏代码自动生成公式

首先需要导入smartview提供的API。 这个API其实就在smartview安装目录的BIN文件夹中。



导入后会出现smartviewVBA的API接口供使用,细心的读者会发现,大约从smartview2.5版本开始,已经兼容了32位和64位的调用(函数前面带了ptrsafe)。
基于表样自动生成刷数公式的样例代码:

1.3 调用smartview提供的API刷出报表数据


如果是逐个刷新,一般使用HypRetrieve函数。这样刷新的效率极低。 Smartview还提供了一个效率比较高的API函数: HypMenuVRefreshAll,刷新整个工作簿的函数。

2、基于其他语言的开发

还可以基于VBA宏进行开发HFM相关的功能,比如使用Python开发元数据调用的服务,然后通过Excel宏进行调用将结果返回到Excel的工作表中。

3、基于Excel开发的优缺点

基于Excel开发的HFM功能其实有很多,笔者以上仅仅列举了解过或者使用过的部分内容,当然还有很多其他的深入融合HFM产品功能的开发,只是笔者没有见识过。因为本身笔者不擅长语言开发,所以对这块的了解深度有限。如果有其他创新的开发方式,欢迎交流。

我们说做任何事情都是有两面性的,开发功能或者产品也一样,总会有机会成本在里面的。

缺点:插件与Excel集成不稳定

由于HFM的使用,非常依赖于smartview插件,这是一个基于Excel的插件,我们都知道,Excel插件的一大弊端就是不稳定,经常出现插件被禁用或者不生效的情况,这点用户体验非常的差。

优点:基于Excel的功能或者产品是用户所希望的。

基于Excel产品开发的优点不言而喻,所以用户仍然希望使用Excel进行报表的操作,比如在Excel中打开web表单进行填报和在web网页中打开web表单进行填报,体验是完全不一样的。



下篇预告:笔者将分享基于HFM集成的ETL产品,市场上主流的集成工具

阅读(1464) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~