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.

Tuesday, July 26, 2022

Using Datasoures based rules in MaxL

 This will be a short post about how to use Rules files (either Dimension build or Data load) from within MaxL. 

If we look at the documentation for the import command; it has information on file based and SQL based load, but what if we want to load from a connection and Datasource?  It is not there. I thought it might be the same as a connection but did not know hat to put into the userID or password fields. I tried leavin them blank and putting in dummy information, but neither worked. 

Finally, I reached out and got the answer. I was correct that you treat it like a SQL connection, but what you put into the UserID and Password IS important. For those inputs you need to use the ID and password of an Essbase user that has a minimum of Database Manager access to the cube you are loading

So your import statement might look something like:

import database 'Sample'.'Basic' Dimensions connect as 'ESSBASE USERID' identified by  'PASSWORD'  using server rules_file 'test_DBX.rul' on error write to 'c:/temp/Dim_DBX.err';


The output of the MaxL shows it worked  (names have been changed to protect the innocent)

 OK/INFO - 1053012 - Object [Basic] is locked by user [xxxxxxxxxxx].
 OK/INFO - 1021117 - REST API is enabled to extract data from the Oracle database.
 OK/INFO - 1021006 - SELECT Statement [SELECT  * FROM SAMPLE.DS_DBX] is generated.
 OK/INFO - 1350007 - Creating connection pool of size [1] for connection string [REST;URL=LOCAL;DS=Sample.DS_DBX;UID=....;PWD=....].
 OK/INFO - 1350032 - No message for message #1350032 in message database.
 OK/INFO - 1021002 - SQL Connection is Freed.
 OK/INFO - 1007132 - Building Dimensions Elapsed Time : [2.5] seconds.
 OK/INFO - 1019024 - Reading Outline Transaction For Database [Drxxxxxx].
 OK/INFO - 1007043 - Declared Dimension Sizes = [19 18 23 25 5 3 5 3 15 8 6 ].
 OK/INFO - 1007042 - Actual Dimension Sizes = [19 15 20 25 4 0 0 0 0 0 5 ].
 OK/INFO - 1007192 - Dimension sizes consist of stored and dynamic calc members = [19 15 20 25 4 3 5 3 15 8 5 ].
 OK/INFO - 1025030 - The IMPLIED_SHARE setting in essbase.cfg is OFF.
 OK/INFO - 1025035 - The implied share setting for the database is forced to OFF.
 OK/INFO - 1010007 - Maximum number of stored and dynamically calculated blocks is [500] with data block size of [288].
 OK/INFO - 1007047 - Restructuring of Database [Basic] is not needed.
 OK/INFO - 1007118 - Loading New Outline for Database [Basic].
 OK/INFO - 1019013 - Writing Outline For Database [Basic].
 OK/INFO - 1007120 - Loading New Outline for Database [Basic] Succeeded.
 OK/INFO - 1007067 - Total Restructure Elapsed Time : [1.55] seconds.
 OK/INFO - 1053013 - Object [Basic] unlocked by user [xxxxxxxxxxx].
 OK/INFO - 1241113 - Database import completed ['Sample'.'Basic'].

There you have it quick and easy, now the hard part, to get the documentation updated.


No comments: