palo 2.0

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • First of all, Hugo thank you very much for this extensive explanation.

    And second of all, you seem to have identified the problem correctly. The order of rules will be deterministic in Palo2.1, from what I've heard. So it is save for now to rather construct independent formulas and not let them depend on each other.

    And for the suggestion to use splashing instead of these rules ... Splash not possible, too many cells
    so sometimes to establish the rule, fire it, wait and remove it again seems to be an alternative worth considering.

    Ok, let's go on torturing this rules engine,
    Mario
  • I haven't played extensively with the splasher in Palo. I don't see why the splash wouldn't be possible though, however I'll take your word for it. If it fails maybe you could perform the action yourself by writing a process to move the data. Maybe you could use a process loop in a spreadsheet to perform this?
    However you need to careful of your architecture when using rules, sometimes it's better to write a batch process to move the data from one area of a cube to another of a cube or from one cube to another.

    In TM1 you can easily write a TI (Turbo Integrator process) and Alea in version 4.1 sr6+ has a concept of batch rules (you used the same syntax as normal rules but sent the rule to the engine via a piece of code, and the rule would be executed as a one off and persist the calculations.

    I would be interested to know if the development team plan have anything such as batch rules, since this could be a really useful feature and could save end users lots of time having to write internal etl processes.
  • Yes bmm, You are right. I should have entered 40.
    Even although the rule engine may be naive and it appears to calculate from the entered value rather than from the result of a previous rule, this is not a problem if one is aware of how it works. At first look it appears that any rule works on source data in the cube and ignores the result of a previous rule. That is compound calcluations may not be possible at this stage. It will be interesting to further explore the rules behavior and build suitable models. This is indeed a big step forward for Palo.
    OLAPmodels
    Multidimensional Model Builder
  • Ok I have been digging a little deeper, since my last examples weren't really of much use (well at least not in terms of performing powerful calculations).

    Here is a zip file containing an xml file and a style-sheet which will list all the functions, if you wish to see the descriptions in a language other than english then please change the value in covert.xsl to either:

    "english" or "german" -> doesn't look like any other languages are in there yet.

    To view a table of all the functions, simply save the two files and open the .xml file in your browser.
    Files
  • Thanks Hugo for the functions list. I have been able to use a function like LOG in the cube
    ['Number']=LOG(['Test'],10)
    This works giving 2 when Test is set to 100.

    I have had difficulty using PALO.ECHILDCOUNT in the cube
    Where the dimension name is 'Data' and 'Consolidator is a Consolidator of 6 elements
    ['Number']=PALO.ECHILDCOUNT(['Data'],['Consolidator'])
    Gives an error of wanting another parameter, I have tried adding the Cubename before the Dimension name as in ['Servername/Cubename'] but does not work.

    Any ideas?
    OLAPmodels
    Multidimensional Model Builder
  • RE: Palo Consolditation

    Hi Hassan,
    if you like to have a function like AVG you could fill cretae a dummyelem 'numberoffilled' with 1 when there is a value. The consolidations of lets say entities provides you the number of filled. And surely you got a consolidated value of all entites. Now create another Elem where you put your result from the rule like:

    ['result']=['consolidationofEntities'] / ['numberoffilled']

    Concerning MIN or MAX I got no idea at the moment :)

    Greetings from Cologne

    Holger
  • Hi Holger,

    I have tried
    ['Number']=PALO.ECHILDCOUT(['DataBaseName'],['Data'],['Consolidator'])
    Error is DataBaseName is not an element.

    DataBaseName is the Data base name
    Data is Dimension Name
    Consolidator is the consolidator element.

    I have tried ['localhost/DataBaseName']
    and ['localhost']/['DataBaseName'] -both result in errors.

    I can only save a cube formula that is:
    ['Number']=PALO.ECHILDCOUT(['Consolidator'],['Consolidator'],['Consolidator'])
    But this gives Number = 0

    Maybe this cannot be used inside the cube?

    I have been successful when using it in a spreadsheet.
    OLAPmodels
    Multidimensional Model Builder
  • RE: Palo Consolidation

    As the rules engine is remarkably like "another system" I would doubt that you can do min or max without hitting issues of stack space running out.

    The way to get a minimum for say sales by item would be to use the index of the item and to populate each sequential item with the minumum to date using a < test. (so the minimum for the current item is the lesser of the value for this item and the minimum stored in the item with index -1) When you get to the end of the list the last value is logically the minimum.

    This gives problems in the other similar system as the calculation is recursive and the engine runs out of stack space after a given number of calculations. (a few hundred I think).

    I have not tested to find out whether this issue exists in PALO as I am waiting for the next version of the rules engine before investing too much time, but I hope this points you in the right direction.
    Best wishes

    John Hobson
    The Planning Factory, Lytham, UK
    www.planfact.co.uk

    The post was edited 1 time, last by Pommie ().

  • RE: Palo Consolidation

    Hi Pommie,

    this approach would not help at all as the Palo rules engine currently is not defined when rules are accessing other values created by rules. Hence you'd never know if this value is the min value :(

    Nice approach but recursion does not work in this version ...

    Ciao,
    Mario
  • I think it would be better to have the opportunity to use rule-calculated values in rules, because at the moment if I create a complex rule for a value and I'd like to use this value in a different rule I have to duplicate the first rule each time I re-use the value of it.