Skip to content

A Ruby library for interacting with Hyperion SmartView providers

License

Notifications You must be signed in to change notification settings

agardiner/SmartView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartView

SmartView is a Ruby library for implementing clients that can communicate with Hyperion’s SmartView providers.

Hyperion SmartView

Hyperion® SmartView for Office is a Microsoft Office Add-In that allows Office products to interact with Oracle’s Hyperion Essbase, Hyperion Financial Management, Hyperion Planning and Hyperion Workspace products.

The SmartView Add-In communicates with SmartView Providers via XML over HTTP. This protocol is not published, but is fairly straightforward to reverse engineer. Providers appear to use a common protocol, albeit with some small differences depending on the data source.

SmartView Gem

The SmartView gem provides a Ruby implementation of the SmartView protocol, allowing Ruby programs to act as clients to SmartView providers. The SmartView gem hides the details of the protocol, and provides a relatively simple interface for Ruby programs that wish to retrieve data and metadata from Hperion Essbase and Financial Management.

Installation

  1. Download the source from github, then run the following command to create the SmartView gem:

    rake gem:gem
    
  2. Install the gem into your Ruby using the following gem command:

    gem install <path-to-gem>
  3. The SmartView gem has a small number of dependencies: builder, hpricot, and httpclient. If you are using JRuby and wish to use SSL, you will also need to install the jruby-openssl gem.

Getting Started

Now that you have the SmartView gem installed, you are ready to interact with a SmartView provider, and retrieve data.

require 'smartview'

sm = SmartView.new 'http://<some-server>/HFMProvider/HFMProvider.aspx'
sm.connect user, password
# or sm.connect = sso_token

sm.open_app server, app, cube
grid = sm.free_form_grid(
     {'Accounts' => ['IS', 'BS']},      # Row dimension is Accounts, members are IS and BS
     {['Year', 'Periods'] => [['2009', 'Dec'], ['2010', 'Jan']},    # Two column dimensions
     {'Scenario' => 'Actual', 'Value' => 'USD Total'}   # Non-default POVs
)

puts grid

# Outputs:
#       2009    2010
#       Dec     Jan
#  IS   1234.56 2345.67
#  BS   7890.12 8910.12

sm.close_app

Retrieving Metadata

The SmartView gem provides a number of methods for obtaining metadata from a SmartView provider.

SmartView#get_dimensions

Returns a list of the dimensions within the current cube.

Note: For Essbase cubes, this method does not return attribute dimensions. Support for obtaining additional metadata about individual dimensions, including the attribute dimensions to which they are linked, will be added shortly.

SmartView#get_filters

Returns a list of available filters for a dimension. This includes standard hierarchical filters, which vary by provider and dimension type, but are otherwise common across cubes, as well as custom member lists for HFM data sources.

SmartView#get_members

Returns a list of members in a dimension, optionally filtered by a filter specification.

SmartView#find_member

Returns a list of member names within a dimension that match the specified member name pattern.

License

This code is provided under a BSD-style licence - See COPYING for licence terms.

About

A Ruby library for interacting with Hyperion SmartView providers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages