Execution order: Business Rule vs. Dynamic Member Formula

Hi,
I have a problem with a calc rule that calculate percentage of a list of account in comparison with other account (Ce10) as below
FIX (list of account restricted here, @IDescendants(YearTotal),....)
"Percentage"
(IF (@ISUDA(Account,"Ce10"))
"Percentage" = "NA CE"/"NA CE"->"CE10"; //Here the percentage member and "NA CE" member in the same dimension
ENDIF)
ENDFIX
When I run the rule, the result is ok with the Months. But in the Quater and YearTotal, it's automatically aggregate to a wrong result as the YearTotal is dynamic calc (e.g: Jan: 10%; Feb: 10%; Mar: 10% => Q1: 30%). So I thought it because the Rule is executed first (Q1=10%) but after that, the dynamic aggregation of Year is executed so Q1 is aggregated as 30%.
So how to fix Q1 = 10% as expected result. I did study on two pass calculation but it seem can not apply on this isssue. I searched for "back calculation" also but I still didn't find any solution for this.
Please help me on this.
Thanks.

Thanks JM for quick responding. The problem here is "Percentage" is not a account's member.
To make the question more clearly, I'll explain the rule:
There's a list of account A: A1, A2,...,An
and a list of account B: Ce10, Ce20, ..., Ce90
There is a mapping n-1 between these two lists. For example, A1, A2 is mapped to Ce10, A3 to A5 is mapped to Ce20 and so on. I do it by assigning UDA (e.g: A1 {Ce10}, A2 {Ce10}...)
And the rule is used to calculate percentage of accounts of list A in comparison with equivalent account in list B. So the percentage can not be account member. It's the reason why I can not use member formula and two pass calc here.
Regards,
Huy Van
Edited by: Huyvtq on Jan 9, 2013 9:50 PM

