RATE function in Essbase

Does anyone know how to get an Essbase function equivalent to the RATE function in Excel?<BR><BR>Regards,<BR><BR>Pablo

Here is what you need to do:<BR><BR>Java code:<BR><BR>public static double Rate(double npr, double pmt, double Pv, double Fv,double guess, double error){<BR>          double rate = 0.01;<BR>          <BR>          if (guess > 0)<BR>               rate = guess / 100;<BR>          double a = 0.0;<BR>          if (pmt == 0) {<BR>               return (Math.pow(Fv/Pv,1/npr) - 1) * 100;<BR>          } else {<BR>               while(1==1) {<BR>                    a = Pv * rate * Math.pow((1 + rate),npr) / ( Math.pow(1 + rate,npr)- 1);<BR>                    System.out.println(a);<BR>                    if ( Math.abs(a - pmt) < error) {<BR>                         return rate * 100;<BR>                    } else if (Math.abs(a) > pmt) {<BR>                         rate -= 0.00001;<BR>                    } else {<BR>                         rate += 0.00001;<BR>                    }<BR>               }<BR>          }<BR>          <BR>     <BR>     }<BR><BR><BR>MAXL to register the CDF:<BR><BR>CREATE OR REPLACE FUNCTION '@JRate'<BR>AS 'com.hyperion.essbase.cdf.stats.Stats.Rate(double,double,double,double,double,double)'<BR>SPEC '@JRate(npr, pmt, Pv, Fv, guess, error)'<BR>COMMENT 'Return the rate where npr: number of payments, pmt: periodic payment, Pv: present value, <BR>Fv: future value, guess: rate guess (If 0 then the default is 10%), error: error tolerance on payment estimate';<BR><BR><BR>Usage in a clac script:<BR><BR>Example 1: Number of payment = 26, Present Value = 500, Future Value = 572. What is the rate?<BR>@JRate(26,0,500,572,5,0.1) = 0.5188%<BR>Excel returns RATE(26,0,-500,572) = 0.5188%<BR><BR><BR>Example 2: Number of payment = 360, Payment = 665, Present Value = 100,000. What is the rate?<BR>@JRate(360,665,100000,0,5,0.1) = 0.5829%<BR>Excel returns RATE(360,665,-100000) = 0.5830%<BR><BR>Send me your direct email address if you want the actual files.<BR>

