Что такое smartview excel

  • Click to view our Accessibility Policy
  • Skip to content
  1. Applications
  2. Enterprise Performance Management

Smart View enables you to integrate ERP, enterprise performance management (EPM), and business intelligence (BI) data directly from the data source into Microsoft Word, PowerPoint, Excel, and Outlook. Using Smart View, you can view, import, manipulate, distribute and share data in Office-based interfaces.

Learn about Oracle’s EPM solutions in the cloud.

Oracle Smart View for Office

Ad hoc and free-form analysis for cloud and on-premises

With an easy-to-use interface that provides powerful capabilities without need for writing complex queries, Smart View can access cloud and on-premises Oracle sources. Analysis can be saved locally or centrally, and can be reused period to period with a simple one-click refresh.

Form and flex form interaction

With flex forms, working with predefined forms does not restrict powerful Excel features, as users can still take advantage of sorting, filtering, and other native Excel functionality.

Report Design

With Smart View, you can leverage the capabilities of data retrieves for reporting. Once the data is available within Office, users can create reports, documents, and presentations based on a combination of data sources. Create reports in Office that can be refreshed periodically as needed.

Pre-created content access

There is no need to recreate content, such as charts or grids, within your source system. Whether you are importing in Word, Powerpoint, or Excel, the imported content can be refreshed directly in the Office environment.

Get started

Request a live demo

Get a live demo with an Oracle Cloud EPM expert.

Take a tour

Take a tour of Cloud EPM.

Contact sales

Talk to a member of our team about Oracle Cloud EPM.

What Is The Oracle Smart View Add-in?

The Smart View Excel Add-in is a free Oracle tool that allows you to connect to its database formats and retrieve data directly in Microsoft Excel.

Smart View is compatible with the following Oracle Products (if you know others, let me know in the comments section):

  • Essbase

  • Hyperion Financial Management (HFM)

  • Hyperion Planning

  • Hyperion Reporting and Analysis

If you are looking to automate something with Smart View that is not covered in this guide, you can search through Oracle’s VBA Developers Guide for additional functions and documentation.

VBA Coding Prep

Determine If You Have Access To Smart View’s API

Before you get started, you’ll want to ensure you have access to all the Smart View functions (API). If you have the Smart View Add-in installed and running in Excel, you should be fine. You can verify your access to their functions by doing the following:

  1. Open the Visual Basic Editor (VBE)

  2. Open the Tools menu

  3. Select References

  4. In the Available References Listbox, ensure there is an Oracle SmartView reference available (this does not have to be checked)

If you see the Oracle SmartView reference in the dialog, you should be fine running any of the code in this article.

Coding For 32-Bit/64-Bit Excel

While most folks are running 64-bit Excel nowadays, there is still the risk that you or your end-users are running a version of 32-bit Excel. For this reason, we will declare the Smart View functions in both 32-bit and 64-bit.

Luckily, Oracle has set up all its functions to return a Long value, so converting the functions to 64-bit is quite simple. All you will need to do is add the word PtrSafe in between Declare and Function and the function will be 64-bit compatible.

You can use an If Statement to determine if the end-user is running 64-bit Excel (VBA7) or 32-bit Excel. Depending on the version will determine how the function needs to be declared in your VBA code.

You’ll also notice that depending on the bit version of Excel you are running, the non-compatible declaration code font color will turn red. This is completely fine and can be ignored.

If you are going to be using a lot of the Smart View functions in your VBA code, I recommend you declare all the functions within a single If Statement at the top of your code (or if you have a lot, you can declare them all in their own Module).

Here is an example:

Storing Your Username And Password

You will likely be creating code where you need to log into the Server. Most VBA coders immediately want to write their username and password directly into their VBA code. This is NOT a great practice!

There are a couple more secure/ideal ways you can go about storing your username/password outside of your VBA project and even your Excel file.

  • Store your credentials in your PC’s registry

  • Store your credentials in a text file and save it to your computer

While these solutions are not going to pass your IT department’s security rigor, it at least gives your credentials more protection and requires one to be logged into your computer in order to access this information. The worse thing you could do is accidentally email a file or save it to a shared drive with your username/password available for everyone to see.

Establishing Oracle Connections

Working with Smart View connections requires an understanding of all the names used to setup the database. The various names you will encounter include:

  • Server Name

  • Application Name

  • Database Name

  • Friendly Name (Private Connection Name)

You will typically be referencing the Friendly Name throughout your Smart View VBA coding, so ensure you have Private Connections established and use a sensible naming convention. The Friendly Name will always be the name after the hyphen symbol in the Smart View connection outline.

Connect To Existing Private Connection

If a private connection has already been created in your Smartview add-in, you can log in through Smart View before retrieving or submitting any data. This essentially mimics how you would typically set up a retrieve on your Excel spreadsheet.

The following code shows you how you can use the HypConnect function to log in and connect to a private connection. You will need to reference your private connection’s name (aka Friendly Name) within the VBA code.

A private connection’s Friendly Name is displayed in the Smart View pane after the database name (separated by a hyphen).

#If VBA7 Then
  Declare PtrSafe Function HypConnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtUserName As Variant, _
    ByVal vtPassword As Variant, ByVal vtFriendlyName As Variant) As Long
#Else
  Declare Function HypConnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtUserName As Variant, _
    ByVal vtPassword As Variant, ByVal vtFriendlyName As Variant) As Long
#End If

Sub SmartView_Connect()
‘PURPOSE: Log-in to a Smart View connection
‘SOURCE: www.TheSpreadsheetGuru.com

Dim Username As String
Dim Password As String
Dim FriendlyName As String
Dim x As Integer

‘Connection Inputs
  Username = «JohnDoe»
  Password = «Password123»
  FriendlyName = «Forecast Cube»

‘Log-in through Smartview to desired database cube
   x = HypConnect(Empty, Username, Password, FriendlyName)

  ‘Verify If Connection was Established
  If x = 0 Then
     MsgBox («Connection Established»)
  Else
     MsgBox («Connection Failed»)
  End If

  End Sub

Setup Multi-Grid Sheet (Multiple Connections, Same Sheet)

If you are wanting to retrieve data from multiple databases on the same sheet, you can do so by setting up a multi-grid ad hoc retrieval.

This will require connecting to each database individually and creating a range grid for each connection. You will need to reference each database’s Friendly Name while using both the HypConnect and HypCreateRangeGrid Smart View functions.

#If VBA7 Then
  Declare PtrSafe Function HypConnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtUserName As Variant, _
    ByVal vtPassword As Variant, ByVal vtFriendlyName As Variant) As Long
  Declare PtrSafe Function HypCreateRangeGrid Lib «HsAddin» (ByVal vtSheetName As Variant, _
  ByVal vtRange As Variant, ByVal vtFriendlyName As Variant) As Long
#Else
  Declare Function HypConnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtUserName As Variant, _
    ByVal vtPassword As Variant, ByVal vtFriendlyName As Variant) As Long
   Declare Function HypCreateRangeGrid Lib «HsAddin» (ByVal vtSheetName As Variant, _
    ByVal vtRange As Variant, ByVal vtFriendlyName As Variant) As Long
#End If

Sub SmartView_MultigridConnect()
‘PURPOSE: Create a Multi-Grid Retrieve
‘SOURCE: www.TheSpreadsheetGuru.com

Dim Username As String
Dim Password As String
Dim FriendlyName As String
Dim x As Integer

‘[1] Log-in through Smartview to desired database cube
  Username = «JohnDoe»
  Password = «Password123»
  FriendlyName = «SalesCube»

    x = HypConnect(Empty, Username, Password, FriendlyName)

‘[1] Create Adhoc Retrieval Range
  x = HypCreateRangeGrid(Empty, Range(«A1:C23»), FriendlyName)

‘[2] Log-in through Smartview to desired database cube
  Username = «JohnDoe»
  Password = «Password123»
  FriendlyName = «CustomerCube»

    x = HypConnect(Empty, Username, Password, FriendlyName)

‘[2] Create Adhoc Retrieval Range
  x = HypCreateRangeGrid(Empty, Range(«G17:I39»), FriendlyName)