Similar Messages

  • Business rule (add new member)

    Hello!
    Is it possible to write a business rule, which adds to the data form (and in the dimension Account) new member, without using the Add Asset (Capex)?

    In Essbase, you cannot add metadata dynamically. However, Add Capex is an example of business rules to populate/create block which makes metadata show up on webforms due to suppress missing blocks/rows on.

  • Using Y-T-D values in Business Rules

    Hi All,
    I am using Hyperion Planning 11.1.1.1.0.
    I have enabled Y-T-D dynamic time series in the application.
    I need to calculate YTD variance% , the formula to be used is :
    (Y-T-D(Oct)Budget - Y-T-D(Oct) Actual) / Y-T-D(Oct)Budget * 100.
    I have a business rule(created in EAS) that does the other variance % calculations which are pretty simple like Budget-Actual/Budget*100.
    The formuls for the normal variance Percentage works but i get an error when writing a formula for :
    "Variance%(YTDActual&YTDBudget)"
    ("Variance%(YTDActual&YTDBudget)"="Y-T-D(&CurrentMonth)"->Budget - "Y-T-D(&CurrentMonth)"->Actual / "Y-T-D(&CurrentMonth)"->Budget *100;)
    The error that comes up is as follows:
    Detail:Cannot calculate. Analytic Server Error(1200497): Error compiling formula for [Variance%(YTDActual&YTDBudget)] (line 2): unknown member name ["Y-T-D(&CurrentMonth)"] in function [operator @X]
    Can somebody please advice as how to use Y-T-D values in the formulas?
    Kind Regards.
    Mirka

    Here are a couple of tips that may help:
    1) You cannot directly reference dynamic-time-series members in a business rule or a member formula. These are "virtual" members. This is a common misconception.
    2) Even if you could reference these members in a formula, you couldn't store a value in them anyway, as they are dynamic.
    3) It usually doesn't make a lot of sense to calculate variances like these in a business rule. I would recommend making them dynamic, two-pass member formulas (not business rules) in your Scenario dimension. They don't need to be "Two pass" in the typical sense (eg. recalculating a ratio at the quarters), but they need to fire last, so set them as two pass. (otherwise you will end up with order of calculation issues where other calculations fire after the variance and you get incorrect results).
    In looking at your requirement, you don't really need a variance that calls out dynamic time series members. Simply create a variance scenario with a formula like @VARPER("Budget", "Actual");. If you have "Y-T-D(Oct)" selected as your time period in your form or spreadsheet, and "Bud vs Act %" (this is your new variance scenario) selected, it will calculate the YTD variance for October, or whatever time period you have selected.
    Just to recap:
    1) Create a new scenario called "Bud vs Act %". Make it dynamic and two-pass. Give it a formula of @VARPER("Budget", "Actual");
    2) Scrap your business rule. Add other variance scenarios as needed.
    3) Add your YTD member and your variance scenario to a form, and test.
    Hope this helps,
    - Jake

  • Business Rules Access

    Hello Experts,
    Could anyone please help me with an easy solution to turn-off execution of Business rules in Hyperion Planning? We've closed the Budget scenario which makes the webforms readonly, but users still can run Business rules that are in their tasklists. This is messing up our numbers as the rules wipe out our allocations. So far, the only solution i could think of was to remove the user access on BR. I dont like this option because i've to put the security back in for all the projects again. I would think Oracle obviously has a better and cleaner way of doing this.
    Thanks
    Sam

    Hi Sam,
    If I understand, your problem is you dont want the business rule to impact your budget for the current year and version. If any user run the business rule if should not impact any current years budget values.
    If my above understanding is correct, then you can create a variable in the business rule either as promt or saved assumption and set that either for next year (as current year is already closed) or set for some other non working version.
    This will ensure that your data for current years budget and version is not impacted even if any user run it by mistake through task list.
    Thanks
    Chirag Tarodkar

  • Business Rule/Member formula for Y-T-D value

    I have an account in my P&L which holds monthly movement values (e.g. Jan=10, Feb=20, Mar=10, Apr=15). Lets Call this AC123
    I need to populate Balance Sheet account (TB Last) with the "Y-T-D" equivalent values (i.e. Jan=10, Feb=30 [10+20], Mar=40[10+20+10], Apr=55[10+20+10+15]. Lets call this AC345.
    How can I calculate AC345 as Y-T-D(@CURRMBR(PERIOD))->AC123?
    Currently I have a member formula on AC345 as follows:
    IF(@ISMBR("Jan"))
         "AC123";
    ELSEIF(@ISMBR("Feb"))
         Jan->AC123+Feb->AC123;
    ELSEIF(@ISMBR("Mar"))
         Jan->AC123+Feb->AC123+Mar->AC123;
    ELSEIF(@ISMBR("Apr"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123;
    ELSEIF(@ISMBR("May"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123;
    ELSEIF(@ISMBR("Jun"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123;
    ELSEIF(@ISMBR("Jul"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123;
    ELSEIF(@ISMBR("Aug"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123;
    ELSEIF(@ISMBR("Sep"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123;
    ELSEIF(@ISMBR("Oct"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123;
    ELSEIF(@ISMBR("Nov"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123;
    ELSEIF(@ISMBR("Dec"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123+Dec->AC123;
    ENDIF;
    But there MUST be a more elegant way to do this!!
    Version 11.1.1.3
    I hope the question is clear. Thanks in advance for your help.
    Paul
    Edited by: 973421 on Nov 27, 2012 3:38 AM

    Hmm, well one way you might do this is to a YTD hierarchy (I know you are doing movements, but sometimes balances are nice, too, and this approach lets you TB whatever with the values and get the right YTD value) in my Months/Time Period/whatever dimension.
    Something like this (and I am making it Planning-centric but should work for any BSO db that has separate Years and Months dimensions):
    Months
    |_TotalYear ~
    |___Q1 +
    |____Jan +
    |____Feb +
    |____Mar +
    etc.
    And then at the same level as TotalYear I would have this:
    YTD ~ Label ONly
    |_Jan YTD ~
    |__Jan +
    |_Feb YTD ~
    |__Jan YTD +
    |__Feb +
    |_Mar YTD ~
    |__Feb YTD +
    |__Mar +
    etc.
    That gives you the YTD values (balance or movement) but you still need to refer to the correct YTD member and that means the big IF statement still exists.
    What I think you need is the @CURRMBRRANGE formula:
    http://docs.oracle.com/cd/E17236_01/epm.1112/esb_tech_ref/currmbrrange.html
    NB -- This is a guestimate on your code, but how about this:
    "AC345" = @SUMRANGE("AC123", @CURRMBRRANGE("Months", LEV, 0, , 0)) ;
    The startOffset value is null -- that should give you Jan. The endOffset is 0, that should give you whatever the current Month is. I think that's it. I would likely make this member a dynamic calc but that's up to you.
    Regards,
    Cameron Lackpour

  • Dynamic filename in Business Rules

    Hi,
    I would like to use the DataExport command in my business rules to extract level-0 data in a file as a reference for user. I would need to extract data only for Entities that a user has access to (I figured that I could use parameters, link the rule to a Planning form and use "members" on form).
    My problem is that I would need a different filename for each execution. Something like :
    ..\userABC_20090513_100350_BV_SBQ.txt
    ..\userDEF_20090513_100430_BV_SLVQ.txt
    Is there a way, in business rules, to find the following info ?
    - the user who is currently running the rule.
    - the current date.
    - the current time.
    If not, is there a way to include a shell in a business rule. I have a small .exe that return the date or time as an "errorlevel" code that I could use if I can call a shell in the rule.
    Finally, a theorical question : is there an other way to ensure that only the user who run the rule can access the generated file (always while using business rules) ?
    Thanks

    First, in a well designed data model, I'm not sure I see the need for data validation logic to change regularly. If a particular column cannot be NULL today, it would be rather unlikely that it would somehow need to be NULL tomorrow.
    Second, I'm not sure I see what this approach buys you over the much simpler approach of adding and removing check constraints if the data model changes. Adding and removing a constraint is pretty trivial-- orders of magnitude less difficult than doing the analysis to determine what constraint needs to change and what impact that has downstream.
    Third, I would suspect that if you need to encode these sorts of constrains in a table, your system will kill downstream systems with regularity. If p1 is NOT NULL today, but tomorrow it suddenly allows NULL values, a consumer application might well break (or worse, silently return incorrect results). Data changes should not be able to screw up downstream systems.
    Fourth, if you did build such a system, you would have to build your own constraint validator, rather than being able to rely on Oracle's (unless you wrote code to create and drop Oracle constraints based on values in a table, but that seems rather convoluted). Given that Oracle's constraint validation engine is highly optimmized and highly accurate, a home grown engine isn't going to look particularly good in comparison.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Dynamic calc member formula problem

    Hello Gurús!
    We are using a member called "Full Year" that is a Dynamic calc with a member formula that calls another dynamic calc. For any reason, it is not working when we try to retrieve it from Excel Add-in.
    Any ideas? Any problem for put a Dynamic Calc as member formula of antoher Dynamic calc?
    Thanks for your time!
    Regards,
    Ariel

    that can be the problem, depending on what dimension they are in, the order the two pass occurs could couse you issues. In cases like this I've had to put the entire calculation into the member I wanted to calculate and bypass the dependency

  • Search for member name in WebForms and Business Rules - 11.1.2.1

    Hi,
    Client has a hierarchy with two parents (Owned and Managed) within a dimension. The 'Managed' parent is no longer valid. Thus they want to eliminate it and move it's children under the 'Owned' member. However there could be ramifications in Business Rules and/or WebForms. Is there a way to search all Business Rules and WebForms for 'Managed' to see which Business Rules and/or WebForms would be affected?
    Or is best way to extract all the WebForms and Business Rules to xml files via LCM and then write custom script to search the files? Not sure if this functionality is already there or not.
    They are on 11.1.2.1

    I don't think "Show Usage" picks up Business Rules that are in the Calculation Manger.
    Also check the Member Formulas - easiest to do in the EAS (view the Outline, and the member formulas are displayed. Otherwise, in Planning, you would need to go into each member individually, and that would take forever). And if you're using Partitions or MRAs, you should check them, too.
    I'm assuming you're doing all of this in a copy of the application, and not on a "live" app, right? So you can make the change and then validate the Business Rules and Outline, and the error messages will tell you where "Managed" was being used.
    -Matt Varner

  • Hyperion Business Rules - Updating to use New Member in Essbase Outline

    We have a business rule that needs updated to include a new cost center.
    "Allocated Account" = ("Account 1"->CC1->Product->Project->"Channel 1" + "Account 1"->CC2->Product->Project->"Channel 1") / ("Account 5"->CC_3->Product->Project->"Channel 1" + "Account 5"->CC_4->Product->Project->"Channel 1");
    CC2 is a cost center that we just added to the Essbase outline and does not have data yet. When I try to validate the business rule, I get an error:
    Cannot calculate. Essbase Error(1200497): Error compiling formula for [Allocated Account] (line 33): unknown member name [CC2] in function ...
    I am new to business rules and have no clue why it doesn't like the new cost center.
    Thanks.
    Terri T.

    Yes, I can find the member name in the outline. I don't understand what you mean by "refreshing" the outline. I have saved the outline.
    Terri

  • Dynamic validation of Business Rules

    Who has a good thought/example about a principle of dynamically validating Business Rules without coding every time each BR?
    I am thinking about a table where I can enter the expressions like:
    - <p1> is not Null
    - <p1> not in (select 'x' from <table>)
    - <p1> < 2000
    This logically, simple expressions should return a boolean expression (true or false).

    First, in a well designed data model, I'm not sure I see the need for data validation logic to change regularly. If a particular column cannot be NULL today, it would be rather unlikely that it would somehow need to be NULL tomorrow.
    Second, I'm not sure I see what this approach buys you over the much simpler approach of adding and removing check constraints if the data model changes. Adding and removing a constraint is pretty trivial-- orders of magnitude less difficult than doing the analysis to determine what constraint needs to change and what impact that has downstream.
    Third, I would suspect that if you need to encode these sorts of constrains in a table, your system will kill downstream systems with regularity. If p1 is NOT NULL today, but tomorrow it suddenly allows NULL values, a consumer application might well break (or worse, silently return incorrect results). Data changes should not be able to screw up downstream systems.
    Fourth, if you did build such a system, you would have to build your own constraint validator, rather than being able to rely on Oracle's (unless you wrote code to create and drop Oracle constraints based on values in a table, but that seems rather convoluted). Given that Oracle's constraint validation engine is highly optimmized and highly accurate, a home grown engine isn't going to look particularly good in comparison.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Business Rule - Problem with Validation Execution

    I'm running into an issue where conditional Validation Execution is not working as expected. The background is that i have an Entity Object containing a few string attributes on which i must apply Regular Expression business rules to make sure only characters in a certain range is set. I am using a Not Matches regex on the following:
    .*[^\u0020-\uD7FF].*1 attribute is required, 2 are optional. The problem I am experiencing is with the 2 optional attributes.
    Since these are optional, I intended to use the Validation Execution tab so that the Rule is executed only when the attribute is not null. For example, here is what i tried for an attribute named Comments:
    Comments != nullNo validation occurred when I entered an invalid value, such as a string containing line breaks, in a corresponding ADF Faces page. For the heck of it, i experimented by setting the validation execution to the opposite of what i should be - in other words, trigger validation if the attribute is null, such as:
    Comments == nullWith this, the validation occurred as expected.
    Is this a bug, or am I misunderstanding something? I'm not particularly good with RegEx - is it possible this is due to some nuance of the expression?
    Version: JDeveloper 11.1.1.6.
    Thanks-
    -george

    i'm not sure if this is the correct answer or a workaround to the issue i had asked about. Given that caveat, if anyone else ever runs across this thread, what i found worked was to not use the attribute name in the Validation Execution tab's expression, but instead to just newValue as in the following:
    newValue != null

  • Business rule to use page member on form

    Hi all,
    I need to create a business rule which uses a page member on the form. Created a RTP variable and used it in the Rule.Attached the rule and selected "use members on the form" and "Hide Prompt".But, Is still asking for prompt. How to unhide the prompt?

    Is it a calc manage rule or an EAS business rule, which version of planning.
    Cheers
    John

  • How to use Dynamic Time Series YTD on a calc script / member formula?

    Hi,
    I activated Dynamic Time Series on Essbase and would like to use the YTD function of a measure for a certain month.
    I tried to use
    MeasureName->YTD(Dec)
    MeasureName->Y-T-D(Dec)
    But couldn't use it to syntax problems. How can I call this function instead of using @Accum or @SumRange?
    Thank you
    Edited by: Icebergue on 10/Ago/2011 11:07

    I could be wrong, but I don't think you can use DTS members in calc scripts or member formulas. As you probably know, they can be used in Financial Reports, SmartView and Excel Add-in.
    You can create an alternate hierarchy in your Time dimension though:
    Jan (YTD): Jan ->Jan is being a shared member
    Feb (YTD): Feb+Jan (YTD) ->Both Feb and Jan (YTD) are being a shared members
    Dec (YTD): Dec+Nov (YTD) ->Both Dec and Nov (YTD) are being a shared members
    Cheers,
    Mehmet

  • Auto email after execution of scheduled business rule

    Hi All,
    We have certain business rules which will be scheduled on daily, weekly and monthly basis. Our requirement is that every time when a scheduled business rule is executed a email is sent to the administrator (specifying the name of BR and time of execution). Can somebody tell us that how is that possible?
    We are on 11.1.2
    Thanks in advance.
    Regards.

    It may be worth having a read of :- http://john-goodwin.blogspot.com/2009/02/idea-for-this-blog-originates-from-post.html
    Another possibility if you are scheduling from command line is to use free command line email utility e.g. blat.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Execution time of Business Rule

    Hi,
    My rule is taking more than a day to run. How can i watch its exact execution time. I can't see it in job console as it shows that the business rule is still in processing. And i have also checked in HSP_JOB_STATUS table. It also shows that it is in processing.
    Is there an other way to see the exact execution time of business rule.
    Thanks and Regards.

    To see the exact execution time, you can check in HBRlaunch.log file in planning.
    If you want to track the execution time of different parts of your calculation script/business rule then see the essbase application log in detail in EAS.
    To see log specific to your business rule, use maxl and spool log to text file, this will give you the logs related to your business rule only and the execution time.
    Thanks
    YSP

Maybe you are looking for

  • Bug in sqlserver 2014 long processing time in query optimizer for complex query. With compatibility set to 2012, everything is quick.

    Believe the bug to be related to the new cardinality estimator. In my case joining 7 tables it took 4 seconds to see the query execution plan, with 8 tables it took 1 minute and with 9 tables 15 minutes! the actual processing of the query plan was su

  • 9-pin mini DIN socket

    Does NX7950GT-VT2D512EZ-HD have a 9-pin mini DIN socket? I want to connect the card to my televison via s-video. Is this the correct cable: http://www.hama.de/portal/articleId*125830/action*2563/searchMode*1/bySearch*34098#1 ?? Does anybody know wher

  • No pay medium is generated

    Dear Experts, I  run a f110 payment run, in the proposal and payment run, it says DATA set CAN'T OPEN, but I have all authorization for the folder, why payment medium is not generated, the payment run background spool is cancelled.

  • Adobe cs3 and 10.8.2

    Hi. I'm trying to download a version of Adobe Creative Suites CS3 into my Macbook. My laptop hard drive died, I had it replaced and am now trying to load Photoshop, etc. back into into it. They upgraded my operating system and now I can't load CS3 in

  • Safari: How to save an image

    How can I save images in Safari? I am unable to right click and save so is there another way of doing this?