Introduction An interesting question was posted on the TM1Forum about the most efficient way to craft a rule. This raised the subsequent question of how TM1 attributes are stored behind the scenes, and the impact of that on performance. The documentation is vague on this point, and, although the arguments presented in the TM1forum post […]
Category: Tips & Tricks
Techniques for Building Generic Models
What is a Generic Model? Generic modelling has the goal of satisfying customer requirements in way that takes into account future needs and enhancements. Often while gathering requirements, a BA will focus on the customer’s short term needs without considering wider-reaching goals, enhancements, and ongoing maintenance. In order to use generic modelling techniques, we need […]
Array Types in Turbo Integrator
Introduction I noticed a 4-year old post over on the TM1 Forum site about simulating array variables in Turbo Integrator. It has been a persistent topic, so I went back through the thread and was surprised to see that there has been no mention of using character-delimited strings are array variables. I do this often, and it […]
.NET C# TM1API starter kit.
Introduction One of the most powerful (and possibly overlooked) features of TM1 is that it supports a fully-featured programming API (Application Programming Interface). This means that virtually any function supported by the server is exposed to external programming environments. Or, put more simply: you can write your own TM1 application, and your imagination is the limit! […]
Back to the Future, Part II
Introduction Most financial models are based on the fiscal year, rather than aligning with the calendar year. In many countries, these two calendars align, but in some it does not. In Australia, for instance (my home country), we have a Jul – Jun financial year, and both New Zealand and Japan have their own, too. Propel Planning, […]
Returning values from Turbo Integrator processes
Introduction The two cornerstone features of any generic programming platform are encapsulation and reuse. These related ideas are simply the ability to write a piece of code once and then use it many times. Being able to call processes within other processes is a useful technique for performing a set repeated task, but what if […]
Flow’s Date Lookup cube – Back to the Future!
Introduction Firstly, sorry there hasn’t been a blog post for a while. Sometimes work commitments don’t play nicely with good intentions. I thought I’d spend a bit of time talking about the advantages of using the SYS Date Lookup cube bundled with the Flow Server Manager. This cube has been invaluable to me during past […]
TM1 Development Methodologies & Tools
Introduction The classical way of developing a TM1 Server seems to be to go in person to a customer site and develop on their infrastructure. There are often many good reasons for this, mainly involving security and availability, but I have not worked this way for a long time. I thought I’d post about my […]
An Item-based Approach – Quick Update
Working on the Flow Model Packager, I often have to make random changes to a model so I can test the model compare and deploy functionality. Yesterday, I was using the item-based approach sample server as my test case, and decided to try to implement a more real-world change than I usually do (most of […]
An Item-based Approach to TM1 Model Design
Introduction James and I have been working together for some time now, and we have evolved toward what I would class as a non-typical design approach in TM1. For the sake of simplicity, I refer to this as an “item-based approach”. It is very prominent in our implementation of Propel Planning, and underpins a lot […]