Friday, December 26, 2008

Nice Christmas Present

Christmas is over and I received a very nice Christmas present. I was doing a quick Google search to check on our website (after the recent outage) and found an interesting blog post on Dodeca. Jason Jones describes how they are using our Dodeca product to replace what they had previously done in Essbase with Excel VBA and instead create a cohesive work environment. Here is the link to the blog entry.

In the blog post, Jason describes one of their alternatives is to write 'a little home brew VBA action' to meet their needs. That statement reminded me of a conversation I had with one of Jason's coworkers a while back. He was showing me one of the reports they generated with Dodeca. Previous to Dodeca, this certain report was generated 'by hand' by someone working overtime *every* Saturday to have it ready for the executive team on Monday morning. Once the report was implemented in Dodeca, it is now generated in Dodeca in about 35 seconds. No more overtime!

"The report is pretty complex. It has 68 different retrieve ranges and pulls data from 3 different Essbase databases." stated the coworker.

"68 retrieve ranges???" I asked.

"Yes, and 60 of them are sorted after the retrieval." he replied. "That is nothing... We have one report with over 250 retrieve ranges."

What is the best feature of Dodeca used in this case? The report described here was created entirely with out-of-the-box functionality by the coworker who had just a few hours of on-line training in how to use Dodeca. You know, visioning the Dodeca product and leading the team that has built it is the real joy of being an entrepreneur.

The best part of the story is the value it provides to the company. Although the coworker could tell me about the mechanics of the report, he couldn't discuss the nature of the content due to the competitive advantage they enjoy. I am happy they allowed us to help.

Thursday, December 25, 2008

More to Life than Essbase

Occasionally, even I have to take a bit of time away from Essbase. Here are a couple of snapshots of one of the *other* things I do.

The first shot is a photo taken by a passenger in my Cessna 210 while I was undergoing recurrent instrument flight training (note the funny googles I am wearing to restrict vision outside the airplane). Don't worry, the instrument instructor in the right seat is watching for traffic and I am talking with ATC.



I fly the plane primarily for business but I also fly at least a couple of trips a year to visit family in Michigan. Here is a shot my Mom took when we were departing Michigan heading south for Alabama.



The funny thing about this picture is that she was planning to take the picture as we were passing directly in front of the terminal at the small airport near my hometown but she missed because we were going too fast!

In any case, Essbase is fun to work with but there are other fun things besides just Essbase. If you can, take some time to unwind and enjoy the holidays.

Wednesday, December 24, 2008

Essbase XML/A Update

Following up on an earlier post, I got SQL Server 2005 Service Pack 3 installed to test the fix to XML/A and SQL Server Reporting Services. I am happy to report that it works although I did have to recreate the report. I decided to take a quick look to see if I could figure out what was different and I discovered the query was slightly different. The original query was:

SELECT { [COGS], [Sales], [Margin] } ON COLUMNS, {CROSSJOIN( [Market].Levels(1).ALLMEMBERS, [Year].Levels(1).ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, PARENT_UNIQUE_NAME, LEVEL_NUMBER ON ROWS FROM Sample.Basic CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING

The updated query is:

SELECT NON EMPTY { [COGS], [Sales], [Margin] } ON COLUMNS, NON EMPTY {CROSSJOIN( [Market].Levels(1).ALLMEMBERS, [Year].Levels(1).ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM Sample.Basic CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING

I highlighted the differences. Once I removed PARENT_UNIQUE_NAME from the dimension properties, the old report ran. I don't know where the NON EMPTY statement comes from except it may be a tweak added by the Microsoft developers to improve the XML/A for Essbase reports. Here is the finished report (from the preview screen in Visual Studio):

Tuesday, December 23, 2008

Hyperion Diagnostics Tool

I don't remember seeing this tool before; I think it is new to 11.1.1. It essentially tests the different Hyperion services and gives you a quick picture on the status of the services.

Based on the output that prints in the command window, it appears to go further than just checking to see if the services are running. Here is the command window during the generation process. Click on the graphic below to get a larger (more readable) version.



When the process is done checking all of the services, it summarizes it in a nicely formatted dashboard that gives you a very fast way to monitor your system.



As you can see in my screenshot, both my Essbase Studio server and my HAB.Net server are having problems. I shot this when I was working on getting Essbase Studio server running on Oracle and thus it was not running. I don't normally start up the HAB.Net server as I am running our Dodeca-Essbase service on my machine; it is a more up-to-date version of the HAB.Net server anyway.

Monday, December 22, 2008

Website outage (The Joys of Entrepreneurship)

For much of the last week, our website was down affecting both access to the information on our website and access to the Olap Underground tools we distribute on our site. Fortunately, we distribute our commercial products on a private website so access for our customers was not interrupted.

Our website is hosted by a web hosting company and they had some type of problem in the software they use to host our site. Unfortunately for us, they were not very helpful during this time and I got pretty @#$%^&* frustrated at times. In the end, they referred us to some of their former employees that we could contract to fix the software used to host the site and apply patches to prevent the same problem from recurring. It seems like we pay a good bit of money to them every year to make sure the site is up and running 24/7; they don't seem to be up to the task.

Unfortunately, one of the side effects of the problem was that Google listed our site as 'harmful to your computer' which prevented many people for being able to access it at all. About an hour ago, I received an email from the contractor telling me the site was back up and that they were working with Google to get the 'harmful site' status reversed.

Thank you to the dozen or so individuals who took the time over the past few days to send me email letting me know there was a problem with the site.

Update 12.23.2008: Our website is back online, has been tested by Google and found to be clean. Hopefully things can get back to normal now.

Friday, December 19, 2008

Tentative ODTUG Hyperion Schedule

A team of Hyperion practitioners have been toiling away for the past several months on putting together the ultimate Hyperion technical conference and finally, we are ready to share the agenda. A couple of notes:
  • This schedule may change but we don't expect significant changes.
  • Not all speakers have been notified or accepted their speaking slots. Further, several of the sessions are combinations of multiple sessions submitted and we have tried, when possible, to have the different people who submitted these sessions agree to team together to give the attendees the best possible content.
  • The Monday morning sessions highlighted in a bluish color are reserved vendor sessions. This timeslot is reserved conference-wide for presentations paid for by software companies, vendors, etc and is supposed to be the only time you hear a sales pitch. There is a session entitled "Throw Excel Under the Bus and Hop on the Dodeca Train" that was submitted by one of our customers; we decided our company would pay for the session and make it our 'vendor presentation'. After all, who to speak better about your product than your customers (and we may have a few customers participate in the session).

Click on the graphic below to get a larger (more readable) version.

Hopefully everyone who sees this schedule will not want to miss this conference. I hope to see you there!

Thursday, December 18, 2008

Using XML/A with Essbase

There has been a number of questions asked recently on the forums about the use of XML for Analysis (XML/A) with Essbase. This functionality has been supported in Essbase for quite some time. In fact, I was at the charter meeting of the XML for Analysis Advisory Council held on the Microsoft campus on 9/11 (yes, that 9/11). I was asked to be there for my expertise writing web services that accessed Essbase and they thought I had something to add. Since that time, I have only dabbled in XML/A as it will never have the same functionality as the Grid API that is contained in the Java API; that has been where I keep my focus. That being said, it doesn't hurt to know how to do it so I have done a small bit. This post will talk about how to connect and use XML/A to connect to Essbase using SQL Server Reporting Services ("SSRS").

XML/A underwent a major overhaul in the 9.3.1 timeframe to be more compliant with the Microsoft flavor of XML/A. This happened before the Oracle merger when Hyperion and Microsoft were getting a bit cozy and there was some cross-breeding that allowed Hyperion Reporting tools to connect to SQL Server Analysis Services ("SSAS") and allowed SSRS to connect to Essbase. For this to happen, you must have at least Essbase and APS 9.3.1 and SQL Server 2005 SP2 or higher; I am using Essbase/APS 11.1.1 and SQL Server 2005 SP2.

To begin, select Start, All Programs, Microsoft SQL Server 2005, SQL Server Business Intelligence Development Studio to start the development environment. The SSRS development environment is actually a version of Visual Studio 2005 so, for those of you new to this, welcome to the Microsoft .NET programming experience! After Microsoft Visual Studio starts, select File, New Project from the menu to display the New Project dialog. Select the Report Server Project template and give the new project a name and directory.

Press the OK button to continue and the new project will be created. In the Solution Explorer, select Shared Data Sources, right mouse click and select Add New Data Source.

In the Shared Data Source dialog, add a Name and select Hyperion Essbase from the Type dropdown.

Press the Edit button to configure the connection. Fill in the relevent properties on the dialog. If you have filled everything in properly, you should get a list of applications to choose from in the appropriate dropdown.

Next, select the Reports node in the Solution Explorer, right mouse click and click on Add New Report. This will launch the Report Wizard.


Hit the Next button to process past the wizard introduction step to the Select Data Source step. Select the Shared Data Source you just created.



Hit the Next button to proceed to the Query Builder.



I found that when I dragged any members not in the Measures dimension into the grid, Essbase threw an error "OLAP_error (1260046): Unknown Member PARENT_UNIQUE_NAME used in query". It seems to me to be related to outlines enabled with non-unique member names but I don't know for sure; perhaps there is an option somewhere that I missed. Note that the Query Builder does have an Auto Execute button that is turned on by default. I ended up turning off Auto Execute in my Query Builder.

In any case, make sure you select enough members/hierarchies/etc that you can have different dimensions to define the rows, columns and data (details) areas of a matrix report.

Hit OK to close the Query Builder and the MDX query string will be displayed in the wizard.

Hit the Next button and select the report type.



In my example, I added the Measures dimension members to the 'Details', the Years hierarchy to the Columns and the Market hierarchy to the Rows.


Hit the Finish button, give the report a Name and save it.

At this point, I was ready to test it and see data in the SSRS report. Guess what? The error I saw earlier came back to bite me. It seems the new provider changed enough in 9.3.1 and higher to cause a problem. Microsoft has fixed the issue in SQL Server 2005 SP3. The following line is found in the fixed buglist for SP3 at http://support.microsoft.com/kb/955706:

FIX: Error message when you use the new Essbase provider name: "OLAP error (1260046): Unknown Member PARENT_UNIQUE_NAME used in query"

OK, I will upgrade to the new service pack and see what happens.

Wednesday, December 17, 2008

Advanced Security Manager Update uploaded

We have uploaded a minor update to the Advanced Security Manager. This update contains the following changes:
  1. Support for exporting external authentication information (for versions 7x and higher). The new information is appended to the end of the User Access string in the export.
  2. Fixed a bug where command line functionality did not work with the version 6.x runtime client.

The new version is available on our website. Don't hesitate to contact us at support@appliedolap.com if and when you find issues in either of the OlapUnderground utilities that we support.

Tuesday, December 16, 2008

Kaleidoscope 2009 Planning

We have completed the tentative agenda for upcoming Kaleidoscope Conference. The Hyperion Special Interest Group board has put in quite a number of hours making sure the sessions will be highly valuable and help you justify your trip to beautiful Monterey, California next summer.

Though we aren't ready to release the complete agenda yet, let me tell you a little bit about it. It is separated into 4 separate tracks:

  • Essbase - Deep-dive from the experts

  • Applications - Focuse on Hyperion Planning and HFM

  • Hyperion and Oracle EPM - Reporting and other products

  • Hands-on Labs - Just Do It!


  • Just like last year, we will kick-off Sunday, June 21 with an Essbase Symposium featuring content from the Oracle Essbase development team.

    The conference will again have a community service day. Last year, the 'ODTUG Brigade' painted a school in New Orleans. I even got my family involved as my wife, kids and even my Mom, on her first trip to New Orleans, gave a day to help out. Here is a link to a video of last years ODTUG Brigade and, if you look closely, you will see me and my family along with the faces of some other people you see on the Hyperion forums including my friends Cameron Lackpour and Joe Aultman.

    Finally, while companies are cutting back in these tough economic times, we worked hard to make the Hyperion content of Kaleidoscope 2009 very deep to help you justify your attendance. Start planning now to join us in Monterey. Visit the Kaleidoscope 2009 website for the latest information.

    Sunday, December 14, 2008

    Oracle eDelivery Observations

    I got a comment on an installation post asking where to find Essbase Server and Client 11.1.1. I went to eDelivery and took a look and, sure enough, it looks like it appears the 11.1.1.0.0 Essbase builds are no longer available. The 11.1.1.1.0 builds are, however, available.

    I don't know exactly what the standard procedure is for Oracle for availability of older builds, but it seems somewhat consistent with what Oracle did by removing older versions of the software right after they acquired Hyperion (which used to leave many, many versions available for download.

    My advice is to download all of the available files in a specific version and archive it on your own local machines in case you need them in the future. We do exactly that at our company and have stored away all the versions (and their supporting files) that we support with our Dodeca product in the future.

    Note: Please do not send me email or comment on this blog asking if I can send you x.y.z version. Those emails/comments will absolutely and unequivocally ignored due to potential legal ramifications.

    Thursday, December 4, 2008

    Feedback on Installation Instructions

    A few weeks ago, I got an email from someone who used my instructions and were still having some issues. In the spirit of helping others who may be facing similar issues, I decided to post it with my responses/comments; my comments are in blue. Thank you Andre for your feedback!

    Email from Andre:

    A) I tried the installation on a Work Station WinXP Professional (OS German) SP2 4GB RAM.

    1. And this is a really important thing. NEVER install anything into the SYSTEM Schema of an Oracle DB. This is an absolute No-go. Before you start installing the EPM with a Oracle repository back end make sure that you have created an empty schema at the target DB, e.g. schema name (call it user as well) : EPMREP. This Schema must have some privileges needed to fulfill it's purpose. You can use the DDL-Script at the bottom of this text (You have to execute it as SYS (DBA)). Now you can use this schema as container for your EPM repository. To do this in the config tool “Shared Services and Registry database Configuration” enter for “Username” the value “EPMREP” and your Password (in my script this is the same as the User “EPMREP”).

    I absolutely agree. I think what I did when I worked with our Dodeca product on Oracle was to create an Oracle tablespace, created a user and assigned the user to the tablespace. You could also use SQL Server and just create a database to hold the tables.

    2. The Oracle DB must have some special setting as noticed in the install hints . It is important to follow these rules. If you break these rules, shared services are unable to use the repository DB and you will get very strange (and misleading) error messages. If you are unexperienced with Oracle DB you have less chances to find out what is wrong. If you need help from a DBA (there are a lot of reasons) don't hesitate; to be sure that you will get what you need give him/her a paper copy from the appropriate page of the install manual.

    Definitely work with an experienced DBA on your production system if you don't have relational database skills. I remember back in the early days of Essbase, often the Essbase admin had absolutely no idea what SQL was all about; it seems to me that is becoming less the case (but remember, when I started doing Essbase, nobody had ever heard of 'the web' ).


    3. Run the installation and configuration of shared services in one round. When you are done with that EXIT (close) the install tool. Reboot the system. This is important, since it seems there are internal problems that causes problems in the following install steps. Start the installer again and now you can install all the other components in another single round.

    I didn't experience this issue in any of the installs I did prepping for the blog entry nor did my assistant, who has done probably about a dozen 11.1.1 installs now, report this problem.


    4. It is absolutely likely that you will fail with your first attempt of installation. Make a backup (image) of your system before you start. In my attempts I found that a lot of things remain on the system even if you use the uninstall. The system path for example becomes longer and longer because you will find the settings of every installation one after the other. If you do not have a backup make sure that you delete the Hyperion directory from you system, clean the registry (I used the cleaner tool “ccsetup213.exe”), clean all system variables relating to Hyperion and reboot the system before you start another try.

    If possible, practice the install before you attempt it on a production system. VMWare is your friend here! I absolutely agree on doing the final cleanup steps.


    5. In none of my attempts I have set the option “Deploy Essbase in standalone mode”, because I wanted to have the authentication with ssh. However so far it does not work, although the config tool stated to me that all tasks (in particular Register with Shared Services) have been successful. At this point I'm still investigating.

    I don't think I ran an install where security was automatically externalized. I will ask my assistant if he ran any in that mode.


    6. I have no idea why, but none of the known sample apps have been installed during the installation round. I found no option for that, so I assume it should have been installed by default as it was in all older versions of essbase. Only one App “$_DM...” is there but not visible in the AAS. Very strange.

    I agree that is strange but it sounds familiar; I think I saw this behavior but, unfortunately, don't remember what I did to fix it (if anything).


    7. Be absolutely sure that your account has FULL admin privileges on you system. I run into problems because my account had only “derived” admin privileges from a domain. It seems to be best if you logon to your system as a local admin user. Before I realized that, I was wondering why after a successful uninstall the Hyperion directory was still filled with a lot of sub-directories that should have been deleted. Please note that you get no error or warning in such a case.

    Agreed!

    B) I tried the installation on a Win2003 Server (OS English) 4GB RAM.

    B1) First try:

    1. The installation failed. Non of the components could be registered with ssh. I have tested the install process without a reboot after the installation and configuration of ssh components – although she installer and the check stated that everything was OK. So it seems that an reboot is essential after the install of ssh is done.

    2. I was connected NOT as the (local) user “administrator”. This username is forbidden in our environment. Renaming the “administrator” to a different name is the first task after setting up a machine.

    3. Then sample apps has been installed. This has been (and still is) an issue on my PC.

    4. Uninstall failed with the same issue as in 7. above (directories and files still there).

    B2) Second try.

    1. I have NOT deleted anything manually (like I did it after the latest uninstalls on my PC), but rather started the install tool like I did for the first try.

    2. During the install of the ssh I was not asked (like I woild expected it) to specify the repository DB. I started the ssh console and the site opened correctly. At this point nothing else to do; but to reboot the system …

    3. Enter the install tool and installed the rest of the foundation components (these that are not installed in the same round with ssh), Essbase, Web Analysis, HPS.

    4. Stopped all running EPM services and Reboot.

    5. Want to start the config utility, however it is not longer in the program’s directories path.

    6. Well, this is the point where I stop, since this indicates (at least to me) that the EPM system is no longer in a consistent condition. So it makes no more sense to make any further effort in trying to get the system work properly.

    7. I will restore the backup image on next Monday and try it again.

    So fare it would like to conclude my experiences in the following:

    1. Maybe there is at least one way (or even more ways) to install the above mentioned components properly, however I did not found one.

    2. There seems to be a lot of critical / important conditions to be considered, but sadly enough there are no hints relating to these things.

    3. It is very easy to bring the system into an inconsistent (or at least not understandingly) condition.

    4. Most queerly it seem to be a mission critical issue if the installer is not connected as user “administrator” at the local machine. In particular this seems to be critical for the uninstall procedure that is not working properly if you install and uninstall as a different user.

    5. A reboot between the single steps of installation and/or configuration seem to be needed, but is not forced (or at least advised) by the installer/config tool.

    6. If you don’t have a clean before image you will likely end up in a mess. So never make a try without such a fallback solution.

    Well, this is not my first installation with Hyperion.
    I’m working with Essbase / System 9 for more then 7 years now.
    However, it has never been that frustrating and messy.
    Best Regards!
    Andre

    DDL-Script for creating the EPM-Repository-Schema in a Oracle 11gR1 DB:
    Connect as SYS (DBA) and run this script:
    CREATE USER EPMREP
    IDENTIFIED BY EPMREP
    DEFAULT TABLESPACE USERS
    TEMPORARY TABLESPACE TEMP
    PROFILE DEFAULT
    ACCOUNT UNLOCK;
    -- 1 Role for EPMREP
    GRANT CONNECT TO EPMREP;
    ALTER USER EPMREP DEFAULT ROLE ALL;
    -- 12 System Privileges for EPMREP
    GRANT CREATE SYNONYM TO EPMREP;
    GRANT ALTER SESSION TO EPMREP;
    GRANT CREATE VIEW TO EPMREP;
    GRANT CREATE SESSION TO EPMREP;
    GRANT CREATE SEQUENCE TO EPMREP;
    GRANT CREATE PROCEDURE TO EPMREP;
    GRANT ALTER USER TO EPMREP;
    GRANT CREATE TRIGGER TO EPMREP;
    GRANT CREATE TABLE TO EPMREP;
    GRANT SELECT ANY DICTIONARY TO EPMREP;
    GRANT CREATE TYPE TO EPMREP;
    GRANT ALTER SYSTEM TO EPMREP;
    -- should be revoked after Installation of EPM
    -- REVOKE ALTER SYSTEM TO EPMREP;
    -- 1 Tablespace Quota for EPMREP
    ALTER USER EPMREP QUOTA UNLIMITED ON USERS;

    To sum it up, despite improvements in the installation process with 11.1.1, it still isn't a process for the faint-of-heart.

    Tim

    Wednesday, December 3, 2008

    Pushing Essbase Beyond the Limits of Excel webcast

    I am doing webcast tomorrow with fellow Oracle ACE Glenn Schwartzberg. The webcast, "Pushing Essbase Beyond the Limits of Excel", is part of the interRel Consulting webcast series. You can signup for the webcast at the interRel website.

    In the webcast, Glenn will show you how to setup a budget template in Excel including the necessary VBA code, dropdown controls, etc to login the user, allow them to make selections, send data to the database and run a specified calc. I will then build and deploy the same functionality in Dodeca from scratch in about 5 minutes. BTW, Glenn was impressed when I did the same in our planning for the webcast.

    I hope you can join us tomorrow!

    Thursday, October 23, 2008

    Essbase 11.1.1 Installation Posts Updated (slightly)

    Someone brought to my attention that in my original post, I forgot to include the filenames for the Essbase Server and Client install. I have now corrected that in my install blog post and in the accompanying PDF file.

    Monday, September 15, 2008

    Essbase 11.1.1 Installation Now Available as a PDF

    To make it easier print and manage, I created a PDF of the Essbase 11.1.1 installation post content. You can download the content at http://www.appliedolap.com/blog/Essbase%2011.1.1%20Installation%20Tutorial.pdf.

    Wednesday, September 10, 2008

    Essbase 11.1.1 Installation Tutorial

    In a recent blog post, I expressed my dedication to installing Essbase 11.1.1 and, I figured that while I was installing it, I should document the steps to help others visualize how to do it. Some people who may be reading this may have never installed Essbase, so I will go into a lot of detail. Those of you who have installed Essbase a number of times may not need all of this detail and so you may want to skim through parts of this document. That being said, this is the first version shipped with the new Oracle Installer and is just different enough that a tutorial may be necessary.

    Before you can start the install, you will need to download the files necessary for the install. To get the files, go to http://edelivery.oracle.com/ and select the ‘Oracle Enterprise Performance Management System’. To create this tutorial, I downloaded and am installing the 32-bit version on my own primary laptop.

    Once you have the necessary files downloaded, start by creating a temporary work directory. On my system, I created a directory named C:\Temp\EPM 11.1.1 Install. Once you have done that, unzip the System Installer (V13452-01.zip) into the work directory. Here is what it looked like when I unzipped the file on my machine:



    Next, repeat the process with the 3 Foundation Services zip files into the same directory. Those zip files are:

    · V13449-01.zip
    · V13450-01.zip
    · V13494-01.zip

    Finally, do the same process for the Essbase Server and Client zip files. Those zip files are:

    · V13454-01.zip
    · V13453-01.zip

    As you unzip each of these files, what is happening ‘behind the scenes’ is that xml files are being added to the work directory structure. Additionally, files are being added to the ‘assemblies’ subdirectory. The ‘assemblies’ subdirectories contain the actual installation components. Here is what my ‘assemblies’ subdirectory looked like after unzipping the foundation services:



    If you are prompted to overwrite a file as I was, press ‘YesToAll’ to continue.



    Next, locate and run the InstallTool.cmd file that is unzipped as part of the installer. If you haven’t unzipped any product zip files into the installation directories, you will get a pretty nasty looking error when you run the InstallTool.cmd. The error is a java.lang.reflect.InvocationTargetException which sounds a lot worse than it really is. This error appears because the Java runtime expects to find some installation code to execute and, as the code doesn’t exist in the installer directories, it throws a java exception. I have seen a number of people get that exception already with 11.1.1 and am a bit surprised that the installer does not do a better job of giving a more informative error message.

    If you have properly unzipped files into the directories, you will get see the following Installer screen. Note the steps oriented along the left margin of the dialog that will help you keep track of your progress.



    Hit ‘Next’ and you will be at the ‘Destination’ step of the Installer:



    Choose the location where you would like to install the Hyperion components. On my machine it defaulted to C:\Hyperion. I don’t know if this default applies to a clean machine or not as I previously had Essbase installed in that directory. I did, however, attempt to clean up HYPERION_HOME and other environment variables for Essbase before starting the install. You may have different results. Hit ‘Next’ to proceed to the ‘Installation Type’ step of the Installer:



    If you select ‘Choose components by tier’ and hit ‘Next’, the ‘Product Selection’ step of the Installer will look like this:



    Otherwise, if you select ‘Choose components individually’ and hit ‘Next’, the ‘Product Selection’ step of the Installer will look like this:



    Note that the products that appear in the selection box are based on the product zips that you unzipped into the installation directory.

    Once you have selected the products to install, press the ‘Next’ button to proceed to the ‘Confirmation’ step of the Installer:



    Click ‘Next’ to begin the installations. The progress is then reported in the dialog and took something like 10 to 20 minutes on my laptop. After the installations are complete, the ‘Summary’ step shows the status of the installed products:



    At this point, I pressed the ‘Configure’ button and the EPM System Configurator was launched. Although I didn’t try it, I would guess the ‘Finish’ button would just close the Installer. Note that after installation the ‘EPM System Configurator’ is available on the Windows Start Menu under All Programs, Oracle EPM System, Foundation Services, EPM System Configurator.

    The Configurator opens and displays a welcome screen:



    Press the ‘Next’ button to choose the components to configure:



    Once you select ‘Next’, the items selected will determine the information that will be prompted in the following screens. With the default selections for the products I installed, the next screen requested information for the database underlying Shared Services. I am running Oracle 11g on my laptop and thus the configuration looks like this:



    I always write down the settings so I don’t forget them:

    Database Type: Oracle
    Server: mustang
    Port: 1521
    Service Name or SID: orcl
    Username: SYSTEM
    Password: password

    Hit the ‘Next’ button and you are prompted for common system settings:



    Hit the ‘Next’ button and you are prompted for specific database system settings for EAS and Essbase Studio:



    As I am using the previously configured database, I didn’t have to change anything on this screen. Hit the ‘Next’ button to go to the next screen which prompts you to select the application server as shown below:



    Unfortunately, it doesn’t actually say what component is to be deployed to an application server; hopefully it applies to all of the applications that use an application server. The default is to automatically deploy to the ‘Embedded Java Container’. Upon further investigation, it appears the ‘Embedded Java Container’ is Tomcat 5.5.17 which is a newer version of Tomcat than the version 5.0.28 that shipped with Essbase 9.3.1.

    Now that I played the guessing game about what applications are being configured, I hit the ‘Next’ button and was presented with the following dialog that allows the user to specify the port that each individual application will run on:



    There are a couple of things to note in this dialog. The default Shared Services port for Tomcat has changed from 11.1.1 to 28080. In version 9.3.1, the default port was 58080. Further, the default port for the HAB.Net web service also changed (at least it changed from the time when I actually wrote the service). I typically take the default ports for my services.

    Hit the ‘Next’ button to advance to the next step in the Configurator which prompts for Essbase configuration information:



    There are a couple of noteworthy default values on this step of the wizard. First, the ARBORPATH specified looks like a very non-standard location if you are an experienced Essbase person. First, the ‘products’ subdirectory is a very ‘Oracle’ naming convention. In fact, on my laptop Oracle 11g is installed in C:\Oracle\product\11.1.0. Second, I find it odd that the ARBORPATH variable checkbox is not checked by default. The installation documentation is pretty clear on this issue. If you are upgrading, the following upgrade note is in the docs:

    If you are upgrading from a previous release of Essbase, specify the same application location you used in the previous release.

    The docs also comment on the ‘Set ARBORPATH checkbox’ in saying:

    If you do not update the environment variables during configuration, update them manually.

    Based on that comment, I am going to check the checkbox before I continue. Further, I didn’t know exactly what the ‘Deploy Essbase in standalone mode’ did. The install documentation for this this setting states ‘select to use legacy security for Essbase Server instead of Shared Services security’. I am also going to select this option as I don’t want to have my Essbase security automatically externalized to Shared Services. My reason for not externalizing is that if security is not externalized, then you can run Essbase without having Shared Services running. Despite the fact that my laptop is pretty powerful (Core2 Duo w/4 Gb RAM), I sometimes shut down Shared Services and Oracle to maximize memory; Essbase will run fine without Shared Services running in using this configuration.

    This is how the dialog looked when I hit the ‘Next’ button:



    Finally, the information gathering is complete and you have one final chance to confirm everything before the configuration starts:



    Hit ‘Next’ and let it rip! Once it is complete, here is what the dialog should look like:



    The ‘Register with Shared Services’ task failed as I chose to install Essbase in standalone mode.

    Now that installation is complete, here are the services that are running:



    Note that OpenLDAP, Shared Services, HABNet and Provider Services all started up but Essbase did not nor will it start if when I try to start the service. The procedure you should follow if this occurs is to try to run Essbase in a command window where any errors will be displayed in the window.

    Navigating to start Essbase manually was really my first chance to explore the new directory structure. In the System 9 version, the different parts of the system were installed in the HYPERION_HOME location which was typically C:\Hyperion on a windows system. In version 11.1.1, all of the products are rooted in the new ‘products’ subdirectory with the Essbase subsystem products in ‘products\Essbase’ and Shared Services in ‘products\Foundation’. Here is what my ‘products\Essbase’ directory looks like:



    To start Essbase in a command window, you have to navigate to the ‘products\Essbase\Essbase Server\bin’ subdirectory, type ‘essbase’ and press Enter. Here is the result:



    It now occurs to me that I was not prompted to enter this basic Essbase information during the install probably due to the fact that security externalization is now the default behavior. The person who installs Essbase and choose ‘standalone’ mode is apparently now responsible to start Essbase in the command window and enter the basic Essbase security information. Actually, this was standard operating procedure back in the early days of Essbase. Here is a screenshot after I started Essbase and entered the information:



    Once I entered these items when I started Essbase in the command window the first time, the service started and ran normally.

    After following these steps, I was up and running with Essbase and the other products I had selected. Within a few days, I plan to post a PDF file with this content to make it easier for you to print this content. Finally, I hope your installation experience is a smooth as mine was.

    Friday, September 5, 2008

    Adventures with Essbase Smart Lists (a/k/a Typed Measures)

    I have been looking at the changes in the Essbase Java API and more, specifically, started investigating the interesting new things called 'Smart Lists' in the Java API. The IEssGridView interface contains some new fields and methods around smart lists such as the CELL_CONTENT_TYPE_SMARTLIST constant, the getSmartListName() method that returns the name of a smart list for a given cell and getFormattedValue() which in the documentation states "If cell content type is CELL_CONTENT_TYPE_SMARTLIST returns the smartlist datatext"'. I thought I would take a closer look.

    First I did a search for the term "smartlist" in the DBAG for 11.1.1 and strangely it turned up nothing. I tried a couple of other terms and was also stumped so I turned to EAS to see if one of the sample databases had smart lists implemented. I found that none of them do but did find a clue:



    The outline properties tab shows a property called 'Typed Measures enabled'. Above is a screenshot from an outline I created to test 'Typed Measures'' which, obviously, must have the 'Typed Measures enabled' property set to true. I also noticed the next tab:



    The 'Text List Manager' is where you create and manage the values returned for a Typed Measure. Here is the list I created for my simple test outline:



    The next step was to assign this text list to a member. I added it to the 'Product' member of my outline:



    I then went to Excel and input some data on the 'Product' member. I input 6, 8 and 10 which mapped to 'Moderate', 'High' and 'Exceptional' satisfaction as it was my understanding that Essbase stored the value and displayed the text upon retrieve.



    By the way, did you note the subtle difference between the missing text string '#Missing' on the 'Support' data cells and the 'Missing' string from the Text Measure o the 'Product' data cells? In any case, I got an error when I did a lock and send:



    Instead, I had to enter the appropriate values from the 'Text List' in order to send:



    Now that I have a simple cube that supports Typed Measures to work with, I can go back to the Java API and see more detail on how it works under the covers. I may post a followup showing that later.

    Essbase Docs Now Included - Retraction?

    Yesterday I posted about the Essbase docs being included in the build.. Well, we may have scratch that comment. Last night I was looking for the docs to start digging into the new text measures functionality in Essbase but when I launched the C:\Hyperion\products\Essbase\EssbaseServer\docs\esb_infomap.htm file, which is the 'launch point' for the documentation, I noticed there were not any links to the DBAG, etc. I looked at the files in the directory and discovered that file exists along with an images subdirectory, but there are not any other docs there.

    I looked around on my installation and noticed that EAS docs are installed, the Essbase Client docs are installed, the Java API docs are installed (3 times in different places) but I could not find the DBAG in either HTML or PDF format. I figured that during my search, I must have accidentally deleted the files, so I checked on of our VMs at the office this morning. Those VMs are exactly the same!

    I went out and looked at the stuff we had downloaded from eDelivery but I didn't see a separate zip for that. Perhaps they are there somewhere and I just missed it?

    Thursday, September 4, 2008

    Essbase Docs Now Included!

    This morning I needed to look at the Essbase docs and remembered that I didn't select an option to install the docs when I did the Essbase 11.1.1 install. In the System 9 (and earlier) days, the doc installer was a separate download and separate install. This created a number of questions on the forums as to where to find the docs.

    I took a quick look in the directory structures for 11.1.1 and didn't initially see the docs anywhere. A quick search, however, revealed the docs for the server were installed automatically to C:\Hyperion\products\Essbase\EssbaseServer\docs. This is certainly an improvement over previous versions.

    Monday, September 1, 2008

    Random thoughts on differences in APS 11.1.1

    I have come along on my Essbase 11.1.1 install and plan to start a series on the installation but, at this point, I started looking at Analytic Provider Services ("APS") to setup my development environment. Our Dodeca product talks to Essbase through APS and, although I have compiled our Essbase service against 11.1.1, I am starting work to support the new features of Essbase. These are just some random notes I had while reviewing APS.

    The directory structures for the Essbase product appear to have been reverted back to the pre-System 9 naming conventions which is great. I never liked the 'Analytic Administration Services' subdirectory name and highly prefer 'eas'.

    The essbase.properties file is much more organized than in 9.3.1 but has significantly fewer configurations that in the previous version.

    Tomcat is still the 'batteries-included' application server for now. I wonder how long it will be until some version of WebLogic is delivered 'out-of-the-box'. The version of Tomcat that is shipped has changed from 5.0.28 to 5.5.17. Further, it appears that support for running Tomcat in a Window is no longer delivered. This last item is going to have a significant effect on me as I normally run Tomcat in a window during development so I can see my web services data flowing in/out of the server. Tomorrow, I will have to look at how 5.0.28 was configured in 9.3.1 and emulate that in this version. Ironically enough, the infrastructure for 5.0.28 is still delivered in the aps subdirectory structure but it looks like it is not used anywhere.

    The APS command line console is available and works but it looks like the default username/password has changed. It used to be that you had to login with the system/password combination, add a username that matched a username in your Essbase system, disconnected and logged back in using the new username. In 11.1.1, I logged in using admin/password. I don't know, however, if that is the default username or if it is the username/password combination I used during my setup/configuration.

    Numerous times during my work so far, I have seen numerous references to the previous product numbering system. For example, in the APS\bin directory there is a file named css-0_9_5.dll which, of course, refers to the fact that EPM 11.1.1 originated as System 9.5.0. I have seen a number of people say they would wait on installing 11.1.1 as they wouldn't install a initial release; I wonder if their opinion would be different if it were still named 9.5.0?

    There are a number of new external libraries shipped with APS now. The jar files that look new to me include ldapbp.jar, commons-codec-1.3.jar, commons-httpclient-3.0.jar, jakarta-regexp-1.3.jar, jakarta-slide-webdavlib.jar and (maybe) jdom.jar. Most of these are from the Apache project including the commons and jakarta jars.

    My first compile of our Essbase servlet with the 11.1.1 client jars worked without a hitch. In the next day or so, I will be updating our build scripts for building a production version of our servlet with 11.1.1 support. As the code hasn't changed, I don't expect any issues during our QA testing cycles.



    Thursday, August 28, 2008

    Committed to Essbase 11.1.1

    Sorry it has been so long since I posted but I have been working on some non-Essbase product development area of our product. Specifically, I have been working on FIPS-140 (“Federal Information Processing Standards”) compliant computing required for Federal government computing systems. So if anyone wants to know about SHA-1 hashing (FIPS compliant) vs MD5 hashing (not FIPS compliant) or TripleDES encryption algorithms, I may be able to help them.

    I have had some other things going on as well. I was interviewed by my local newspaper for the front page of the business section. The topic was businesspeople who fly their own airplanes on business which I do nearly every trip east of the Rockies. In fact, I flew myself and my family to New Orleans for the ODTUG Kaleidoscope conference. If you are interested in reading about my '15 minutes of fame', here is a link to the story: http://www.al.com/huntsvilletimes/stories/index.ssf?/base/business/1218993308126870.xml&coll=1

    Now, on to Essbase stuff..

    I haven't been writing much about Essbase 11.1.1 as I haven't had it installed on my laptop. Instead, I had one of my assistants create a VM with Essbase 11.1.1 on it.. Well, despite the fact that I have a laptop with 4 Gb of RAM, of which only 3 Gb is usable as I have XP Professional for my OS, VMWare ran very sluggishly on my system. Perhaps it is because I also had the entire Essbase stack, Oracle 11g Enterprise and SQL Server 2005 all running in addition to VMWare that made it slow, but still it was painful to turn all of that stuff off before firing up the VMWare image. Thus, I tended not to run it much and, in fact, ran it just enough to make sure Dodeca ran on 11.1.1.

    Have you ever heard the old story about commitment? It goes something like 'a chicken and a pig were discussing their importance to breakfast and the chicken claimed it was more important as it contributed eggs. The pig replied that it made more of a commitment to breakfast when it provided bacon..' Well, translating that to my Essbase situation, I have committed to working with Essbase 11.1.1. Last night, I completely removed Essbase 9.3.1 from my system and will install 11.1.1 today. How is that for commitment?

    Saturday, July 12, 2008

    Essbase 11.1.1 Released

    Oracle released the new version of Essbase / Planning / HFM yesterday; it is now available at http://edelivery.oracle.com/. My friend Edward Roske sent me an email at 2 am this morning telling me it is available. He has posted more detailed information about the release on his blog at http://looksmarter.blogspot.com/2008/07/epm-11x-generally-available.html.

    I am downloading it now. I will have my infrastructure person build a VM Monday so we can compile/test our Essbase services against this version and provide support for Dodeca within the next few days.

    Wednesday, July 9, 2008

    Debugging Essbase Add-in Issues

    Sorry I haven't posted in a while; I am still trying to recover from ODTUG (and am preparing to fly to Seattle to speak at the Oracle Days conference (http://www.oracledays.com/) next week. I have been trying to hit the forums and have seen a common theme that deserved a blog post to explain.

    I have seen a number of posts relating to the Essbase Excel add-in that claim "XYZ functionality doesn't work in this machine but it works on every other machine we try it on..". You can sometimes debug those things until you are blue in the face and still not find the answer. That being said, these things are just computers and they do what they are programmed to do unless, of course, you believe in gremlins. What that means is that there is a cause to every issue and there is an answer.

    The two most common things that could happen in this circumstance are that the files being loaded on not the right files or the configuration is not correct. In the first case, the most common thing is the client side files are not in synch with the Essbase server version and, of course, the fix is to upgrade the add-in. Another issue I have seen frequently is that the files are of *mismatched* versions which can cause some really serious and hard to debug issues. On the configuration side, I haven't seen issues that frequently and, when I have, a simple deletion of the ini file (for earlier versions of the add-in) or the related registry entries (for later versions) fixed those issues. I do remember seeing Excel crash due to ini file issues back in the version 5 or 6 timeframe; if I remember right, it was because I changed the Essbase options string stored in the ini file to contain 'bad' values (accidentally, of course!)

    On to the impetus for this post... Whenever I have hear of people who are having problems debugging issues in the Excel add-in like this, of course I first tell them about our Dodeca product which doesn't have any of the numerous issues associated with the Excel add-in. Although most users who see Dodeca want it, they normally aren't in a position to purchase a replacement product no matter how good it is (or they probably wouldn't be the ones trying to debug these issues in the first place). The next steps in debugging the most difficult Excel add-in issues is to examine the files in memory on the 'bad' machine and compare them to the files in memory on a 'good' machine in their organization. This process is more involved than just comparing the files in a directory but, fortunately, there is a tool that can help.

    I use the Process Explorer tool from SysInternals for this type of work. SysInternals is a company that has some very cool freeware utilities and they really know Windows inside/out. In fact, they know Windows so well that Microsoft purchased the company a couple of years ago. You can get the Process Explorer at http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx. Here is a screenshot of the Process Explorer running on my machine with the Excel add-in (click on the picture to see a larger version):



    Note: the View menu has 'Show Lower Pane' checked and the Lower Pane View is set to DLLs. Once you see the lower pane, you may have to click on the column headers to add the 'Version' and 'Path' columns.

    The first thing I normally do is sort by the 'Path' column, scroll down and look at the versions of the files in the Hyperion directories. If the versions differ between the different Hyperion files, that itself may be the issue causing the problem.

    I also sort by the 'Company Name' column and look for Hyperion files. I have seen many instances where some Essbase files are getting loaded from one place in the PATH and others are loaded from another place. This can happen when a developer that is not very familiar with Essbase incorrectly installs Essbase DLLs in Windows\System32 or some other common directory in the path. Windows searches directories in the PATH environment variable when it needs to load a file and then loads the first one it finds; Windows\System32 is commonly very early in the PATH so any Essbase files installed there would most likely get loaded before the version in your ARBORPATH\bin directory.

    While you are reviewing files, also look at what other add-ins may be loaded in Excel. Occasionally other add-in's interfere with the workings of the Essbase add-in.

    Finally, you can save this information to a file. Do the same thing for both the 'good' and 'bad' machines, compare the differences and you may find what is causing you user issues. If you can't find a solution, give me a call and I will show you how our Dodeca product can resolve these types of headaches for you!

    Monday, May 19, 2008

    Essbase 11.1.1 New Features - Date and Text Measures

    Comments on my last post left by fellow Oracle ACE Glenn Schwartzberg has prompted me to expand on my comments about the Date and Text Measures features coming up in Essbase 11.1.1. This information if from a Collaborate 08 session by Aneel Shenker regarding future features of Essbase. This presentation, as any presentation you see from Oracle on unshipped product, has the following disclaimer:

    "The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle."

    As I have said before, the fact that you hear it from me certainly doesn't change the above disclaimer as I can't/don't speak for Oracle (sorry I had to start this post with the same disclaimer again, but it is just something I think I have to do to prevent angering the Oracle legal gods).

    This new feature coming in Essbase will enable you to do new things that you really couldn't do before in Essbase. Under the covers, the data will still be stored numerically but numbers, or ranges of numbers, appear to be mapped to text or date labels on the client side. Here is a screenshot from the presentation:



    The 'Satisfaction' and 'Transaction date' columns in this screenshot both come from Essbase but have associated labels. This functionality will also work on summaries and averages:

    I haven't seen how they plan to provide this functionality 'under-the-covers' at the API level; to warn you, it gets a little geeky past this point. In the current version of the Essbase Java API, the data is provided in a multiple 2-dimensional arrays. The member names and data is in one array of strings, and returned as an int, the cell types are returned in an array of bytes and the attributes, which hold the information such as dimension numbers, read/write status and LRO information that make Excel add-in 'Styles' work (and is used in our datapoint mapping work in our Dodeca product) are returned in an array of int types.

    I doubt they add another layer for for date/text measures to work as it seems like a whole bunch of overhead; the date/text labels could possibly be repeated many, many times in the array. I guess it would be easier to work with from the programming side if it is in a array. The other option they may implement would be to provide a mapping of the values to the strings at retrieve time. If this were the case, the network traffic would be reduced at the cost of programmers ease of use. I guess I will find out soon enough; when I get a build of 11.1.1 to play with, I will need to look at how they implemented this new feature to make sure we support it properly in our Dodeca product.