Why I created a blog

Its been many years since I first created this blog. It has remained true to Essbase and related information over those years. Hopefully it has answered questions and given you insight over those years. I will continue to provide my observations and comments on the ever changing world of EPM. Don't be surprised if the scope of the blog changes and brings in other Hyperion topics.


Friday, August 18, 2017

Fast and Furious - OAC Updates

It took a little while for the first Essbase OAC patch to appear. It did  on July 29th and I blogged about all the new features. Well a mere two weeks later and we have the next big release (what I'll call 106). When I saw the pace it reminded me of the following quote (watch the video link for the full effect)
Round the world and home again
That’s the sailor’s way
Faster faster, faster faster
There’s no earthly way of knowing
Which direction we are going
There’s no knowing where we’re rowing
Or which way the river’s flowing
Is it raining, is it snowing
Is a hurricane a-blowing
Not a speck of light is showing
So the danger must be growing
Are the fires of Hell a-glowing
Is the grisly reaper mowing
Yes, the danger must be growing
For the rowers keep on rowing
And they’re certainly not showing
Any signs that they are slowing
‘Wondrous Boat Ride’, from Willy Wonka and the Chocolate Factory (1971)

Yes the OAC dev team is delivering features and functionality at a tremendous rate. If you are looking for what is included with bug fixes and features, it is a bit difficult as the readmes still don't seem to work and after you install the parch, you can't even get to the (broken) link.  So I won't talk about bug fixes here although I understand there were a bunch. I'll talk about the new features.  I have to thank my friends at OAC dev for providing me with this info. Most of the screen shots are theirs.

Calc Trace

The first thing I want to talk about is a new feature called Calc Trace. It is amazing that once Product Management has to do their own testing we get features we have wanted for a long time. That is the case here. It was difficult for them to figure out what a calculation script was doing. So out of it came this. You set a application config setting CalcTrace On and from Smart View you can see the numbers that make up any calculation. In your script, you provide the intersection you want to trace



then when you run it you get a pop-up in Smart View with what contributed to the calculation
 
There are a lot more details, but this should be enough to get you excited.
 

Audit Trails

Next,Audit trails have been added to track data changes. To enable it there is a config setting "Audittrail Data" The audit trail is captured in a .csv file on the server. This will track Smart View data changes, LRO , URL File and cell notes. Access to the results is based on user security , You can see the results either in Smart View for a selected intersection or by exporting the file and openin (in excel preferably).  UPDATE, it has been confirmed that this only works for BSO and Hybrid cubes.
 
 

Partitions and XREf/XWrite

Want more? How about a UI editor for replicated partitions. In the last release we got transparent partitions, now to complete it we get the replicated as well. Remember for partitions, if you go across OAC instances you have to be licensed for Enterprise edition, but within an instance is ok.
 
Talking about partitions, there are enhancements to partitions in general

  • Validation/Save errors have been made clearer
  • There is ample scope for partition definition becoming stale. For ex:
    • cube deleted/renamed,
    • Essbase host/port changes,
    • user credential changes etc.
  • Consequences of such stale partitions could manifest in multiple ways.
    • Incorrect query/calculation results for slices with partition overlapping .
    • Presence of orphan partition between a pair of cubes prevents creation of fresh partition of same type.
    • There was no cleanup/recovery mechanism from such stale metadata in partition definitions without manually deleting the ddb files.
  • Solution
    • Invalidation & Periodic auto cleanup on servers.
    • Invalidate orphan partitions at first discovery.
    • Cleanup all orphan partitions on the cube at startup.
 

 
Similar to Partitions, there have been a lot of changes to Xref and location aliases mostly to allow cross instanceand  on-preXREf . XRef now hastwo flavors:

@XREF(LocationAlias [, mbrList])

Recommended to be used to access remote cube from a different essbase instance. For ex: Local cube on cloud & remote cube on-prem
 
and
 
@XREF(App,Db [, mbrList])
Meant to be used only in single essbase instance models.
Facilitates easy usability through simple DBX import of multiple dependent cubes
 
For location Aliases to define a connection to another server, you define the connection then use that connection in the location alias
 
Scenario Management has been improved. In prior versions if you added sandboxing to an existing cube you lost all data. I guess you still do, but now if you export the data prior to creating the sandbox, you can re-import it and it will automatically be saved to the base member. No need to build a load rule.
 

Hybrid cube automated solve order.

This is enabled by setting the config setting “HYBRIDOPTIMIZEDSOLVEORDER TRUE”

Doing so, sets up  bunch of automatic solve order settings
  • If the formula contains even one ratio operator (/, %), then set the solve order to 51
  • If the formula contains even one “*”, then set the solve order to 5  
  • Rest operator or combinations between operators of different types will get their default solve orders (10-50)
  • If consolidation type of formula member is ‘^’ (never aggregate) then set the solve order to 51
  • If dynamic member doesn’t have formula (aggregation) , then no changes to solver order are currently performed
Note this is based on the operators within the formula not the unary operator on the member
 

ESSCLI

 
The next item is something I requested for a long time. It is encryption for EssCLI. In the early versions, the ID and password were clear text in the file. Now an encrypted file is created that stores the password. The first time you log in you are prompted for the password and it is saved in a file, the next time, you just specify the user and the password is used from the file
 
 
EssCLI has also added support for remote data sources. This means you can load on-prem data relational data sources from within the companies firewall without opening ports. To use it you create a connection.properties file the EssCLI uses. It uses JDBC drivers for the connection.
you can then use it in the CLI

Dimension build

esscs dimbuild -application Sample -db Basic -rule Dim_Product.rul -stream -properties connection.properties -restructureoption ALL_DATA

Data load

esscs dataload -application Sample -db Basic -rule Basic.rul –stream -properties connection.properties

Drill Through Reporting

I have to say I'm not thrilled about this feature as I think this first generation is very limited, but at least it is a start. In Enterprise edition, you can drill back to a source. The reason I'm not thrilled is the dril through definition is tied to the generation names you would assign in the outline. I think it limits the functionality and I've expressed this to development. It is a multiple step process to set this up and would take too much space in this post to go through it. I'll create a separate post to walk you through the steps.


Cube Designer


 This Smart View extension gets better with each release and the new features include:
  • Improved Server Error Messages handling
  • Allows Export of Application from within Cube Designer
    • Include Data
    • Includes Calc Scripts
  • Data Export supports size up to 400 MB
  • Text Lists Support in the Cube Designer Wizard
  • Text Lists supports up to 64k entries

 

There are also enhancements for formulas in unstructured data loads

  • Allow for Hints for Measures
  • Can refer to specific column names as formulae
  • Provide Excel based Column References as formulae
  • Mix of both
  • Support for new implementation of XREF/XWRITE
  • Allows for migration of applications from one instance to another without the need for location aliases

LCM Improvements

I've saved one of the big changes for last. You can now use an LCM export from PBCS and FCCS to build an Essbase cube

  • Support for LCM Extracts from EPM using EPMAutomate
    • The OAC Essbase LCM Import using CLI extracts the Essbase Cube contents from the Export done using EPMAutomate
      • PBCS
      • FCCS…
Other general LCM Enhancements include:
  • Support for Partitions (Use Trusted Connections, within the same instance) – Earlier required manual intervention of changing partitions
  • Calc Associations – Users are manually added (Cloud to Cloud)
  • Support Audit Trail – preserved and imported (Cloud to Cloud)
  • Roles are migrated (Cloud to Cloud)
  • LRO (Not Supported) – Can be done manually using MAXL
There are some other minor things like a MaxL script library and template support.

It is amazing how far OAC/Essbase has come in such a short time. I look forward to the next round of enhancements.







2 comments:

Anonymous said...

Hey Glenn,
Have you seen any issues in Hybrid mode with if statements on dynamic dense members? Seeing some troubles in a POC I'm conducting. The block is not created when we "if" on a member of this type. The "if" seems to be ignored. And some other strange issue too related to block creation. No issue with the same on 11.1.2.4..

Unknown said...

I've not see issues with dense dimensions, but it could be a problem with sparse members as the block would not exist. There is on-prem a setting to ignore dynamically calculated members (basically not expanding the block). I don't know if the setting is applicable or available in OAC