Thursday, September 3, 2015

ASO Test Data or: How I Learned to Stop Worrying and Create Hybrid

I wanted to fill ASOSamp.Sample with some data so I could run a few tests. I wanted to use the completely undocumented "filldb" command within ESSCMDQ in order to do so. Unfortunately, it only works on BSO. So I needed to turn ASOSamp into a BSO database first. There's no way to do that, right? Wrong. A very wise Essbase developer points out in this OTN post that one need only run the Aggregate Store Partition Wizard available within EAS in order to do so.

Let's Recap:

  1. Run the Aggregate Store Partition Wizard to make a BSO copy of your ASO cube. It may give you some warnings so I suggest first making a copy of that ASO cube and using the wizard on the copy. If you get warnings, go into the ASO outline and fix the issues. You'll need to remove things like solve order and other ASO specific items.
  2. If you only need to turn the BSO cube into a Hybrid cube, you can use Celvin Kattookaran's utility available here that changes all upper level sparse members to dynamic calc members. Stop here if you don't need a test bed of data.
    1. Don't forget to set ASODYNAMICAGGINBSO in your essbase.cfg file.
  3. Download and unzip ESSCMDQ. It's probably easiest to put this file in the same place where ESSCMD or essmsh already run so you don't need to fiddle with paths, libraries and such.
  4. Run ESSCMDQ. Login as you would ESSCMD (no semi-colons!):
    1. login hostname user password
  5. Select the database you need to fill with data:
    1. select appname dbname
  6. Run the filldb command. See the link for more information on this command. I would suggest starting out with a small size. I had a very small block size in my cube and it went way past the 1 GB mark even though that's what I set it to. With a normal size block it was close (within 10%) to 1 GB.
    1. filldb [size density distance]
  7. Export the data from the BSO cube.
  8. Import the data into the ASO cube.
Now I can easily create a test bed of data for ASOSamp at whatever density I require. I'll be using this in future posts.

1 comment:

Pete said...

Hey Tim,

If you're after an 'even easier way'...I've got a planning application with a single BSO cube, Single Hybrid Cube, Single ASO cube.

All the metadata is handled (including the solve order etc for the ASO side) and I can do things like build massive dimensions quite quickly through the Planning metadata loader.

Been very useful for doing basic performance tests\comparisons.

Definitely going to use your esscmd idea to populate it with data though.