Similar Messages

  • Error while creating Custom Defined Functions in Essbase

    <p>Hi All,<br>I am trying to create CDF(Custom Defined Functions) in Essbase. Iwant to create a function which take list of child member andreturn the first child. For this, i have created a java file called"ChildAccess.java" which contains the following code:<br>public class ChildAccess<br>{<br>public static char GetFirstMember(char [] members)<br>{<br>return members[0];<br>}<br>}<br>I have compiled and made jar file called"ChildAccess.jar" and pasted it at"ARBORPATH/java/udf". Then i restarted the Essbase Serverand run the following MaxL command to register the function<br>create or replace function '@ChildAccess' as<br>'ChildAccess.GetFirstMember'<br>spec '@ChildAccess(memberRange)'<br>comment 'adds list of input members'.<br>Till here i am not getting any error but when i am using thisfunction in my calc script as given below<br><br>FIX(@ChildAccess(@CHILDREN("Abc")))<br><br>it gives the following error<br>"Error:1200414 Error parsing formula for [FIX STATEMENT]<br>(line 2)"argument[1] may not have size[6] in function[@CHILDREN]"<br>NOTE: The SIZE[6] is giving the no. of child in member"ABC".<br><br>Thanks in Advance<br>Arpit</p>

    If you want to use the CDF in a FIX statement you need to make sure that it returns a member name rather than a number:<BR><i><BR>public class ChildAccess<BR>{<BR>    public static String GetFirstMember(String[] members)<BR>    {<BR>        return members[0];<BR>    }<BR>}<BR></i><BR>I prefer to define the function against a specific application rather than globally because you only need to restart the application in order to pick-up any modifications to the .jar file. So the MaxL function definition would be:<BR><i><BR>    create or replace function appname.'@_GETFIRSTMEMBER' as<BR>        'ChildAccess.GetFirstMember(String[])';<BR></i><BR>and in the calculation script the FIX statement would become:<BR><i><BR>    fix ( @member( @_GetFirstMember( @name( @children( "Abc" ) ) ) ) )<BR></i><BR>This looks a little messy so you can use a macro to simplify it:<BR><i><BR>    create or replace macro appname.'@GETFIRSTMEMBER'(single) <BR>        as '@member( @_GETFIRSTMEMBER( @name( @@1 ) ) )' <BR>        SPEC "@GETFIRSTMEMBER(memberRange)";<BR></i><BR>and then the FIX statement could be written:<BR><i><BR>    fix( @getfirstmember( @children( "PRODUCT" ) ) )<BR></i>

  • How to view exchange rate table in essbase?

    Hi,
    I have created exchange rate table in Hyperion-Planning application.
    Now I have to view that exchange rate table in essbase.
    By using HSP_rate...? is it the write answer to view the exchange rate table?
    If I am wrong then Could you please tell me how to view the exchange rate in essbase?

    Hi,
    Exchange rates are stored in the Planning Relational store and refreshed to Essbase. Below is a guide to help you find exchange rates that Planning should have refreshed to Essbase in, for example, Essbase Excel addin.
    You can set up the Essbase Excel addin to look at the following intersections, for example:
    Rows
    Accounts
    HSP_RateType
    HSP_Historical
    HSP_Average
    HSP_Ending
    HSP_Rates Dimension
    HSP_Rates
    HSP_Rate_USD
    HSP_Rate_AUD
    HSP_Rate_CAD
    HSP_Rate_JPY
    HSP_Rate_GBP
    HSP_Rate_EUR
    Columns
    Months of the Fiscal year's rates you want to see.
    Other Selections
    Select the specific Scenario (i.e. Forecast, Actuals)
    Select the specific year the rates were entered to (i.e. FY02, FY03)
    Specify the TOP LEVEL of Versions, Entities, or Currencies.
    If the retrieval informs you that you must select a value for any required custom dimensions, make sure to select the top level member for that dimension on your spreadsheet.
    Hope it helps...
    KosuruS

  • To expand the filter functions in essbase

    Hi All,
    Please help me to expand the filter functions in essbase like @LIST, @ IDESCENDENTS, @DESCENDENTS , @REMOVE. My expected resulted is the member names in the outline that is indicated by the filter.
    This is to get the member names to which a filter definition represents.
    For example
    If A has three children A1, A2 and A3 and i have a function @IDESCENDENTS(A), then i need a result as A1, A2 and A3.
    This is just an example, I am trying for complex one.

    Go through
    http://docs.oracle.com/cd/E12032_01/doc/epm.921/html_techref/funcs/funclist.htm
    There are many commands to select members in a dimension. You can select particular generation using @genmbs anr level members using @levmbre or you can use @relative. You can tag uda if you want to select members randomly.
    Technical reference is the best place to start about calculation commands.

  • Apple watch heart rate function

    Do I have to bring iPhone on a run in order to use the heart rate function of the Apple Watch?

    No you don't have too - The watch has an inbuilt heart rate monitor however if you want to use it with a tracker app etc you will need to have your iPhone with you.

  • How to get TRIMMEAN  excel function in Essbase

    Hi,
    I am in Essbase 11.1.2, where we have a requirement to calculate avg of some value by following Excel function business use in Excel.
    IF(TRIMMEAN(AS13:AZ13,$BA$11)<0,0,TRIMMEAN(AS13:AZ13,$BA$11))
    just wanted to know if anyone use this in Essbase or any workaround to get this function value in Essbase.
    -KP

    You have to go through DBAG for more info on @XREF
    here is example of script we use
    SET UPDATECALC OFF;
    FIX(members in employee, members in entity)
    SET CREATENONMISSINGBLK ON;
    "Account_1" = @XREF(_Location alias, "PRODUCT");
    ENDFIX
    what we do is pull data from account_1 of databse 2 to database 1.
    you should specify location alias in database before executing this script.
    good luck.

  • Exchange rate function module

    Dear Forum,
    I tried READ_EXCHANGE_RATE and CALCULATE_EXCHANGE_RATE but both no result.
    The local currency is INR and transaction is posted in EUR. Now I want to get the exchange rate in USD which is conversion from EUR to USD. local currency INR not needed.
    Which function module can fulfill my needs?
    Thanks

    Hi,
    Ok you want it in exchange rates,
    CONVERT_AMOUNT_TO_CURRENCY  Convert an amount from a currency to another (exchange rate taken from database tables) 
    CONVERT_CURRENCY_BY_RATE  Convert an amount from a currency to another, according to the passed exchange rate 
      or
    BAPI_EXCHANGERATE_GETDETAIL
    cheers,
    bhavana
    Edited by: Bhavana Amar on Jun 4, 2010 12:53 PM

  • Function in Essbase Add-In

    <p>In Excel, you can click on the fx that's beside the formula barto display the Insert Function window. There's a category called"Essbase Add-In" in the drop-down list box.</p><p> </p><p>Which directory would I paste my macro excel file, in order forthe macro function to display in this list?</p><p> </p><p>Thanks in advance.</p>

    Wouldn't HypQueryMembers do what you want?
    It sounds exactly like EssVGetMemberInfo, right down to the number 6 being the same generation.
    Regards,
    Cameron Lackpour

  • Problem with time series functions against Essbase

    Hello all,
    I'm having problems with displaying correct results when using AGO function in OBIEE. I'm using Essbase 9.3.1 and OBIEE 10.1.3.4.1. Logical column named MAGO1 is created in repository like this: IFNULL( AGO("Measure01", Time.Month, 1), 0). In Answers when I use columns Measure01,MAGO1,Time.Month with filter just on Time.Month column results are OK. When I put another filter, for example Dim1.Gen2,Dim1, MAGO1 returns zero as a result. But when I put Dim1.Gen2,Dim1 also as a column and as a filter results are OK. I don't want to have Dim1.Gen2,Dim1 as a column but just in a filter. Also hiding column is not an option. I want to have grouped results and not multiple rows for one month if I remove filter Dim1.Gen2,Dim1. Filter is selected on prompt in dashboard and can be some value from Dim1.Gen2,Dim1 or All Choices. Reason for this is that I'm using this answers report as a data source for BI Publisher so additional formatting on answers report isn't helpful.
    I am suspecting that something is wrong with hierarchy it time dimension or other dimensions. Or maybe MDX is not generated right ? If you need more details regarding my repository or configuration please feel free to ask. Any help is greatly appreciated.
    Thanks,
    D.

    I am using BI Publisher and Answers report as data source. Making changes like hiding column or displaying results as pivot table won't help in this case.
    Anyway I did discover something else. When I put in report logical columns with ago function they return correct results. But when I add additional logical column with todate function all logical columns with ago and todate function return zero as a result. Also this happens only when result is more than one row. If you have only one row, for example grand total level of dimension, than result is OK, but if you have more rows on a lower level than zero values appear.
    Some columns that are used in filter do not appear as columns in report. This is the main problem. If I put all columns that are filtered in report than the result is OK. But I don't want to do this because I want to have option to select values on dashboard prompt on different levels.
    Hope this narrows the problem.
    Thanks,
    D.

  • Error Using DataExport function in Essbase

    Hi there,
    I'm using Hyperion Essbase version 9.3.1.
    And rite now I'm trying to export data in Essbase by the new CalcScript function DataExport directly to SQL server.
    I have 11 dimensions in my Essbase application. I did create 10 fields in SQL server for storing members information and 12 other fields for periodic data. Just, the time when I export data, all the rows returned with only 7 fields for members information and 12 data fields for periodic data.
    Can anyone help? Please help!
    Best regards,
    Antony

    Antony,
    So when you use a calc script like the below:
    SET DATAEXPORTOPTIONS
         DataExportLevel ALL ;
         DataExportDynamicCalc OFF ;
         DataExportRelationalFile ON ;
         DataExportOverwriteFile ON ;
    DATAEXPORT "File" "," "b:\exports\jan.txt" "#MI";
    Your export works just as you want? (I realize you have lots of other logic, but for the sake of argument use the above).
    And then when you take the exact same code except that the DATAEXPORT command now looks like:
    SET DATAEXPORTOPTIONS
         DataExportLevel ALL ;
         DataExportDynamicCalc OFF ;
         DataExportRelationalFile ON ;
         DataExportOverwriteFile ON ;
    DATAEXPORT "DSN" "cur_sale" "newyork" "admin" "password";
    You don't get the same results?
    I get the same results regardless. Yes, one is written to a table as defined by the DSN and the other a text file but the contents are exactly the same.
    Are you seeing different rows/columns? If so, that would either suggest your table is somehow limiting what gets written to the RDBMS (it would be nice to think that Essbase would log this as an error/fail) or there is a bug in the export. I have not come across this issue.
    Regards,
    Cameron Lackpour

  • Exchange rate function

    Hi!
    I would know if there is a similar function like BAPI_EXCHRATE_CREATEMULTIPLE or if this function really exists in R/3 4.0 version . I´ll reward, I promise!
    Thanks in advance,
    Éder

    hi eder,
    it realy exists.
    other FM are BAPI_EXCHRATE_GETCURRENTRATES
    and
    BAPI_EXCHRATE_GETLISTRATETYPES
    chk this also
    CALL FUNCTION 'READ_EXCHANGE_RATE'
          EXPORTING
            DATE             = SY-DATUM
            FOREIGN_CURRENCY = L_CURR
            LOCAL_CURRENCY   = P_WAERK
          IMPORTING
            EXCHANGE_RATE    = V_RATE
          EXCEPTIONS
            NO_RATE_FOUND    = 1
            NO_FACTORS_FOUND = 2
            NO_SPREAD_FOUND  = 3
            DERIVED_2_TIMES  = 4
            OVERFLOW         = 5
            ZERO_RATE        = 6
            OTHERS           = 7.
        IF SY-SUBRC <> 0.
        ENDIF.
        X_CURR-CURR = L_CURR.
        X_CURR-RATE = V_RATE.
        APPEND X_CURR TO IT_CURR.
        L_VALUE = L_VALUE * V_RATE.
    another  fm - >CALCULATE_EXCHANGE_RATE
    rgds
    anver
    Message was edited by: Anversha s

  • CDF function in essbase

    HI,
    I'm planning to use a cdf function in my essbase outline -
    '@JgetMonthNumberWorkDays(2009, 1, "aus")'
    Now my question is..can we pass other essbase functions within this cdf and make it work ?
    e.g. Will something like below work?
    '@JgetMonthNumberWorkDays(@CURRMBR (year), @CURRMBR (period), "aus")'
    where year dimension is 2010,2011 and so on
    and period dimension is jan,feb and so on.
    Any pointers will be appreciated!!
    Edited by: whirlpool on Aug 7, 2012 7:18 AM

    If you want to use the CDF in a FIX statement you need to make sure that it returns a member name rather than a number:<BR><i><BR>public class ChildAccess<BR>{<BR>    public static String GetFirstMember(String[] members)<BR>    {<BR>        return members[0];<BR>    }<BR>}<BR></i><BR>I prefer to define the function against a specific application rather than globally because you only need to restart the application in order to pick-up any modifications to the .jar file. So the MaxL function definition would be:<BR><i><BR>    create or replace function appname.'@_GETFIRSTMEMBER' as<BR>        'ChildAccess.GetFirstMember(String[])';<BR></i><BR>and in the calculation script the FIX statement would become:<BR><i><BR>    fix ( @member( @_GetFirstMember( @name( @children( "Abc" ) ) ) ) )<BR></i><BR>This looks a little messy so you can use a macro to simplify it:<BR><i><BR>    create or replace macro appname.'@GETFIRSTMEMBER'(single) <BR>        as '@member( @_GETFIRSTMEMBER( @name( @@1 ) ) )' <BR>        SPEC "@GETFIRSTMEMBER(memberRange)";<BR></i><BR>and then the FIX statement could be written:<BR><i><BR>    fix( @getfirstmember( @children( "PRODUCT" ) ) )<BR></i>

  • Ago function against Essbase

    Hi,
    I'm finding very big problems in using AGO function against a Essbase source (BIEE 11g & EPM 11.1.2).
    Any experiences on that?
    any feedback will be apreciated,
    Regards,
    Daniele

    Hi Peak,
    I'm not able to make it works, differents errors are generated:
    sometimes:
    SQOIMDXGeneratorHyperion.cpp
    others:
    [nQSError: 96002] Essbase Error: Syntax error in input MDX query on line 10 at token '[' (HY000)
    I'm building simple query on these cubes...
    I'll try to describe you better the problems asap...
    But I'm looking if I'm the only finding this issues (and is related to my environment) or if someone else found this kind of problem.
    Regards,
    Daniele

  • Java implementation of Excel Rate function

    Hello,
    I need to use the Excel Rate built in function in java code.
    Has any one done this be4? or has seen this on the web.
    Thanks for ur help!

    Hello,
    I need to use the Excel Rate built in function in java code.
    Has any one done this be4? or has seen this on the web.
    Thanks for ur help!

  • Pro rate function in billing plan

    Folks
    Would any one know how i could pro rate the value for the last month of the billing plan cycle. You would think this is a standard SAP function
    I have looked, and i am not able to find a solution. Our customer does not want to do any code changes. Let me know if you know of any standard changes that can be done.

    Hi,
    Looks like you are not rewarding for the helpful responses.
    <b>Please do reward for the helpful responses.</b>
    SAP has <b>Retroactive Billing</b> funcitionality
    Use
    New pricing agreements that you make with your customers may affect billing documents that have already been processed and settled. If a new pricing agreement is effective before the pricing date of the billing documents, you can perform retroactive billing to call up a list of these documents and reevaluate them with the new price. You can then create additional billing documents to settle any differences.
    Integration
    Retroactive billing is a special billing function often used in  scheduling agreement processing.
    Features
    With the retroactive billing function, you can:
    Call up a list of documents affected by price changes
    Trigger the system to create the necessary retroactive billing documents directly from the list
    Create credit or debit memos directly
    Review any errors in a log
    Simulate the retroactive billing process for any document
    How does Retroactive Billing work?
    In this example, the system calculates the difference between the net value of the invoice ($100) and today's net value based on the new price ($90). It then creates a credit memo with the net value of $10 to be credited to the customer.
    Primary and Secondary Documents
    The system calculates retroactive billing values for primary documents. It can use secondary documents to help calculate this value.
    Invoices are always primary documents.
    Other billing documents, such as debit or credit memos, can be primary or secondary documents. This depends on the order reason entered in the billing document.
    For more information on how the order reason is used to control primary and secondary documents, see Order Reason in Retroactive Billing. This section will also provide a more detailed example of how retroactive billing works.
    Primary Documents
    Primary documents are:
    Invoices
    Credit memos that refer to returns
    Credit and debit memos in which you have entered the relevant order reason
    You can also assign an order reason to a memo request which then passes it along to the referenced credit or debit memo.
    Secondary Documents
    Secondary documents are the following billing documents in which you have entered the relevant order reason:
    Credit and debit memo requests
    Credit and debit memos
    The system displays such a document only when it has been created with reference to the invoice and when the currencies in both documents match.
    If you create a credit or debit memo (or memo request) without reference to an invoice, you will not be able to see in the retroactive billing list if the invoice has already been billed retroactively.
    When you create a credit or debit memo request which is relevant for retroactive billing as a secondary document, the system will use it to calculate retroactive billing for the referenced document.
    The system does not take into account whether or not a request has been rejected, partially billed, or billed using another pricing procedure. Also, it does not take into account any changes in the payer, sold-to party, sales organization, billing date, or material.
    <b>Reward if helpful.</b>

Maybe you are looking for

  • Report Painter Report- Export to Excel

    Hi Gurus, How to export report painter report to excel. I could not use the following methoads 1. Under Settings Option, Office Integration, MS Excel is provided. For Secutity reasons, it was blocked. So can't be used. 2. Could not run as backgroud a

  • How can I call tuexdo client api in VB

    I want to build a ATL com (c++) to call tuexdo api,then I can create object in VB, is it good way?

  • Problem starting Business Rule service ver 3.5

    Hi - I installed Business Rules ver 3.5.1 on our Windows Server 2003. I noticed the hbr service was not running, so I tried running the starthbr.bat file, but I got an error message: java.lang.ClassNotFoundException: com.hyperion.br.rmi.HBRImpl_stub

  • How to search the content in a Table

    Hi all,     How can i search the content in a table. is there any UI Element is there to do this? Can any body give me any sample code for this regards, VJR

  • Hanging dotnet application

    Hi all, I am using ODP.NET for database connectivity with oracle and ODBC.NET for SQL server. webservice build in C#.NET hangs up if I leave my application Idle for 5 secs only or minimizes for a while. Prior to this I was using ODBC api for both dbs