Dynamic calc to calculate the sum of the months in the years

I have a 6.5.5 Essbase cube with a size of periods containing months and weeks as members stored, labeled as time. I also have a dimension of the year that contains exercises and these members can also be stored. I have to add together the first month of this year and the last month of last year.

I can do this:

M12-LY + M01-> TY >

Gives me the right answer and I could configure IF statements through Sunday to the correct value of LY, but I would like the formula dynamically select the correct LY based on the year TY that the user puts in place in their query. I tried some combos using @prior and @shift and it is not working properly.

Here is what I thought might work:

M01 + (@SHIFT (Year-1));

This formula results by adding just the M01 and nothing of LY. Any thoughts on how to configure this formula?

Published by: user11908498 on 16 Sep, 2009 05:55

Published by: user11908498 on September 16, 2009 11:42

What your year Sun look like?

The support is that it looks like this

Year
-2008 (LY)
-2009 (TY)

So if you're on TY, then shift - 1 (or before) it would go to the 2008 (LY)

By chance your year sun goes in the opposite direction

Year
-2009 (TY)
-2008 (LY)

In this case, you will have to go the other way

"M01" + @SHIFT ("M12", 1, @CHILDREN ("Year"));

Tags: Business Intelligence

Similar Questions

  • How to calculate the year last month in obiee 11g?

    Hello

    I want to calculate the year last month in obiee 11g. I tried DB.

    -SELECT TO_CHAR (ADD_MONTHS (SYSDATE,-12), 'YYYYMMDD') FROM DUAL;

    Using the above query, year last month is -"08-01-2015"

    But I want to get the same result using timestampadd() in obiee 11g.

    Please help me,

    Thanks in advance,

    A.Kavya

    Hello

    TIMESTAMPADD (SQL_TSI_YEAR-1, CURRENT_DATE)

  • help create dynamic measures to calculate the total amount in the form of tabluar

    Hello world

    We using apex 4.2 and start re-writing some existing applications originally designed in 3.0.   I was wondering if someone could help me with the following scenario.

    I have a tabular presentation several recording based on a collection called "species_collection".  The form allows fisherman to create an electronic ticket which contains one species, quantity, price, total of the amounts and other descriptive information on the species.  I created a dynamic action (with lots of help from this forum) to automatically update the collection when a field is changed.

    I am now in the hope of creating a dynamic action that will automatically do the following:

    • When the quantity is changed, recalculate the total of the amounts as quantity * price
    • When the price is changed, recalculate the total of the amounts as quantity * price
    • When dollars changed, recalculate the $ amount/total price.
    • When the total amount is changed, recalculate the OVERALL TOTAL

    Currently, I use embedded calls to javascript and then to application processes... but they are difficult to debug, and it seems that dynamic action could be cleaner and simpler.

    the current request is (I've included the concerned fields because it is an important application):

    SELECT
    apex_item.text(1,seq_id,'','','id="f01_'||seq_id,'','') "DeleteRow",
    seq_id,
    seq_id display_seq_id,
    .....
    apex_item.text(10,TO_NUMBER(c010),5,null, 'onchange="setTotal('||seq_id||')"','f10_'||seq_id,'') Quantity,
     
    apex_item.text(11,TO_NUMBER(c011),5,null,'onchange="getPriceBoundaries('||seq_id||')"','f11_'||seq_id,'') Price,
    
    apex_item.text(12, TO_NUMBER(c012),5,null, 'onchange="changePrice
    ('||seq_id||')" onKeyDown="selectDollarsFocus('||seq_id||',event);"','f12_'||seq_id,'') Dollars
     ......
    from apex_collections
     where collection_name = 'SPECIES_COLLECTION' order by seq_id 
    

    each field, QUANTITY, PRICE, $ has an ONCHANGE that then call the application processes that update the collection.

    <script language="JavaScript1.1" type="text/javascript">
    
    function setTotal(row)
    {
       //quantity was entered into form, get values
       var price = $x('f11_'+row);
       var total = $x('f12_'+row);
       var quantity = $x('f10_'+row);
       var nquantity = parseFloat(quantity.value);
       var ntotal;
       var nprice;
       nquantity = nquantity.toFixed(3);
       quantity.value = nquantity;
       //if quantity and price both have values calculate total and save
       if(quantity.value > 0 && price.value > 0)
       {
          ntotal = quantity.value * price.value;
          total.value = ntotal.toFixed(2);
       }
       else
       {
             //if quantity and total both have values calculate price and save
          if(quantity.value > 0 && total.value > 0)
          {
             nprice = total.value/quantity.value;
             price.value = nprice.toFixed(6);
             //check to see if the price entered falls within min/max for that species
             var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=PriceBoard',0);
             get.add('SPECIESPRICE',price.value);
             get.add('SEQUENCEID',row);
             gReturn = get.get();
             if ((gReturn == 'Price entered is too high') || (gReturn == 'Price entered is too low')){alert(gReturn);}
          }
          else  if (quantity.value > 0)
                   total.value = '';
                else
                { 
                     total.value = '';
                     quantity.value = '';
                }
       }
      //saveQPD(row);
       setOverallTotal(); 
    }
    function setOverallTotal()
    {
       var total = 0;
       var nTotal;
       for(i=1;i<=rowCount;i++)
       {
          if(parseFloat($x('f12_'+i).value) > 0)
          {
             total = total + parseFloat($x('f12_'+i).value);
          }
       }
       ntotal = total.toFixed(2);
       document.getElementById("P110_TOTAL").value = ntotal;
       var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=nullProcess',0);
       get.add('P110_TOTAL',ntotal);
       gReturn = get.get();
    }
    function getPriceBoundaries(row) 
    {
       //price was entered into form get all values
       var quantity = $x('f10_'+row);
       var price = $x('f11_'+row);
       var total = $x('f12_'+row);
       var ntotal;
       var nquantity;
       var nprice = parseFloat(price.value);
       nprice = nprice.toFixed(6);
       price.value = nprice;
       //check to see if the price entered falls within min/max for that species
       var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=PriceBoard',0);
       get.add('SPECIESPRICE',price.value);
       get.add('SEQUENCEID',row);
       gReturn = get.get();
       if ((gReturn == 'Price entered is too high') || (gReturn == 'Price entered is too low')){alert(gReturn);}
       //if quantity and price both have a value calculate the total
       if(quantity.value > 0 && price.value > 0)
       {
          ntotal = quantity.value * price.value;
          total.value = ntotal.toFixed(2);
       }
       else
       {
          //if total and price both have a value calculate the quantity
          if(total.value > 0 && price.value > 0)
          {
             nquantity = total.value/price.value;
             quantity.value = nquantity.toFixed(3);
          }
          else
          {
             if(price.value > 0)
                  total.value = '';
             else
             {
                  total.value = '';
                  price.value = '';
             }
          }
       }
       saveQPD(row);
       setOverallTotal();
    }
    function saveQPD(row)
    {
       var quantity = $x('f10_'+row).value;
       var price = $x('f11_'+row).value;
       var total = $x('f12_'+row).value;
       //save quantity
       var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=setQuantity',0);
       get.add('SETVALUE',quantity);
       get.add('SEQUENCEID',row);
       gReturn = get.get();
    //   alert(gReturn);
       //save price
       get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=setPrice',0);
       get.add('SETVALUE',price);
       get.add('SEQUENCEID',row);
       gReturn = get.get();
    //   alert(gReturn);
       //save total
       var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=setTotal',0);
       get.add('SETVALUE',total);
       get.add('SEQUENCEID',row);
       gReturn = get.get();
    //   alert(gReturn);
       
    }
    function changePrice(row)
    {
       //total was entered get all rows
       var quantity = $x('f10_'+row);
       var price = $x('f11_'+row);
       var total = $x('f12_'+row);  
       var ntotal = parseFloat(total.value);   
       var nprice;
       var nquantity;
       ntotal = ntotal.toFixed(2);
       total.value = ntotal;
       //if quantity and total were entered calculate price.
       if (quantity.value > 0 && total.value > 0)
       {
          nprice = total.value / quantity.value; 
          price.value = nprice.toFixed(6); 
          var get = new htmldb_Get(null,&APP_ID.,'APPLICATION_PROCESS=PriceBoard',0);
          get.add('SPECIESPRICE',price.value);
          get.add('SEQUENCEID',row);
          gReturn = get.get();
             if ((gReturn == 'Price entered is too high') || (gReturn == 'Price entered is too low')){alert(gReturn);} 
       }
       //if price and total were entered calculate quantity.
       if (price.value > 0 && total.value > 0)
       {
          nquantity = total.value / price.value;  
          quantity.value = nquantity.toFixed(3);
       }
       if (price.value > 0 && quantity.value > 0)
       {
           ntotal = quantity.value * price.value;
           total.value = ntotal.toFixed(2);
       }
     
           
       saveQPD(row);
       setOverallTotal();        
    }
    
    function selectDollarsFocus(pRow,event)
    {
        tabPress = 0;
        KeyCheck(event);
        if($x('f11_'+ pRow))
        {
                if(KeyID == 9)
                {
                    $x('f14_'+ pRow).focus();
                    onFocusAreaFished(pRow);
                    tabPress = 1;
                }
        }
        else
        {
            if($x('f18_'+ pRow))
            {
                    if(KeyID == 9)
                    {
                        $x('f18_'+ pRow).focus();
                        tabPress = 1;
                    }
            }
            else
            {
                if(--pRow <= rowCount)
                    if(KeyID == 9)
                    {
                        $x('f08_'+ pRow).focus();
                        tabPress = 1;
                    }
            }
            
        }
    }
    
    
    
    </script>
    

    I'm not very familiar with javascript... but looks like there must be a simpler way.   Any thoughts on how I could address the issue?   Thank you!

    I have it.  trial and error.

    the DYNAMICS of the evolution of prices and the $ action are now two separate dynamic actions.

    Action DYNAMICS to update the column from the collection is now last... and it seems that everything works... until I have change something again.

    Thanks again for your help.

    Karen

  • How to calculate the dynamically created cells?

    Hello

    Please can anyone provide us with a simple code to calculate the cells created dynamically using Add button line?

    Thanks anyway

    Header
    1Quantity [1]
    2Quantity [2]
    FooterTotal

    Hello

    Write this script on the Calculate the value TotalAmount field event (using FormCalc):

    $.rawValue = Sum(parentRowName[*].Amount.rawValue);
    

    Hope this will help you.

    Thank you.

    -

    Afonso

  • Impossible to deploy feedback and dynamic calc (property data store) to the cube of the essbase EPMA (BSO).

    Hi all

    We use the Hyperion 11.1.2.3.500 version. We have EPMA Essbase, Planning.

    Currently, we are facing 2 problems with application essbase (BSO) EPMA.

    1. the comments which are available in EPMA are not able to deploy to Essbase. Once we click on deploy option is giving in the success and also to give that error

    "Error affecting comment (account-12345) Member Accountxxx (3375).


    Tried to put comments in the essbase outline and not to deal with all the questions. So question is make observations of EPMA to Essbase.


    2. we have some account in which are dynamic calc in EPMA. After deployment, the members come to Essbase as store.


    Attempted to assign ownership of the data storage from the dynamic store Calc in Essbase outline, then checked and recorded. No problems were detected. It is by deploying of EPMA to Essbase.


    Thank you



    I ran into a similar issue.  You have first accounts second period?  Then try in first period and account.  It cleared my problem.

  • How to calculate the sum of the fields to fill?

    Hello!

    My question is how can I calculate the sum of filled areas?

    For example, in a PDF document, I have a few fields that must be filled out with name and surname and the end of the document, another field that is the sum of the fields "FullName" which shows how many people is in this document. The operation should not take into account white/empty areas.

    Now, I know that I could do with the simple calculation "(+) sum" but I have to put a '1' for each of this area and I would like to avoid this.

    Yes, it's the first option I described. In this case, you can use this code:

    var total = 0;
    for (var i=1; i<=79; i++) {
        if (this.getField("Nume si prenume "+i).valueAsString!="") total++;
    }
    event.value = total;
    
  • Calculate the sum of the duration stored in format HH24

    Dear professionals,

    I use Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production. I stored length of certain events in the table TIME_DURATION as as follows (format h24:mi):

    CREATE TABLE "TIME_DURATION" ("ID" NUMBER(11,0), "HOURSMINUTES" VARCHAR2(5));
    
    Insert into TIME_DURATION (ID,HOURSMINUTES) values ('5','00:55');
    Insert into TIME_DURATION (ID,HOURSMINUTES) values ('7','00:18');
    Insert into TIME_DURATION (ID,HOURSMINUTES) values ('9','06:34');
    Insert into TIME_DURATION (ID,HOURSMINUTES) values ('15','00:12');
    Insert into TIME_DURATION (ID,HOURSMINUTES) values ('17','09:50');
    INSERT INTO TIME_DURATION (ID,HOURSMINUTES) VALUES ('41','12:39');
    

    select * from time_duration;
    
            ID HOURS
    ---------- -----
             5 00:55
             7 00:18
             9 06:34
            15 00:12
            17 09:50
            41 12:39
    
    6 rows selected.
    

    Now, I want to calculate the total time for all events (sum of all specific times). In this case, it should be 30 hours and 38 minutes.

    Any help would be much appreciated.

    Thanks in advance.

    Hello

    So, you want to add a number of lines varibale.  This sounds like a job for the SUM function.  AMOUNT of work on numbers, no channels such as time, so use TO_NUMBER to convert strings to numbers, so you can add them.  If you want to display the result as a string, you can use TO_CHAR to convert the sum into a string.

    WITH got_total_minutes AS

    (

    SELECT SUM ((TO_NUMBER (SUBSTR (heure, 1, 2) * 60)))

    + TO_NUMBER (SUBSTR (hour 4))

    ) AS total_minutes

    OF time_duration

    )

    SELECT TRUNC (total_minutes / 60). ':'

    || To_char (MOD (total_minutes, 60))

    , "FM00.

    ) AS total_hours_minutes

    OF got_total_minutes

    ;

    The output is not quite what you asked:

    TOTAL_HOURS_MINUTES

    --------------------

    30: 28

    If you really want 30:38', explain how to get it.

    This solution assumes that time always is always 5 characters (2 digits, a separator and another of 2 digits) as it is in your sample data.

    If your actual data aren't like your sample data, the same approach still works, but the SUBSTR expressions will be more complicated.

    adnanBIH wrote:

    Dear professionals,

    I use Oracle Database 11 g Enterprise Edition Release 11.2.0.4.0 - 64 bit Production. I stored length of certain events in the table TIME_DURATION as as follows (format h24:mi):

    1. CREATE TABLE 'TIME_DURATION' ('ID' NUMBER (11.0), VARCHAR2 (5)) 'HOUR '.
    2. Insert into TIME_DURATION (ID, TIME) values ('5',' 00:55 ');
    3. Insert into TIME_DURATION (ID, TIME) values ('7',' 00:18 ');
    4. ...

    Thanks for posting the CREATE TABLE and INSERT.

    ID is a NUMBER, so do not use quotes around it:

    Insert into TIME_DURATION (ID, TIME) values (5, ' 00:55 ');

    Insert into TIME_DURATION (ID, TIME) values (7, ' 00:18 ');

    ...

    Depending on how you plan to use the hour, you may want to store a NUMBER, also, or maybe an INTERVAL DAY TO SECOND.

  • Adobe Acrobat Standard DC - calculate, the value is the "sum" of

    The "text field properties / calculate / value is the 'sum' of the following fields / pinch / field selection"window does not provide any options to select. "  I formatted all the fields in the source & field sum as 'number' and out spaces in domain names.  My version of Acrobat Standard DC excludes a Sum function?  Thank you, all!

    It displayed fine. It looks good, so I don't know why there is no fields displayed when you click the button to 'Pick '. I always use the JavaScript option, but you can try the option of simplified field notation to work around the problem. You need to enter something like:

    Field1, Field2, field3 and field4

    Where are the names of the fields that you want to calculate the total, so change to match your domain names.

  • How to calculate the sum of two digital form fields based on the selection of the checkbox.

    I have a form in Acrobat Pro who needs a custom calculation. How to calculate the sum of two digital form fields based on a selection of the checkbox. I have three number fields. Field-A and B are simple one or two digits. Field-C is the sum, or the total field. I want to field-C have a control box which, when turned on and off, just gives a. gives the sum of A + B

    _ Field - 2

    _ Field - A 4

    [check] _ _ field - 6 C

    [disabled] _ _ field - 2 C

    Thank you

    The custom field C calculation script could be:

    (function () {
    
        // Get the values of the text fields, as numbers
        var v1 = +getField("A").value;
        var v2 = +getField("B").value;
    
        // Set this field's value based on the state of the check box named "CB"
        if (getField("CB").value !== "Off") {
            event.value = v1 + v2;
        } else {
            event.value = v1;
        }
    
    })();
    

    Replace 'A', 'B', and 'CB' with the real names of the fields.

  • Calculate the sum of the columns

    Hello!

    Am using jdeveloper 11.1.2.1

    I created a table VO based EO. I need to calculate the sum of the column named price.

    I use the expression PoView.sum ("Price"). In this PoView is the name of VO and the price is the name of the column.

    While spin AMModule I got an exception like

    PoView name not found in the given object.

    Hello

    You must use the name accessor EO or VO instead of the name of VO.
    See https://blogs.oracle.com/adf/entry/using_groovy_aggregate_functions_in (there are even the same error message in one of the comments of this blog)

    concerning
    Peter

  • Calculate the sum involved new VO

    Gurus,

    I want to have a sum of column values in a table. I looked at a number of post on OTN, but it does not work
    Created a transitional attribute in the VO. expression and passed to the next value
    VO.getRowSet().sum("((Mtd == null) ? 0 : Mtd)
    also tried
    adf.object.getRowSet().sum("((Mtd == null) ? 0 : Mtd)
    and
    object.getRowSet().sum("((Mtd == null) ? 0 : Mtd)
    MTD is the column in the original Version I want to calculate the total

    Can you please advice what's not here

    thnks

    Published by: in the line of fire on August 10, 2011 10:46

    I've tried this so 11.1.1.4, not 11.1.1.5 but it should work.

    You can keep the condition in the expression:
    object.getRowSet (.sum) (' bat == null? 0: Mtd')
    to make sure that you have no problem with null values.

    Apart from this, make sure that everything is in the type of data in the database and the VO.

    Gabriel.

  • CALCULATE the sum of the amounts?

    Hey guys!

    This script:
    CLEAR      COMPUTES 
    CLEAR     BREAKS
    
    SET     feedback     off
    SET     pagesize     5000
    SET     linesize     50
    SET     echo          off
    SET     heading          on
    SET     verify          off
    
    COLUMN     User format     A8
    COLUMN     Files format     999999999
    COLUMN     Docs format     999999999
    COLUMN     Pages format     999999999
    
    COMPUTE SUM LABEL TOTAL OF "FILES", "DOCS", "PAGES"
    
    PROMPT     ************************************************** 
    PROMPT     *         Monthly File Activity by User          *
    PROMPT     ************************************************** 
    PROMPT      
    PROMPT      
    ACCEPT     StartDate     DATE FORMAT 'MMYYYY'      PROMPT 'Enter the month and year (MMYYYY): '
    PROMPT     
    PROMPT      List of users:
    PROMPT      One
    PROMPT      Two
    PROMPT      Three
    PROMPT      Four
    PROMPT      Five
    PROMPT      Six
    PROMPT      Seven
    PROMPT     UNKNOWN
    PROMPT       
    PROMPT     Type 'ALL', or leave blank, to select all users.
    PROMPT      
    ACCEPT     UserChoice     DEFAULT 'ALL'     PROMPT 'Please enter a user: '
    
    
    SELECT
         (CREATOR_ID
                       WHEN     '1'     THEN     'One'
                     WHEN     '2'     THEN     'Two'
              WHEN     '3'     THEN     'Three'
              WHEN     '4'     THEN     'Four'
              WHEN     '5'     THEN     'Five'
              WHEN     '6'     THEN     'Six'
              WHEN     '7'     THEN     'Seven'
              ELSE     'UNKNOWN'
              END)     "USER",
         count       (distinct(substr(DOC_NAME,1,9))) AS Files,
         count     (DOC_IMAGE) AS Docs,
         sum     (DOC_PAGE) AS Pages
    FROM
         TABLE1,
         TABLE2
    WHERE
         DOC_DATE to_date('&StartDate','MMYYYY') AND last_day(to_date('&StartDate','MMYYYY'))
    AND
         CREATOR_ID not in ('Thing','8','9')
    AND
         ((CREATOR_ID
                       WHEN     '1'     THEN     'One'
                     WHEN     '2'     THEN     'Two'
              WHEN     '3'     THEN     'Three'
              WHEN     '4'     THEN     'Four'
              WHEN     '5'     THEN     'Five'
              WHEN     '6'     THEN     'Six'
              WHEN     '7'     THEN     'Seven'
              ELSE     'UNKNOWN'
              END) = UPPER('&UserChoice')
         OR
         '&UserChoice' = 'ALL')
    GROUP BY
         CREATOR_ID
    /
    produces this result:
    USER          FILES       DOCS      PAGES
    -------- ---------- ---------- ----------
    One             261       4276      18124
    Two             364       5954      26913
    Three           109       1996       8243
    Four            178       3635      14554
    Five            104       2657      11662
    Six             308       6639      27887
    I would like for a labeled sum TOTAL at the bottom of these figures. I thought that COMPUTE would take care of this, but it's not. Am I missing something? It will not add these to the top because they are already money from specific users? Insight? I'm new to SQL and would like to be pointed in the right direction. Thanks for your expertise!

    I'm on a 10g system.

    Calculation is not SQL and SQL * more.
    The general syntax is
    calculate the sum of... the * | * report

    followed by
    break the report
    When this is necessary.

    -----------
    Sybrand Bakker
    Senior Oracle DBA

  • How to change all the level made of stored for dynamic calc

    Hi all

    I have about 500 members of a level and I want to change their property of stored in dynamic Calc.
    I have not the dimension generate files and my outline extractor does not work (throwing an error from the api).
    Is he in any case other than these I can do without dimension of generation files? (with a new file of rules etc.)

    Thank you.

    First, the error from the API may be a known issue with outline Extractor:

    http://www.appliedolap.com/files/olapunderground/outline-Extractor/Essbase%20error%201042006%20when%20customer%20tries%20To%20do%20too%20many%20connections%20from%20one%20machine.PDF

    Or you can update the members directly from the sketch in the EA. And you can select several members by using the ctrl or SHIFT keys to change all the properties at a time.

    Or you can retrieve the members in Excel, click format for a dim build file that modifies the property.

  • calculate the sum of the two columns - display the result in the third column

    Hello

    I have a report and I want to calculate the sum of the two columns of the report and display the total in the third column.

    For example: Sample_My_Report

    Col1 Col2 (Col1 and Col2) Total

    3-7-10


    can someone help me with this question.

    Thank you.

    Hello:

    If your report is an IR you can use the menu "Tool" to add columns calculated at the State

    CITY

  • Is there a way to dynamically calculate the values for the IN operator?

    I want to know if there is a way to dynamically calculate the criteria to include within an IN operator in the WHERE clause. "For example when I try to run the following I get an Oracle error message ' OR!-01722: invalid number." The script below is just an example to help illistrate the problem, I don't want to hardcode the values assigned to the v_test directly within the IN operator because the values of v_test will change from user to user.

    DECLARE

    v_test VARCHAR2 (10): = '1,15,25,55';
    v_tmp VARCHAR2 (50): = NULL;

    BEGIN
    SELECT d.metric_title IN the tbl_health_metric_definition v_tmp d
    WHERE d.metric_status = 'Active' AND d.metric_id IN (v_test);
    END;

    You can convert the string "1,15,25,55" online like this

    SQL> select regexp_substr('1,15,25,55' ,'[^,]+', 1, level) list
      2    from dual
      3  connect by level <= NVL( LENGTH( REGEXP_REPLACE( '1,15,25,55' , '[^,]+', NULL ) ), 0 ) + 1
      4  /
    
    LIST
    ----------
    1
    15
    25
    55
    

    and use this selection in your IN clause.

Maybe you are looking for