End Sub

Remove A Connection

You can use the HypDisconnect function to disconnect from a connection on a specific sheet.

#If VBA7 Then
  Declare PtrSafe Function HypDisconnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal bLogoutUser As Boolean) As Long
#Else
  Declare Function HypDisconnect Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal bLogoutUser As Boolean) As Long
#End If

Sub SmartView_Disconnect()
‘PURPOSE: Disconnect a Smart View connection
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Disconnect from designated sheet (Empty = ActiveSheet)
   x = HypDisconnect(«Sheet 3»)

   End Sub

If you would like to disconnect all sheets in an Excel workbook, you can use the HypDisconnectAll function. This is useful if you would like to log in as a different user with your VBA code.

#If VBA7 Then
  Declare PtrSafe Function HypDisconnectAll Lib «HsAddin» () As Long
#Else
  Declare Function HypDisconnectAll Lib «HsAddin» () As Long
#End If

Sub SmartView_DisconnectAll()
‘PURPOSE: Equivalent to the Disconnect All button
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Disconnect from all connections
   x = HypDisconnectAll()

   End Sub

Create A New Private Connection

If you need to create a brand new connection for an Oracle database that has not already been setup in your SmartView pane, you can do this with the HypCreateConnection function.

You will need to gather a handful of names/paths in order to setup the connection (you may need to work with your IT/BI admin to understand the naming conventions used)

Depending on which database type you are connecting to, you will need to use one of the following text values for your Provider Input:

  • For Essbase = «HYP_ESSBASE»

  • For HFM = «HYP_FINANCIAL_MANAGEMENT»

  • For Planning = «HYP_PLANNING»

  • For Hyperion Reporting and Analysis = «HYP_RA «

#If VBA7 Then
  Declare PtrSafe Function HypCreateConnection Lib «HsAddin» (ByVal vtSheetName As Variant, _
    ByVal vtUserName As Variant, ByVal vtPassword As Variant, ByVal vtProvider As Variant, _
    ByVal vtProviderURL As Variant, ByVal vtServerName As Variant, ByVal vtApplicationName As Variant, _
    ByVal vtDatabaseName As Variant, ByVal vtFriendlyName As Variant, ByVal vtDescription As Variant) As Long

#Else
  Declare Function HypCreateConnection Lib «HsAddin» (ByVal vtSheetName As Variant, _
    ByVal vtUserName As Variant, ByVal vtPassword As Variant, ByVal vtProvider As Variant, _
    ByVal vtProviderURL As Variant, ByVal vtServerName As Variant, ByVal vtApplicationName As Variant, _
    ByVal vtDatabaseName As Variant, ByVal vtFriendlyName As Variant, ByVal vtDescription As Variant) As Long
#End If

Sub SmartView_CreateConnection()
‘PURPOSE: Set-up A Connection via Smartview to desired cube
‘SOURCE: www.TheSpreadsheetGuru.com

Dim Username As String
Dim Password As String
Dim Provider As String
Dim ProviderURL As String
Dim ServerName As String
Dim ApplicationName As String
Dim DatabaseName As String
Dim FriendlyName As String
Dim Description As String
Dim x As Integer

‘Connection Inputs
  Username = «JohnDoe»
  Password = «Password123»
  Provider = «HYP_ESSBASE»
  ProviderURL = «https://hyperionp.mycompany.com:443/aps/SmartView»
  ServerName = «hypessretp.mycompany.com»
  ApplicationName = «Corporate»
  DatabaseName = «Financials»
  FriendlyName = «Forecast Cube»
  Description = «Essbase Cube for Financials»

‘Create a connection through Smartview to desired database cube
  x = HypCreateConnection(Empty, Username, Password, Provider, ProviderURL, ServerName, _
         ApplicationName, DatabaseName, FriendlyName, Description)

‘Verify If Connection was Established
  If x = 0 Then
     MsgBox («Connection Created»)
  Else
     MsgBox («Connection Failed»)
  End If

End Sub

Retrieving Data

Retrieve ActiveWorksheet

