Stories from TM1 and python fans like you

Stories from TM1 developers like you

“Want to get more out of your existing TM1 model? You NEED TM1py! I’ve been using TM1py for 2 years now and have used it empower and enable clients to get a ridiculous amount of value out of their models. It’s easy to get started (literally 3 lines of code) and allows you to tackle a whole range of problems from Data Science to Decision Optimization. Try it out, you won’t regret it!”

“TM1py is definitely a game changer! It has so much potential and a lot to offer. It wraps the TM1 REST API elegantly and written in Python which makes it more readable/adoptable. We have been using it for process optimizations and parallel processing. We are also leveraging it for some cool use-cases which cannot be achieved using TM1’s out of the box features. One of our successful implementation is turning a job which was running for 10 minutes into 30 seconds.Thanks to Marius and the community for the effort and support!”

“TM1py enables us to administrate and control our 70+ TM1 instances from python scripts. It has become a huge time saver for us and automates all the work we used to do manually like config and security changes, instance inspections and heaps of other things.”

“Even as a novice Python user, TM1py is a huge labor savings tool as a TM1 admin. From copying objects or data between environments to searching for entries in the message log, it’s faster and easier with TM1py. My favorite TM1py function to use as of late is execute_ti_code which is a better alternative to my bad habit of creating temporary processes and never deleting them.”

“TM1py and MDXpy have become some of our best tools for becoming more efficient at our daily tasks. Decreasing development time by handling some of the more tedious tasks automatically, and by coordinating large testing scenarios and migrations simply.”

At Canon Production Printing we are very excited about TM1py because it unlocks additional functionality. Next to that, maintenance-related jobs like for example cleaning views and subset can be coded in a more efficient, object-oriented, way.Obviously TM1py is great for pulling data from TM1, perform Artificial Intelligence/Machine Learning magic and push data back to TM1, but our business, we produce these large/enormous printers, doesn’t really lend itself for these applications.Nevertheless, there are several other areas where one can benefit from TM1py. At Canon Production Printing we are currently using TM1py or plan to use TM1py in these areas:a. Chore maintenance by end users. Updating Chores requires admin rights, but via helper dimensions, elementattributes, a Websheet and TM1py, end users are now able to schedule Chores themselves during appropriate time slots.b. In the past we had issues with our daily loads in the sense that due to “some” user activity these loads could end up in a loop. Even with the help of IBM support we were never able to pinpoint the exact cause, so we were glad when Tm1s.cfg parameter IntegratedSecurityMode became a dynamic parameter. Triggered by a Cubewise blog article, we now temporarily change IntegratedSecurityMode to prevent users from logging in. Theoretically the looping issue can still occur because we cannot disconnect logged in users. With a simple TM1py script we plan to additionally disconnect logged in users.c. Another great addition to TM1py is OptimusPy to find the optimal dimension order in terms of RAM usage and Query time. In Architect and Perspectives we have this “black box” System-suggested option, but we found through OptimusPy that there are dimension orders that render better results. For our main P/L cube, RAM usage is down 25% and Query time is down 12%. We plan to use it on other business cubes as well and run it on a regular basis.d. We’re currently also using tm1cmp (built on TM1py) written by Yuri Kudryavcev for ad hoc comparison of views/data, but we plan to use it for automated testing in the future to compare views/data before and after an upgrade or deployment.Keep up the great work Cubewise, Marius Wirtz and all other contributors!”