Hyperion神器之SmartView產品(下篇)

oracle_cj發表於2021-08-10

本文將是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表單進行填報,體驗是完全不一樣的。


我的微信公眾號:大話EPM,歡迎交流




下篇預告:筆者將分享基於HFM整合的ETL產品,市場上主流的整合工具


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28963606/viewspace-2786277/,如需轉載,請註明出處,否則將追究法律責任。

相關文章