#If VBA7 Then
  Public Declare PtrSafe Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#Else
  Public Declare Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_RetrieveActiveSheet()
‘PURPOSE: Retrieve data in desired worksheet
‘SOURCE: www.TheSpreadsheetGuru.com
‘NOTES: If vSheetName is Null/Empty, the ActiveSheet will be used

Dim x As Integer

‘Retrieve ActiveSheet
  x = HypRetrieve(Null)

‘Verify Retrieve was successful
  If x = 0 Then
     MsgBox («Retrieve was successful»)
  Else
     MsgBox («Retrieve failed»)
  End If

End Sub

Retrieve A Specific Worksheet

#If VBA7 Then
  Public Declare PtrSafe Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#Else
  Public Declare Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_RetrieveSheet()
‘PURPOSE: Retrieve data in desired worksheet
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Retrieve Sheet1 Tab
  x = HypRetrieve(«Sheet1»)

‘Verify Retrieve was successful
  If x = 0 Then
     MsgBox («Retrieve was successful»)
  Else
     MsgBox («Retrieve failed»)
  End If

End Sub

Retrieve All Worksheets In A Workbook

#If VBA7 Then
  Public Declare PtrSafe Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#Else
  Public Declare Function HypRetrieve Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_RetrieveActiveWorkbook()
‘PURPOSE: Retrieve data in sheets in ActiveWorkbook
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer
Dim sht As Worksheet

‘Loop through all worksheets in ActiveWorkbook
  For Each sht In ActiveWorkbook.Worksheets

        ‘Retrieve Tab (if applicable)
      x = HypRetrieve(sht.Name)

    Next sht

‘Notify User of Completion
  MsgBox («All sheets have been retrieved in this workbook»)

End Sub

Retrieve All Worksheets In Open Files

#If VBA7 Then
  Public Declare PtrSafe Function HypRetrieveAllWorkbooks Lib «HsAddin» () As Long
#Else
  Public Declare Function HypRetrieveAllWorkbooks Lib «HsAddin» () As Long
#End If

Sub SmartView_RetrieveAllWorkbooks()
‘PURPOSE: Retrieve data in all Open Workbooks
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Retrieve
  x = HypRetrieveAllWorkbooks()

‘Verify Retrieve was successful
  If x = 0 Then
     MsgBox («Retrieve was successful»)
  Else
     MsgBox («Retrieve failed»)
  End If

End Sub

Submitting Data

The Smart View API gives you the ability to submit/send data back to the database you are connected to. In this section, we’ll explore a couple of different scenarios you might run into while building out your VBA automation.

Submit Data On Specific Sheet

#If VBA7 Then
  Declare PtrSafe Function HypSubmitData Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSubmitData Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_SubmitData()
‘PURPOSE: Submit data in desired worksheet
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Submit Data on Sheet1 Tab
  x = HypSubmitData(«Sheet1»)

‘Verify Retrieve was successful
  If x = 0 Then
     MsgBox («Data Submission was successful»)
  Else
     MsgBox («Data Submission failed»)
  End If
End Sub

Submit And Include Zeroes

In this example, we’ll submit data but want to ensure that the end-user can submit zero values. This setting can sometimes be turned off by default.

The HypSetOption function enables you to set either global (default) or sheet-specific options so that you do not need separate VBA commands for the two option types. Alternatively, you could utilize either the HypSetGlobalOption or HypSetSheetOption functions if you want to stick with a specific scope.

#If VBA7 Then
  Declare PtrSafe Function HypSubmitData Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
  Public Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSubmitData Lib «HsAddin» (ByVal vtSheetName As Variant) As Long
  Public Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant,ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_SubmitDataZeroes()
‘PURPOSE: Submit data in desired worksheet (including zeroes)
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer
Dim y As Integer

‘Submit Data on Sheet1 Tab
  y = HypSetOption(HSV_SUBMITZERO, True, «») ‘Global Setting
  x = HypSubmitData(«Sheet1»)

‘Verify Retrieve was successful
  If x = 0 Then
     MsgBox («Data Submission was successful»)
  Else
     MsgBox («Data Submission failed»)
  End If
End Sub

Change Smart View Options

