So after a long wait, and a partner Preview since December 2013, Jedox 5.1 is finally out. Great! There has been a fair bit of noise in the last few weeks by Jedox, us (Naked Data) and a few other partners about this release. On the surface, 5.1 has some cool new features (re-skinned ETL, R Integration, Data Driven OLAP, etc), but peeking under the covers, there has certainly been a serious amount of work by the Jedox Dev team on lots of other features too.
Over my next few posts, I am going to look at them in detail – some pretty obvious and some hidden away. As usual, I will try to provide examples where relevant and a bit of context around where these can be used in real life situations.
Probably one of the most ground breaking piece of functionality in this release is also its most non-descript : the change of behaviour of STET() an CONTINUE() rule functions. These two functions now have “meta” capabilities: the results of these functions can be further processed. For years as a consultant, I have struggled sometimes with the need to test the value of the current cell being calculated. In the past it called for inelegant solutions of testing the value of a “entry” cell to calculate the “calc” cell. Now you can do this in one step and add serious power and simplicity to your rules and your model.
3 Examples of this:
1. A rule that tests the entered value to ensure that it falls within certain tolerances:
# Test the entered value to see if it falls within tolerances: ['tCorrectVal'] = B: IF(STET() <= ['tHigh'],IF(STET() >= ['tLow'],STET(),0),0)
2. A rule that takes the entered value and ensures that any number entered is always positive:
# Take the Absolute of the entered value: ['tAbsolute'] = B:ABS(STET())
3. A rule that tests the targets’ cell calculated value before it performs a further calculation:
['tAbsolute','Server Lion RX'] = B: IF(CONTINUE() == 200,395,CONTINUE())
OK. So lets get these examples working . Download the example excel sheet here. Next, ensure you have added the following elements into the Measures Dimension in the Demo (not Biker) Database:
Next, open your Rule Editor and paste in the following rules (one at a time):
['tCorrectVal'] = B:IF(STET() <= ['tHigh'],IF(STET() >= ['tLow'],STET(),0),0) ['tAbsolute','Server Lion RX'] = B:IF(CONTINUE() == 200,395,CONTINUE()) ['tAbsolute','Server Lion RX'] = B:['Server Dual XC'] / 2 ['tAbsolute'] = B:ABS(STET())
Order is important in this example, so ensure that you copy these exactly. Once the rules are in, you should be able to recalculate the spreadsheet, and play with entering values to see the results.
Make no mistake this change puts Jedox ahead of rule engines in other competing in-memory technologies. A unique capability which certainly makes (consulting) life easier….