I've been playing around with python/jython a lot lately and have thrown together a small set of tools. These tools can be found on GitHub. Below I'll try to explain the purpose of each. This may end up being a mutlipart post as I plan to add to the repo when I find new useful ways to use python in EPM.
This script does muliple replacement on a file using a set of delimited mappings. The default delimiter for the maps is tab.
Parameters: -f, --file Essbase extract file (required) -m, --map Mapping file for replacements (required) -d, --delim Delimiter used to separate source and target in map Flags: - h Help
Example: python bulkreplace.py --file=test-data\replace-source.txt --map=test-data\replace-maps.txt
Extracts all the member names that appear in a non column format essbase extract file (the only format currently suppored in ASO.) This can be especially useful for finding problems before load when compared to a list containing members names in the outline.
Parameters: -f, --file Essbase extract file (required) -o, --output Output file Flags: -h Help -s, --stats Include statistics on number of occurrences in file
Example: python essbase-dataextract-parse-members.py --file=test-data\essbase-extract-data.txt
This assumes that the user is using a version of EPM that supports the MaxL command to export an xml extract of the outline and they know how to use it. When run it creates a "diff" report between two xml outline extracts. Currently it only compares parent, child, consolidation operator and aliases for differences but I hope to add member formulas soon. It's been quite useful to me as of late and I have to thank Jake Turrell for the idea.
Parameters: -s, --source Source XML File (required) -t, --target Target XML File (required) -o, --output Output File Flags: -h This Help -v, --verbose Creates source.txt and target.txt files
Example: python essbase-xml-otl-compare.py --source=test-data\source-outline.xml --target=test-data\target-outline.xml
Alright that's it for now thanks for watching ;)