Many of the options that are available to you via the Smart View Options dialog are also available through their VBA API functions. Options can be set either at the Sheet Level or Globally.

Oracle provides a table for all the various option inputs that can be used within its HypSetOption function. Let’s look at a few examples of settings you may want to change using VBA code.

Remove Member Indentation

#If VBA7 Then
Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, _
  ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant, _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_RemoveIndent()

Dim x As Integer

‘Remove Indentations for Sheet2
  x = HypSetOption(HSV_INDENTATION, 0, «Sheet2»)

End Sub

Suppress Rows With #Missing/Zeroes

#If VBA7 Then
Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, _
  ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant, _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_Suppress()

Dim x As Integer

‘Suppress Missing Rows Globally
  x = HypSetOption(HSV_SUPPRESSROWS_MISSING, True, «»)

  ‘Suppress Zero Rows Globally
  x = HypSetOption(HSV_SUPPRESSROWS_ZEROS, True, «»)

End Sub

Retain Excel Formatting

#If VBA7 Then
Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, _
  ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant, _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_RetainFormats()

Dim x As Integer

‘Selects the Excel formatting check box
  x = HypSetOption(HSV_EXCEL_FORMATTING, True, «»)

End Sub

Display Member Description Only

#If VBA7 Then
Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, _
  ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant, _
    ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_DisplayDescriptions()

Dim x As Integer

‘Display Descriptions Only for Members
  x = HypSetOption(HSV_MEMBER_DISPLAY, 2, «Sheet2»)

End Sub

Zoom In/Drilling Down

Zooming in is another Smart View functionality that is popular to automate with VBA.

HypZoomIn Function Inputs

  • vtSheetName — The name of the worksheet this function will be run on. If you set it to Null/Empty, the Active Sheet will be used.

  • vtSelection — The Cell/Range that refers to the member you wish to zoom in on. If you set it to Null/Empty, the Active Cell will be used.

  • vtLevel — Indicate the level of the zoom you want to carry out.

    • 0 = Next Level

    • 1 = All Levels

    • 2 = Bottom level

    • 3 = Siblings

    • 4 = Same Level

    • 5 = Same Generation

    • 6 = Formulas

  • vtAcross — This input is no longer needed. Just make the value equal FALSE

Bottom Level Zoom-In

The following VBA code performs a bottom-level zoom on the member in Cell A2 on the worksheet named Sheet1.

#If VBA7 Then
  Public Declare PtrSafe Function HypZoomIn Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtSelection As Variant, ByVal vtLevel As Variant, ByVal vtAcross As Variant) As Long
#Else
  Public Declare Function HypZoomIn Lib «HsAddin» (ByVal vtSheetName As Variant,  ByVal vtSelection As Variant, ByVal vtLevel As Variant, ByVal vtAcross As Variant) As Long
#End If

Sub SmartView_ZoomInBottomLevel()
‘PURPOSE: Submit data in desired worksheet
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer

‘Perform Bottom-Level Drill in Column A
  x = HypZoomIn(«Sheet1», Range(«A2»), 1, False)

‘Report If Ran Successfully
  If x = 0 Then
     MsgBox («Zoom-in was successful!»)
  Else
     MsgBox («Zoom-in failed»)
  End If

End Sub

Bottom Level Zoom-In & Suppress Zeroes/Missing Values

The following VBA code performs a bottom-level zoom on the member in Cell A2 on the worksheet named Sheet1. This time we will also change the Smart View Settings so that zero and missing values are suppressed.

#If VBA7 Then
  Public Declare PtrSafe Function HypZoomIn Lib «HsAddin» (ByVal vtSheetName As Variant, ByVal vtSelection As Variant, ByVal vtLevel As Variant, ByVal vtAcross As Variant) As Long
  Public Declare PtrSafe Function HypSetOption Lib «HsAddin» (ByVal vtItem As Variant, ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#Else
  Public Declare Function HypZoomIn Lib «HsAddin» (ByVal vtSheetName As Variant,  ByVal vtSelection As Variant, ByVal vtLevel As Variant, ByVal vtAcross As Variant) As Long
  Public Declare Function HypSetOption Lib «HsAddin» ( ByVal vtItem As Variant,ByVal vtOption As Variant, ByVal vtSheetName As Variant) As Long
#End If

Sub SmartView_ZoomInBottomLevel_Suppress()
‘PURPOSE: Submit data in desired worksheet
‘SOURCE: www.TheSpreadsheetGuru.com

Dim x As Integer
Dim y As Integer

‘Ensure Options are set to Suppress Missing/Zero Rows
  y = HypSetOption(HSV_SUPPRESSROWS_MISSING, True, «Sheet1»)
  y = HypSetOption(HSV_SUPPRESSROWS_ZEROS, True, «Sheet1»)

‘Perform Bottom-Level Drill in Column A
  x = HypZoomIn(«Sheet1», Range(«A2»), 1, False)

‘Report If Ran Successfully
  If x = 0 Then
     MsgBox («Zoom-in was successful!»)
  Else
     MsgBox («Zoom-in failed»)
  End If

End Sub

I Hope This Helped!

Hopefully, I was able to explain how you can use the Smart View Excel Add-ins API functions to help you automate the retrieval of data from your Oracle data cubes. If you have any questions about this technique or suggestions on how to improve it, please let me know in the comments section below.

About The Author

Hey there! I’m Chris and I run TheSpreadsheetGuru website in my spare time. By day, I’m actually a finance professional who relies on Microsoft Excel quite heavily in the corporate world. I love taking the things I learn in the “real world” and sharing them with everyone here on this site so that you too can become a spreadsheet guru at your company.

Through my years in the corporate world, I’ve been able to pick up on opportunities to make working with Excel better and have built a variety of Excel add-ins, from inserting tickmark symbols to automating copy/pasting from Excel to PowerPoint. If you’d like to keep up to date with the latest Excel news and directly get emailed the most meaningful Excel tips I’ve learned over the years, you can sign up for my free newsletters. I hope I was able to provide you with some value today and I hope to see you back here soon! — Chris

by Shiva Molabanti

OBIEE and SmartView integration – A Great Oracle BI / MS-Office Add-in

Oracle Hyperion SmartView for Office Integration.

SmartView is much more powerful than its well-known predecessor, the Hyperion Excel Add-In. It not only connects to Essbase, Hyperion Planning, and now to Oracle BI EE. The Smart View 11.1.2.2 Add-in replaces the Oracle BI Office Add-in as the primary Office application for Oracle BI Foundation. For benefit of the users, both are still available with OBI 11.1.1.7.

Smart View allows users to connect to Oracle BI EE server and utilize the content created in Oracle Business Intelligence Answers dashboards and analyses. In addition to working with pre-created content, Smart View users can create ad hoc queries in the form of simple views with the View Designer, using Oracle BI EE Presentation Server as the data source. The views created can then be published to the Oracle BI EE Presentation Catalog, where they can be edited further.

SmartView Features

When connected to an Oracle BI EE data source in Smart View, you can:

  • Connect to Oracle BI EE Presentation Server.

  • Navigate through the Oracle BI EE Presentation Catalog.

  • Import pre-created BI Answers views from Presentation Catalog into Microsoft Excel, PowerPoint, and Word. For example, you can: 

    • Insert Oracle Business Intelligence tables, BI pivot tables, and BI graphs into Excel as refreshable, editable objects. 

    • Apply Excel formatting to BI data; formats are retained when you refresh. 

  • Copy Oracle BI EE Dashboard content and paste it into Smart View client documents. The data, metadata, and view layout are copied.

  • Create simple views in Excel using Oracle BI EE Presentation Server as the source for metadata and data.

  • Interact with content imported into Smart View documents, such as prompt selections.

  • Manage the imported content in Smart View; for example, refresh, mask, copy and paste, and document contents.

  • Mask BI data from Oracle BI EE objects in Office so that users must log in to view the data. Masked objects can be viewed upon refresh.

  • You can use Visual Basic to program your own Oracle BI EE interfaces. 

The New VBA Functions to Support Oracle BI EE are:

    • InsertView—Insert an Oracle BI EE object into Smart View 

    • EditPrompts—Edit the prompts of a view.

    • EditPagePrompts—Edit the page selections of a view.

    • GetPrompts—Get prompt values of a view.

    • GetPagePrompts—Get page selections of a view.

    • DeleteView—Delete a view in an Office application.

    • DirProperties—Fetch properties of a directory.

    • InvokeMenu—Invoke the Oracle BI EE ribbon in Smart View

Install SmartView Add-in for MS Office

  1. In Oracle BI EE Analytics Home page, click the arrow next to Download BI Desktop Tools, and then select Smart View for MS Office.

  2. Choose an option: 

  • Click Run to run the installer directly. If the User Account Control dialog box is displayed, click Yes, and then continue to step 3. 

  • Click Save to save the Smart View installer file to a directory to which you have access and from which you can run executable files. Open the folder where you saved the Smart View executable and double-click it to run it. Then continue to Step 3.

  • Select the language to use for the installation wizard.

  • Click Next. 

  • Follow the prompts in the wizard. 

  • When installation is complete, click Finish. Smart View is displayed the next time you open Microsoft Excel, PowerPoint, or Word. 

  • OBIEE Hyperion SmartView

    Examples of SmartView Integration

    Example 1: Connect to OBIEE Analysis from Excel spreadsheet with SmartView Add-in

    I have a year-order Sales report in OBIEE catalog:

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 2 resized 600

    Connect to OBIEE from SmartView and insert this report in Excel spreadsheet. Once you imported the OBI Analysis view, you can use all native Excel features (e.g. Cell formatting, Text formatting, Excel functions like Sum,Avg, Min,Max and any other functions etc..).

    describe the image

    If we apply any changes to OBI analysis in presentation services, the formats applied in spreadsheet retain same and just the data will be refreshed with respect to the OBI Analysis updates.

    In following example I have applied a filter on year = 2008 in OBIEE presentation services.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 4 resized 600

    Now in Excel, The formats are retained the same, but just data is limited to year 2008, since there is a filter in OBIEE Analysis. (If data is not changed immediately, just click the refresh button available in Excel toolbar ribbon)

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 5 resized 600

    Example 2: Create an analysis in Excel SmartView and save in OBIEE catalog

    To create a new analysis from SmartView, Navigate to Oracle BI EE tab. And then click on “View Designer” button.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 6 resized 600

    The View Designer button will open the Oracle BI EE presentation services Subject Areas. Expand the Subject Areas of your choice and drag the columns of analysis into the areas of report layout.

    The SmartView has variety of View types, for demonstration purpose I am using Pivot table.

    The Available Report View types are:

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 7 resized 600

    In my example I am creating a pivot table, so dragged the Order type in Rows, Order Status in Columns, and Revenue in Measure block. And I am grouping the result set by year, so moved the Per Name Year in Section part.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 8 resized 600

    The wizard will generate a report like this in Spreadsheet:

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 9 resized 600

    Now to save this report in OBIEE catalog, click on publish View button.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 10 resized 600

    It will open the OBIEE catalog folders. You can save the report into a folder of your choice that created in OBIEE catalog.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 11 resized 600

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 12 resized 600

    OBIEE Hyperion SmartView

    Now the report is saved in OBIEE catalog like the analysis we generally save within OBIEE:

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 14 resized 600

    See how the report is rendered in OBIEE Presentation services.

    molabantiShiva 2013 04 13 OBIEE11gSmartViewIntegration 15 resized 600

    There are many scenarios where we could use this powerful SmartView Add-in for a great flexible usage of OBIEE reports.


    molabantishiva 128

    Shiva Molabanti is a Manager and Senior Architect at KPI Partners.  He is a business intelligence enthusiast who likes blogging about acquisitions in the BI space, technical workings of BI tools, and Oracle Business Intelligence.  Visit Shiva at his personal blog: http://shivabizint.wordpress.com/

    CONTACT KPI PARTNERS TODAY!

    Like this post? Please share to your friends:
  • Что такое nonce word
  • Что такое smartart в word 2010
  • Что такое named range excel
  • Что такое tabs for excel
  • Что такое smartart в excel