Casabase: the multidimensional aggregation engine you’ve been looking for

Having worked with Essbase for the past 10 years, I know all of its good and bad points. The Excel add-in is by far its best feature. The ability to perform free-form retrievals provides an unparalleled data analysis experience. Those coming from an Excel background know that pivot tables are extremely powerful, but limit the way you can interact with your data. Once you’ve used free-form retrievals you can never go back!

This feature alone has kept many organizations on Essbase, even though it has long begun to show its age. Even the forced switch to Smart View from the classic add-in was tolerated because there wasn’t a viable alternative.

That’s about to change!

I’ve been working on a new project for the past 6 months with Carr Harriman. Between the two of us we have over 20 years of professional experience implementing every kind of Essbase solution you can imagine. We’ve seen it all.

And the one thing we’ve noticed, like everyone else, is the lack of attention Oracle has paid to Essbase. The pace of innovation slowed from BSO to the introduction of ASO, which was obviously halfheartedly implemented. Hybrid BSO was more of the same half-baked, not-production-ready “innovation”.

None of these technologies could propel Essbase into the 21st century though. Conceived 25 years ago, when computing resources were a fraction of those available today, its underlying technology just doesn’t make sense anymore.

So Carr and I decided to embark on an audacious mission: to create a modern aggregation engine with the same type of free-form Excel retrieval that has become second nature to any Essbase user. Thus, Casabase was born.

We’ve actually exceeded our lofty goal! All aggregations are dynamic and instantaneous. The Casabase Excel add-in actually works better, and is more user-friendly, than the classic Essbase Excel add-in.

And the kicker – the engine driving all of this is SQL Server. That’s right, a relational database! Say goodbye to the black box of Essbase. No more .ind or .pag files that you can’t open and get to your data. Your data is now in relational tables. You can use any tool that can access SQL Server to quickly and easily retrieve or export your data.

And we didn’t stop there either. We added integrated metadata management and mapping capabilities. You can share dimensions across databases and easily perform any kind of ETL on incoming data.

All of the administration is also done from Excel. The same Excel add-in used to perform retrievals is used to administer the application. Adding members, data sources, maps, users, exports; it’s all done from Excel.

You can get more information on our philosophy with Casabase in the introductory blog post.

We already have beta testers lined up to begin testing next week. We are extremely excited about getting a production release ready in Q1 of next year.

Posted in Casabase Tagged with:

cubeSavvy: relational database grids

Having already added every type of Essbase grid available (MDX, report scripts, ad-hoc, free form), the next grid type was obvious:

Relational Databases setup on Home tab

For now relational grids are read-only, but I’m planning to make them writable in the near future. Currently two “Database Types” are supported: Microsoft SQL Server and Oracle, since these are the most widely-used in an enterprise environment. The next to be added will likely be MySQL and PostgreSQL, providing coverage for the 4 most popular database engines.

Sharing relational grids is the same as other grids. Clicking on the “Database:” button also displays the standard grid slide-in panel:

sample relational grid: Oracle XE

Once relational grids have the same functionality as Essbase grids, I’ll begin integrating the two types. First, I envision composite grids that can contain both relational and multidimensional sources.  I, myself, have several use cases for this – specifically, drilling down from consolidated Essbase data to source data in a relational database.

You can download cubeSavvy at the usual place.

Posted in cubeSavvy

Russian installer

Почти половина посетителей этой страницы приходится на Россию. Получается конечно, что они уже умеют читать по-английски. Но кому не удобнее на своем родном языке?

Я давно начал переводить cubeSavvy на русский, но далеко не весь текст был переведён. Однако в этой последней версии (6.0.1) дела куда лучше обстоят с переводом. Практически всё на русском, так в самом cubeSavvy, как в инсталляционной программе.

Последную версию, как всегда, можно загрузить здесь.

И так, быстро пройдёмся по всем окнам инсталляционной программы. Начнём с самого начала – выбор языка:

installer select language screen

Если выбрать Russian:

installer Russian intro

installer Russian license


