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

Similar Messages

  • Using third party jars with Oracle Business Rules

    Hi
    I am working on Oracle AS 10g release 2.
    We are using Oracle Business Rules in integration with Oracle BPEL.
    While using third party jars however, Oracle Business Rules end is facing errors.
    Error during unmarshallingProvider com.sun.xml.bind.ContextFactory_1_0_1 not found
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: com.sun.xml.bind.ContextFactory_1_0_1
    Dependent class: javax.xml.bind.ContextFinder
    Loader: oracle.xml:10.1.0_2
    Code-Source: /D:/oracleasr3/lib/xml.jar
    Configuration: <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in D:\oracleasr3\j2ee\home\oc4j.jar
    Can anybody help in figuring out where Jaxb jars(3rd party jars) are to be kept so that OAS access it?
    We tried using the applib folder to load the jars but we are getting class loading errors.
    When new instances are created, class loading is not happening.
    Pls help.
    Thanks
    Kavya

    Are you using Application Server Release 3 or Release 2? There are different versions listed in your mail.
    I think you probably want to add this as a shared library via EM and then import the shared library to your application with the application's xml config files.

  • Using a local Array in a Business Rule

    Newbie question here...
    I am writing a business rule that applies a standard rate to a lot of different lines in a business rule. This rate only varies by year, so from a logical perspective I think of it as a 1 dimensional variable. However the rate is actually stored in my normal Essbase cube (8-dimensions) something like the following:
    Dimension Dimension Member
    Account: Rate
    Dim2: No Dim2 Value (A dimension member called "No dim2 Value")
    Dim3: No Dim 3 Value
    Dim4: No Dim4 Value
    Dim5: No Dim5 Value
    Dim6: No Dim6 Value
    Dim7: No Dim7 Value
    Year: [varies by year]
    So right now my formula to calculate things looks something like the following:
    "Target Account 1" = "Driver Account 1" * Rate ->
    "No Dim2 Value" ->
    "No Dim3 Value" ->
    "No Dim3 Value" ->
    "No Dim5 Value" ->
    "No Dim6 Value" ->
    "No Dim7 Value"
    But I have to do this for several "Target" and "Driver" Accounts in the rule, which means an ugly looking rule. What I would like to do is create a local array at the beginning of my business rule and populate it with the rate:
    ARRAY _rate[Year]
    and then set the value of the array equal to
    Rate -> "No Dim2 Value" -> "No Dim3 Value" -> "No Dim3 Value" ->
    "No Dim5 Value" -> "No Dim6 Value" -> "No Dim7 Value"
    This will allow me to simplify my formula down to
    "Target Account 1" = "Driver Account 1" * _rate
    My first question is "can I do this?" I've been able to create an array and use it in the formula, but I can't figure out how to populate the values in the array from my main Essbase cube.
    The second question is "does it make sense to do this?" In addition to making the code easier to read, my guess is that populating the array once and just using it within the scope of the rule would be a bit more efficient than referencing that big cross dim expression, but I really don't know.
    Any advice anyone has would be appreciated.
    Thanks
    -Glenn

    I am familiar with what you are trying to accomplish.
    Having Essbase store a fixed rate over time to be used in calculations is possible. However formulas start to look complex depending on how many dimensions you have and what the desired outcome is.
    There are alternate techniques to the one you mentioned.
    You can create a new database for rates only and make it with fewer dimensions. Then use the @XREF function to retrieve it in your formulas.
    If the rate doesn't change very often you can put the Rate inside of the formula as is.
    For example Y2006_Rate = 5%.
    Brian Chow

  • Using StartsWith for String Comparision in Business rules

    hi,
    I need to compare whether a particular string starts with some pre-defined prefixes. These are bound to change from time to time and hence we wanted to use the business rule engine for this. We declared prefixes using "list of values" vocab and
    defined the set. Now, I hoped to use the String.StartsWith() method but couldn't understand if it can be used.
    As of now, we are creating a method and that will be called with 2 parameters. One the string and other is one of the list of values which we want the string to start with. Is there any better way to do this?
    Praveen Behara
    MCST : BizTalk Server 2006 R2, 2010

    Hi Murugesan,
    I need to match a particular series of numbers... say 12xxx,345xxx,567xxx. I am creating a
    Series as a list and the valid values would be 12, 345, 567. I intend to keep them as prefixes i.e. they are not regular expressions. So, they won't be 12.*, 345.*, 567.*. The idea is to keep the vocab close to requirement
    and away from implementation (typically, for a business user). Now, if I want this setup, how will the implementation with
    Match look like?
    Technically, your above solution would work.. but my way of implementation / thought process is for a different purpose.
    Praveen Behara
    MCST : BizTalk Server 2006 R2, 2010

  • Displaying Value from Business Rule in the UI

    My requirement is as follows:
    I profile a customer based on some business rules and the business rules asserts a business object based on the rule evaluation. I checked the output of the Business Rule and I can see that the values have been set correctly but when I added the Business Object to the Human task the same is not displayed in UI. Can anyone please help me on this. I am using 11g.
    Regards
    Venkat

    If i'm not wrong, this is undoubtly teh MOST ASKED Qs on the Forum .
    U can get help from URL :- http://jsptags.com/tags/navigation/pager/
    Also, the Java Pet Store application has another such JSP tag library. Look in the package com.sun.j2ee.blueprints.petstore.taglib.list
    OR just simply search the Forums & u'll get many replies to ur Query

  • Use of JSR-94 in oracle business rule

    I am developing an application using oracle business rules .
    I want to create a JSR-94 Rule Execution Set from Rule Sets in a Dictionary
    and want to run the application through created rule execution set.
    I have taken reference form OracleBusinessRulesUsersGuide.pdf but unable to
    run the installed_dir\rules\demo\car demo through the rule execution set.
    U can take the reference of car demo
    with regards
    saleem khan

    Hi,
    Thnaks for your reply but I've already tried with that and as I've mentioned above, it would return you an integer representing the day of the week;not the day.
    Thanks
    Edited by: user11930797 on 20 Sep, 2011 8:22 PM

  • Use of decision table in Oracle Business Rule

    hello,
    I am using Oracle Business Rule beta version to develop a rule base application.
    I want to know that how i can make use of table to make decision on the basis of table data .
    thanx
    saleem

    hello,
    I am using Oracle Business Rule beta version to develop a rule base application.
    I want to know that how i can make use of table to make decision on the basis of table data .
    thanx
    saleem

  • Use of other dimension filter in business rule

    Hi,
    I have a requirement to create two eliminations and adjustment business rules, one of which should only run for a specific category and the other should run for all other categories. I thought I could use the other dimension filter for this and on the first rule CATEGORY=ACTUAL is accepted by the system. However, on the second rule I entered CATEGORY<>ACTUAL and when I save the rule I get an error saying that CATEGORY<>ACTUAL is not a valid logical expression.
    As we have a number of categories I really do not want to create a rule for each one, so does anyone know a way to create a rule for all but one of my categories?
    Thanks,
    Arnold

    Hi Vadim,
    we currently have around 20 categories (plus ACTUAL) and we get two new every year for multi year plan/forecast. If only = works I would have to create one very long string for the second rule and add to it very year.
    I will try it though and if you are correct I might have to open a note with SAP.
    Thanks,
    Arnold

  • Is it possible to use "not" logical operator in a Business Rule Condition?

    This seems like a very simple request to me, but I cannot see any other questions/answers about it.
    Can I add a "not" to my Conditions in a Business Rule?
    My scenario is that I have a core Entity with a Type.  The Type is a domain attribute with a Code and Name.  The Code of the core Entity should in the form 'AA-9999', where 'AA' is the Code from Type.
    The idea is that I have a business rule with the condition "not
    Code starts with DBA.Type.Code" and the Action would be "Code is not valid".
    Is this possible?  Is there a better way of implementing this?
    Thanks,
    Michael

    Yeah! This is the board in question! But it has lots of versions, like K7T Pro, K7T Pro2 (my one!), K7T Turbo, K7T Turbo Limited Edition and K7T Turbo2, all of then are WS-6330 Lite...   They phisically diferent, but the BIOS seens to be the same... I want to know is this feature in the newer version is going to work or not on my board (MS 6330 Lite K7T Pro2 Ver:1) ....
    Doesn´t matter what board you choose (PRO, PRO2, Turbo, Turbo2) the MSI page shows all the same BIOS to Download... But I think that this feature is only applicable for K7T Turbo2, but will make no difference in my! At least that´s what I think...
    But you´re right! The board that I have is the one on the link you said!
    Thanks!      

  • Syntax for using AND with a variable in Business Rule Source

    I've never fully gotten my head around the AND/OR syntax of calc scripts. What I'd like to do is as follows in some basic pseudo code:
    FIX( ("A97" AND [Selected_Entity]) OR ("B76" AND [Selected_Entity]) OR ("C63" AND [Selected_Entity]) ).
    I want my webform's business rule to execute on the selected Entity in the form (eg. A97) ONLY if that entity is part of a restricted list of members (in this case, 3 entities out of 200).
    Thanks for any advice!

    Hi,
    I am not sure if I have totally understood what you are trying to achieve so sorry if I have misread it.
    But what you could do is set up a variable in the Bus Rule, lets call EntVar.
    It is set up as a local variable of type member and dimension Entity with a run time prompt "Enter Entity"
    Now in your script it could look something like this....
    FIX(&CurrentYr, "Working".......)
    "AccMember"(
    IF(@ISMBR(&#91;EntVar]) AND (&#91;EntVar]=="A97" OR &#91;EntVar]=="B76" OR &#91;EntVar]=="C63") )
    AccMember=.......;
    ENDIF
    ENDFIX
    Once you have tested the business rule, you can get your form to pass through the entity into the variable.
    Is this what you are trying to do?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Using variables in Calc scripts and Business Rules

    I am sure there have been previous discussions about this, but can somebody let me know the benefits of using variables in Calc scripts and BRs?
    Thanks,
    A

    I have never used calc variables and after reading a study guide, which talked about them, I couldn't really understand the benefits.^^^I use variables all the time to make abstract difficult formulas. Below is an example.
    /*     Declare variables     */
    VAR varSalaryCosts ;
    VAR varProdOHLabXXXX ;
    VAR varXXXX ;
    A whole bunch of code here along with very limited FIX statement and then...
    "Salaried Labor"
         varSalaryCosts = "Salary Costs"->"No Department"->"No Category"->"Salaried" -
                             "Wage Bonus"->"No Department"->"No Category"->"Salaried" -
                             "YYYY Retention Bonus 40%"->"No Department"->"No Category"->"Salaried" -
                             "YYYY 60% Ret Bonus Accrual"->"No Department"->"No Category"->"Salaried" ;
         varProdOHLabXXXX = "Number of Employees"->"ZZZZDepartments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Blah Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Humph Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"TTTT"->"Codes"->"Salaried" ;
         "Salaried Labor" = varSalaryCosts * ("Number of Employees"->"Salaried" / varProdOHLabXXXX) ;
    )The last formula is how the formula was described to me by the business owner. I find it to be much easier to read than something like:
    "Salaried Labor" = ("Salary Costs"->"No Department"->"No Category"->"Salaried" -
                             "Wage Bonus"->"No Department"->"No Category"->"Salaried" -
                             "YYYY Retention Bonus 40%"->"No Department"->"No Category"->"Salaried" -
                             "YYYY 60% Ret Bonus Accrual"->"No Department"->"No Category"->"Salaried") *
                             ("Number of Employees"->"Salaried" /
                             ("Number of Employees"->"ZZZZDepartments"->"Codes"->"Salaried" +           
                             "Number of Employees"->"Blah Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Humph Departments"->"Codes"->"Salaried" +     
                             "Number of Employees"->"TTTT"->"Codes"->"Salaried")) ;I have used ARRAY in a really-cool-but-alas-not-invented-by-me calc script to do currency conversion in Planning better than Planning does currency conversion. (How's that for a run-on sentence?) It is one of the six blog posts I am working on and I will finish it soon, I hope. I am sort of in thrash mode right now. It does have its uses and I'll try to remember to update this thread when I'm done.
    Regards,
    Cameron Lackpour

  • Get cell value in Planning Data form and using it in a business rule

    Hi Everybody,
    if i set the data type of an Account Member as text, is there a way to get the value inserted by the user in a dataform, turning it as dimensional member and using it in a business rule?
    So, if the user insert the value "USA" in a cell, can i use any functions to tell essbase that "USA" is a dimensional member and then using it in a business rule, for example in a cross-dimension like Period1->FY12->USA?
    I tried to use the function @Member and it doesn't work, but i'm wondering if there is a way that can let me get the value inserted and use it just like a dimensional member. What are the ways that can let user input value that can be used in a business rule? I think one is by using SmartList, is there any other ways? Maybe using variables?? As an alternative i tried to use Prompt Variable but there are too many members on which the rule must run.
    Please help me, i wanna know if i can or not let the user input the member on which the rule must run...
    Thank all guys
    Bye
    Maurizio

    Thanks EW for your answer,
    YesI could use SmartList even if i think it's very tough to handle. My experience on using SmartList in caclc script is not so good. I try to enter in details of my requirement:
    I have 500 account members.
    For each one, I have to calculate the monthly budget by sharing the amount among the months. The user wants to calculate it on the basis of the actual flow(over the months) of an unspecified account of the prior year. The unspecified account must be inserted in a data form.
    So, i could use a Smart List but it colud be of 500 elements and then i should make a rule with as many IF as how many are the accounts. Or im wrong? The only way to use smart list dynamically in a business rule is by referring its values in a IF condition. Or i'm wrong.
    I tried to use execution variable ma it seems don't work. In this case the user must pay attention to write the account correctly, otherwise as you say the rule doesn't work.
    The value in PD0A020 is "PD0A000" (that is a dimensional member). The value in PD0A000 is "hello". In PD0A040 the rule returns "PD0A000" and not "hello" as i would. The function @Member appears to be not able to catch the dimensional member by the value in PD0A000.
    {Example}="test"->"Input"->"Scenario_test"->"FY12"->"PD0A020";
    Fix("test1","Input","Scenario_test","FY12")
    "PD0A040"=@Member({Example});
    endfix
    So, my doubt is: is it possible for Essbase/Planning to use the value inserted in a data form and to turn it in a dimensional member? What are the practicable ways to let the user input/choose the member on which makes the rule run?
    Thank you Ew, thank you guys
    Maurizio

  • Unable to use DIMLIST property in business rules

    Hi Team,
    We have updated Account dimension with TYPELIM(10), DIMLIST(20) properties and in AUTOMATIC ADJUSTMENT DETAILS in the SOURCE ACCT when we update it with valid account ID or TYPELIM property value, it validates sucessfully.But, when we update it with Valid DIMLIST property value, it throws an error <Property Value>  value does not exists in ID,TYPELIM of Account dimension. We are able to see the DIMLIST property values in the list of available options.
    We are unable to use the DIMLIST property in other business rules and for FLOW dimension also.
    Server Details : BPC MS 7.0 SP3 patch level 2
    Appreciate if you can give your inputs on this.Please let me know if I need to provide any other information.
    Kranthi

    Hi Kranthi,
    Based on my observation the source account column specification in the Automatic Adjustment Details business rule allows only to specify a member of either account id or TYPELIM property from account dimension. Other properties not available for the selection.
    Hope this helps.
    Regards,
    Badrish

  • 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

  • How to add Exception handling in Oracle Business rules Function

    Hello,
    We use to have good number of business rules in our application. So we need to have some functions in BR Composite.
    Can some one let me know how to handle exception in Oracle business rules exception( Regular try catch will not compile)
    is there any way please let me know.
    Edited by: Network22 on Mar 25, 2013 10:21 AM

    Why aren't you using por_custom_pkg.custom_validate_req_line to add extra validations.
    Ensure that profile POR: Enable Requisition Line Customization is set to Yes if you were to use po_custom_pkg for Requisition line validations.
    OAF calls por_custom_pkg at various points depending upon the values in Profile Options:-
    POR: Enable Req Distribution Customization
    POR: Enable Req Header Customization
    POR: Enable Requisition Line Customization
    Thanks,
    Anil Passi

Maybe you are looking for

  • Call Function in CRM to fetch invoice no. for given cancelled invoice no.,

    Hi,    Can anybody suggest me Function module in CRM that gives details of billing document when its corresponding cancelled billing no. is given as input. Ex. Invoice no. is 'X'.       When 'X' gets cancelled , a document gets generated of type canc

  • Connecting a MAC

    I have no problem connecting my laptop to my wireless network, but when I try to connect our mac to it, it says there is a problem connecting to the network.  Is there a setting I need to change on the router or is the problem with the Mac?  My route

  • Safari chrashes all the time...

    Hello! I have just upgradet my macbook pro 15" to the new Mountain Lion software. During that time safari has chrashed several times. Once every 15-20 min.. This is whats popping up: Process:         WebProcess [524] Path:            /System/Library/

  • Reflections of a Christian Kungfu Master

     "Reflections of a Christian Kungfu Master" is a book that displays an intriguing and well-developed analysis of what it means to study martial arts without compromising religion. The text covers everything from the comparison of Taoism, Buddhism and

  • How to force pop up menu to collapse when link clicked

    I have a cascading pop up vertical menu built with Fireworks 8. It opens over the target iframe into which the linked content loads. I would like the menu to collapse when the user makes a selection. Can I do this? Thanks... J