Essbase Member Operations Utility allows you to perform bulk member operations like Rename, Delete, Change Property, Count and find out Implicitly shared Members.
You need to copy the following jar files from your Essbase Server to the lib folder of the utility.
Essbase Member Operation Utility allows encryption. It does not allow you to encrypt just password, if you are using encryption you need to encrypt entire options.
Encryption can be done by calling the jar file as shown below.
You can encrypt the entire option by navigating to Essbase Member Operation Utility lib directory (C:\Users\Administrator\Desktop\Planning_Mbr_Operations_Util_1.4\lib)
Issue the following command
java -jar EsbMbrOperation.jar -encrypt="-u=admin -p=p@ssword -S=localhost -App=Sample -Db=Basic -file=${BASE_DIR}/PropMbrList.txt -changeproperty"
Encrypted Text : KZkPq/hF3S/St3s43YJja42+VOwaYPLz6aHWZML1R4LBhnVEigiXwHzkYHwMTtBaWydOYbA31R7+hQ7Krqi02FYUOjtgMMQd9xm+7lCh+9NwBdpxuKc8vPu7Gkt5CSgsl9ELFqwguguRuaCrwErqcA==
Parameter | Description
---------- | ---------- |
-u <-u=username> | Username for connecting to Essbase |
-p <-p=password> | Password for connecting to Essbase |
-S <-S=servername> | Essbase Server Name |
-App <-App=applicationname> | Essbase Application Name |
-Db <-Db=databasename> | Essbase Database Name |
-changeproperty | Change Property Operation |
-rename | Rename operation |
-renamealias | Alias Rename operation |
-noabort | Proceed without aborting the member changes when an error occurs |
-delete | Delete operation |
-showimplicit | Show implicitly shared members |
-OTLXMLFile <-OTLXMLFile=otlxmlfilename> | MaxL Outline export XML File |
-count | Shows the member count |
-file <-file=filename> | File with Members for Delete/Rename |
-D <-D> | Use this if you are using encryption |
-encrypt <-encrypt=encryptstring> | Use this for encrypting strings |
-help | prints usage |
Show Implicit Shared members (-showimplicit) needs Outline XML extract.
You can export the outline to a XML file using the following MaxL commands
To export all dimensions use the below given MaxL
export outline 'Sample'.'Basic' all dimensions to xml_file 'C:\Temp\Sample.xml';
To export specific dimension use the below given MaxL
export outline 'Sample'.'Basic' list dimensions {"Market"} to xml_file 'C:\Temp\Sample.xml';
Follow the steps above to encrypt the parameters. Once the encryption is done, update the variable ESBMBROPTS in the bat file.
You can use noabort option to continue all member operations process if the member given in the member operation file is not found in the database.
Example, member test is not there in Sample basic if the utility is executed without noabort option it'll fail and will not make any changes to the outline.
If noabort is used the members which are not found will be reported in the log and the process will save the outline after the operation.
You can use this tool to change the member properties of all parents in your heirarchy. This option can help you to convert your existing BSO cubes to Hybrid cube, all you've to do is create a file with the parent member and Dynamic Calc flag.
It can be also used to change all parents to Dynamic Calc in a Dense dimension.
Parent,Data Storage Property
In the above example the utility will change all the parents under Market to a Dynamic Calc and all parents under Product to Store.
EsbMbrUtil can be used to bulk rename operations, as you know there is no such option currently available in EAS/Load Rules (other than manually performing it/using API)
You can perform rename by passing a rename file. It follows the format Old Name,New Name
Before Rename
After Rename
EsbMbrUtil can be used to bulk change aliases
You can perform rename by passing a rename file. It follows the format Alias Table,Member Name, New Alias
You can leave the Alias table as blank if you are changing the default alias table (as shown in line 4 above)
EsbMbrUtil can be used to bulk delete operations. You can peform this by passing the Parent and an Operation for the delete.
Parent,Operation
You can use this to delete the following
I've used this where alternate hierarchies and member movement was involved. As you that it can be pretty tricky to achieve that.
Utility can be used to find out all the implicit shared members in your cube. You need to pass the outline XML file as a parameter to run this option.
I did modify Sample Basic to have implicit sharing.
Below are the results as expected.
Utility can be used to count members in a hierarchy. You can use count with following operators
You can mention the parent name and count operation
Parent,Count Operation