Настоятельно рекомендую выбрать каталог, в котором нет пробелов, а то программа может не запуститься:

installer Russian select install directory

installer Russian config

installer Russian progress

installer Russian finish

installer Russian last screen

Posted in cubeSavvy

More about new features in production release

There are several new features that I’d like to call attention to in the production release. One of the most important, even though it’s not visible to end users, is the installer’s ability to create a Windows service. Previously, the only way to run cubeSavvy on Windows was to use the start.bat file. While very easy to use and understand, it had a major shortcoming – the DOS command window remained open as long as cubeSavvy was running. The window could easily be closed accidentally, ending the cubeSavvy session in the process. Also, it’s just not a good practice from a system administration point of view to have open DOS windows for each process running on a server. The Windows service allows for stopping and starting cubeSavvy just as you would any other service.cubeSavvy running as a Windows service

The next new feature of note is the ability to share ad-hoc grids with other cubeSavvy users. Administrators have always had this capability, using the “Users” – “Edit User Access” button of the “Home” tab. Now regular users can also share the grids they create. This is key: users can only share those grids that they themselves create. For such grids they have the option of giving fellow users either “Read/View” access or “Full Access”. As the name implies, read access means that the grid appears in the user’s list of grids on the left. The user can then open the grid, refreshing the retrieval contained therein. They can even modify the retrieval on the grid while they have it open, however, they do not have the ability to save their changes and make them visible to other users. Users with “Read” access to a grid are also not authorized to share it with other users. Only the creator of the grid, and admins, have this level of authorization.

share grid screen

An “Insert Attributes” button has also been introduced. Clicking this button will add those attribute dimensions to the grid that are not already present. For example, using an ad-hoc grid based on Sample.Basic, if the retrieval already contains “Caffeinated_True”; “Ounces”, “Pkg Type”, “Population”, and “Intro Date” will be added to the header row. If no attribute dimensions are currently present, they will all be added.

insert attributes button

The last enhancement is the “Environment” button, also for ad-hoc grids (are you seeing a trend here? ;-)). Clicking on this button presents a slide-out panel on the right of the grid. This panel displays most of the information available when creating or editing a grid: Environment, Application, Database, Calc script, Shared Services Groups, Comments, Description, and Decimal Places. A user with read access will see these options all grayed out, but can at least see the main settings for the grid. An admin user, the grid’s creator, or a user with “Full Access” will be able to edit these fields and save the changes.

environment slide-out panel on grid

Give cubeSavvy a try. It has a 30-day free trial, so you have nothing to lose!

If you have any questions, please let me know in the comments.


Posted in cubeSavvy Tagged with:

Announcing the first cubeSavvy production release

I’m proud to announce the official production release of cubeSavvy 6.0.0. Almost four months in beta status has resulted in a battle-hardened, reliable product. I’d like to thank everyone who tested and provided feedback and/or suggestions. It was a tremendous help and I couldn’t have done it without you!

As I mentioned at Kscope, I will be charging a licensing fee for cubeSavvy. I know this goes somewhat against the grain in the Oracle EPM space, where free third-party tools abound. In fact, I myself offer the freely-available cubeSavvy Utilities on this website. So why then am I not making cubeSavvy available at no cost? The answer is simple – it’s the only way to determine if it actually provides value to users.

With that in mind, here is the value proposition for cubeSavvy as I see it:

  • Web-based. This gives it several inherent advantages over traditional client-server products:
    • No need to install on every user’s computer, with all the administrative and technical problems that inevitably entails.
    • Works on Windows, Mac OS, Linux, UNIX, as well as iOS and Android.
    • NONE of the Excel add-in issues inherent in the classic add-in and Smart View, such as:
      • Multiple instances of Excel preventing it from loading.
      • All manner of registry issues around DLLs.
      • Missing Excel menu item.
      • Inability to handle large queries. Smart View uses compression, but it’s compressing XML which is already a large, bloated data-transmission format. cubeSavvy is much more efficient.
      • Inexplicable Excel crashes. Oracle blames them on Microsoft, who in turn blames them on Oracle.
  • You get the best parts of Planning functionality: fixed forms, focused calculations, monitoring of user data input, etc. All without having to deal with Planning’s confusing architecture and tools and the administration nightmares they create. cubeSavvy allows you to just use Essbase without having to deal with Planning’s headaches.
  • Price. Save your organization hundreds of thousands, if not millions, of dollars. Oracle’s listed price for “Planning Plus” is $4,270 per user per year with a minimum of 25 users. That comes out to $106,750, minimum. Compare that to cubeSavvy, which would cost around $3000 for the same number of users for the first year (and less than $2000 for subsequent years) – and has no minimum number of users. Your organization is already spending a fortune on Essbase. Make the most of that investment!
  • Speed. Most users have reported retrievals are faster than Smart View. Some have even noticed speeds faster than the classic add-in!
  • Sharing. cubeSavvy allows users to create ad-hoc grids and share them with other users. No more emailing Excel retrieves or saving them to shared drives.
  • Faster development and support. We all have our horror stories with Oracle Support. Many people at Kscope even mentioned that they’ve completely stopped logging SRs, seeing it as an exercise in futility. Being a smaller, more agile company with a more compact, better-architected product allows for much faster response times. For example, during beta testing it wasn’t unusual to turn around major feature requests in less than a week. Bugs were squashed in mere hours, not quarters.

You can download cubeSavvy at the usual place. Try it out for a month with up to 10 users. Why not give it a test-drive given the above value it could bring to your organization?

If you have any questions or comments, please let me know.



Posted in cubeSavvy Tagged with: ,

cubeSavvy web-based Essbase grids: beta 9.7 – Windows service

This beta release contains no changes to core cubeSavvy functionality. Rather, the installer received a major improvement in preparation for the upcoming production release. Now, when installing on Windows, a cubeSavvy service is automatically created. cubeSavvy can then be stopped and started like any other Windows service:cubeSavvy Windows service after installation

Please give it a whirl and let me know what you think.

As there have been no new reported issues (and all the others have been addressed), I’m currently planning on launching the production release by this Monday, August 1st. Look for several blog posts/videos in the coming days.

Posted in cubeSavvy Tagged with: ,

cubeSavvy web-based Essbase grids: beta 9.6 – add attribute dimensions

I’ve been on vacation for the past 2 weeks, hence the lack of development/posts. I have had time, however, in the day since I’ve been back to add a requested feature – the ability to add attribute dimensions to an ad-hoc grid. Intuitively, only attribute dimensions that are not currently on the grid will be added.

Here you can see an ad-hoc grid that doesn’t contain attribute dimensions, along with the new “Insert Attributes” button on the toolbar:

ad-hoc grid before attribute dimensions added with new toolbar button

After clicking “Insert Attributes”:

ad-hoc grid with attribute dimensions after clicking new toolbar button

Even those of you who aren’t interested in this feature will want to download this last release, since the license file in the prior version has expired and will no longer allow you to use the program.

The production release of cubeSavvy is still on-target for August. This is primarily due to the ongoing positive feedback received from beta testers, including in-person at Kscope in Chicago a few weeks ago. I really appreciate it, so please keep your comments and suggestions coming!

Posted in cubeSavvy Tagged with: ,

cubeSavvy web-based Essbase grids: beta 9.5 – users can now create & share ad-hoc

version 6.0.0 BETA 9.5

Enhancements and improvements in this release and BETA 9.

  • Added ability for users to create ad-hoc grids.
    • Users no longer need to wait for an admin to create an ad-hoc grid for them. They can do so directly from the Home tab, using the ‘New Adhoc grid’ option.
    • Users can also edit and delete ad-hoc grids to which they have access.
  • Improvements made to Environments management when creating/editing grids.
  • Now only grids to which users have access are displayed in the Grids list on the left. As a reminder, there are three ways a user can have access to a grid:
    1. Through direct access given by an admin on the Users tab
    2. Through membership in a Shared Services group that has been assigned to a grid by an admin
    3. Through creating an ad-hoc grid themselves using the new functionality above
  • Added ability for users to share ad-hoc grids with other cubeSavvy users. I’m finally getting to some of the features I’ve been looking forward to creating since I started this project. Most of the features till this release have been recreating (and improving) functionality that Smart View already has. However, this ability to collaborate by sharing grids is something that you can’t easily do in Excel, and hence in Smart View.Share grid button

cubeSavvy will remain in beta for a little while longer to make sure that it’s as stable and fast as possible. I’m tentatively targeting August for the 6.0.0 production release.

I’ll be at KScope in Chicago in a couple of weeks. Please find me and say hi!

Posted in cubeSavvy Tagged with: ,

cubeSavvy web-based Essbase grids: beta 8 – run calc scripts on ad-hoc submit data

Enhancements in this release:

Ability to run calc scripts on ad-hoc grids after Submit Data.

This functionality is the same as for MDX and Report Script grids: all the members for each dimension are passed to the report script, allowing for super-focused calculations/aggregations. Click on FAQ on the Home tab for more details, and an example.

I’ll walk through a simple example.

First, select a calc script:

edit grid to select adhoc calc script

The “subs1” calc script above:

subs1 calc script attached to adhoc grid

Note the use of @IL and @L member selection commands. These take a @LIST (since there can be multiple members), which is passed in from the cubeSavvy grid on submit.

Data has been entered in an ad-hoc grid below, but has not yet been submitted (Submit Data).

entered data in grid but not submitted

After clicking Submit Data on the grid above, we can see that data has been aggregated:

calculated data after submit on adhoc grid

The Essbase log for our application (Sample_U.Basic) gives us the full details:

Sample_U.Basic log file showing our focused calc from adhoc grid

And we can get detail that the Essbase log fails to provide by looking at the “Data Updates” tab on the cubeSavvy Home page. Here we can see the full Member Intersection, along with the Old Value and New Value for each data point:

Data Submits screen showing submitted data and calc script run

Added Dataless Navigation

Improved administration of multiple Essbase environments

It’s now much easier to add/edit/delete Essbase environments, directly from the Home page. The “default_configuration” below is the one set up in the installer. You can edit or delete it as you would any other environment. However, there must always be at least one environment. If you delete them all, the “default_configuration” will be added back the next time you start (start.bat/ the environments management screen

I’ve decided to keep cubeSavvy in beta for a little while longer to make sure that it’s as stable and fast as possible. Your feedback is still shaping the product. Please keep it coming!

Posted in cubeSavvy Tagged with: ,

cubeSavvy web-based Essbase grids: beta 7 – multiple Essbase environments

There are several small bug fixes and enhancements in this release. The major enhancement is the ability to add multiple Essbase environments for ad-hoc grids. Prior releases only allowed connecting to a single Essbase server/Provider services combination. That limitation has now been lifted.

  • Here’s an excerpt from the cubeSavvy.conf file: The ‘default’ environment below is used to test whether a user has Essbase access to even log into cubeSavvy. The user should be provisioned in its Shared Services instance. The names are important (e.g. dev, test, main) since this will be displayed on grids. You can add as many environments as needed. At least one, however, is required as the default.cubeSavvy.esbEnvironments {
    default: prod,
    dev {esbServer = "epmDev", esbProviderUrl = ""},
    test {esbServer = "epmTest", esbProviderUrl = ""},
    prod {esbServer = "epmProd", esbProviderUrl = ""}
  • By default the installer will prompt for, and fill in, the “main” environment values, like so:
    cubeSavvy.esbEnvironments {
    default: main,
    main {esbServer = "epmMain", esbProviderUrl = ""}
    To add additional environments, as above, you will need to manually edit the $INSTALL_DIR/cubeSavvy/conf/cubeSavvy.conf file.

This enhancement was requested by so many people, I decided to release one more beta to incorporate it.

Grid edit/setup:

environment now on grid edit tab

Prompt to log into environment when clicking on grid (only displays if you’re not already logged into the particular environment):

environment login prompt

Environment indicated on ad-hoc grid:

environment indicator on grid

Posted in cubeSavvy Tagged with: ,