Fetching property value in script logic!!

Hello Experts,
We are using BPC 7.5 M, I am working on a script logic and need to fetch a value of a property of a dimension member where dimension member is itself defined in some property.
We have a Org dimension which has a property "FORECAST_UNIT" and this property contains a member Id of Org dimension itself, In my script logic I need to fetch value of "Currency" property for the Org dimension member defined in "FORECAST_UNIT" property.
Please Advice.
Thanks & Regards,
Rohit

Hi Roberto,
Attached code (In Image) is of our Aggregate Forecast Unit logic, Every Org (Entity) has an forecasting unit defined in Forecasting unit property in Org dimension and Forecasting unit is also a member of Org dimension, below logic aggregates the data at Forecasting unit level:
The issue is that I need to check before the code marked in Red executes that if Org-- Forecasting unit -- Currency is USD then only Red part of logic should execute.
Thanks & Regards,
Rohit

Similar Messages

  • Incorrect value with Script Logic

    Hello,
    From initial value called 2008.ORC we want to calculate for each month the percentage , from child DIASMES.
    Now, with the script logic ( I´ll put down later) we have an incorrect value in the column 2008.TOTAL.
    In other words, I´m sure I´m wrong with "WHAT" or "WHERE sentence or maybe the operation "FACTOR=USING/TOTAL" fails because the crossing between dimensions it´s incorrect.
    *RUNALLOCATION
    *FACTOR = USING/TOTAL
    *DIM FABRICA_MAQ WHAT=BAS(FABRICAFF); WHERE=BAS(FABRICAFF); USING=BAS(FABRICAFF);
    *DIM PRODUTOS WHAT=BAS(TOTALPROD); WHERE=BAS(TOTALPROD); USING=SP;
    *DIM TIME WHAT=2008.ORC;WHERE=BAS(2008.TOTAL); USING=BAS(2008.TOTAL);
    *DIM TIPO WHAT=BAS(TOT); WHERE=BAS(TOT); USING=ST;
    *DIM VARIAVEIS WHAT=MIXACABADA; WHERE=MIXACABADA; USING=DIASMES;
    *DIM DATASRC WHAT=INPUT; WHERE=INPUT; USING=INPUT;
    *DIM VERSAO WHAT=BUDGET; WHERE=BUDGET; USING=BUDGET;
    *ENDALLOCATION
    *COMMIT
    The Key is to see in the column 2008.TOTAL ( when we selected  "BAS") the value of parent divided into "DIASMES" !
    Thanks !! 

    Your factor statment references a TOTAL, but you don't reference the total in your DIM statements. If you look at the debug log carefully, you should notice that there's no calculation of a TOTAL value.
    Try something like this. The only reason I move some dimensions from the *RUNALLOCATION up to the *XDIM's is for legibility, since the allocation makes no shifts to these dimensions. The logic should produce the same results, either way.
    // These dimensions have no shift of data.
    *XDIM_MEMBER VERSAO=BUDGET
    *XDIM_MEMBER DATASRC=INPUT
    // I'm assuming here that FACRICAFF is the top member of this dimension.
    *XDIM_MEMBERSET FABRICA_MAQ = <ALL>
    *RUNALLOCATION
    *FACTOR = USING/TOTAL
    *DIM PRODUTOS WHAT=BAS(TOTALPROD); WHERE=BAS(TOTALPROD); USING=SP; TOTAL=<<<
    *DIM TIME WHAT=2008.ORC;WHERE=BAS(2008.TOTAL); USING=BAS(2008.TOTAL); TOTAL=<<<
    *DIM TIPO WHAT=BAS(TOT); WHERE=BAS(TOT); USING=ST; TOTAL=<<<
    *DIM VARIAVEIS WHAT=MIXACABADA; WHERE=MIXACABADA; USING=DIASMES;  TOTAL=<<<
    *ENDALLOCATION
    *COMMIT

  • Using property value in Allocation Logic.

    Hi All,
    Can we use a property value from one dimension as ID for different dimension in the Allocation Logic?
    I have a category Actual which has a value of 2011 in the property YEAR.
    I need to use 2011 in DIM TIME statement.If somehow i can get the 2011 value into a variable then i can use that variable in the DIM TIme statement.
    EX:
    *SELECT(%TIMEYEAR%,"ID",.....................................)   (This is where i need help ..in writing the statement)
    DIM TIME WHAT = [YEAR]=%TIMEYEAR%;  WHERE = %TIMEYEAR%(1).INP;   USING = %TIMEYEAR%(1).INP;
    This would mean:
    DIM TIME WHAT=[YEAR]=2011;   WHERE=2012.INP;   USING=2012.INP;
    Can we get this to work in Allocation Logic?I need to know if i can get the value of the property into the variable?
    Any help is appreciated.
    Thanks,
    KK

    Hi
    I believe using the category property "YEAR" in the logic may not be a good idea. In case of next year, you need to change the property value "YEAR" to 2012...... and so on.
    If you want to bring the current year as variable you can use system variable %YEAR%
    %YEAR% - Returns current calendar year
    DIM TIME WHAT = YEAR=%YEAR%; WHERE = %YEAR%(1).INP; USING = %YEAR%(1).INP;
    Try and let me know
    Thanks

  • Can we calculate difference of  dimension properties values in script logic

    HI
    I have 3 products, whose manufacturing process starting perod and end periods are different for three products. Now I want
    to distribute total  manufactuing cost to those periods only for each product.  how will write script logic  for this senario.
    My system is BPC nw7.5
    Mahi

    Hi,
    So, you want to find the difference between the dates and distribute the cost among them. I dont think this will be feasible using script logic. My suggestion would be use BADI. Script logic cannot do manipulation on the properties. BADI will be much easier. In addition to this, you need to think what should be the destination of the result. Every record is going to generate few records (depending on the number of months).
    Hope this helps.

  • How Acumulated Value in a script Logic

    Hello,
    We facing a problem here, that we cannot acumulated value using  script Logic.
    We need to calculated a account where we need the value to this account in the previous month
    Like That
                                JAN        FEB       MAR       APR        MAY
    ACCOUT
    A                          10           40          45         45            45
    B                           7            30          20         
    C                           3                        -15                  
    In this case we need to save the acumulated value to all months, until the end of the year, even if we dont input value in this months.
    Anyone facing this problem? 
    Best Regards

    You can't use a date display pattern on a text field, it has to be a date field.
    The only way around that is to use scripting to format the date and then put the date in a text field - I've done this using util.printd() (I think - going off the top of my head at the moment) and there's a way to do it with FormCalc too.
    Patterns work well once you get the hang of them. Display is how you want the data to look. Edit is the different ways you allow the data to be entered (multiple date, phone number patterns, etc.). Validate will validate that the Display pattern has succeeded. Data is the format to export.
    I haven't had a chance to look at your new file but if you use 2 date fields with patterns you would just need: dateField2.rawValue = dateField1.rawValue; with dateField2 having date.long{} as the display pattern. Come to think of it you could use Global binding and give the fields the same name and you wouldn't have to do any scripting.
    Radzmar has a good explanation of using multiple edit patterns for dates (English text is part way down): http://thelivecycle.blogspot.de/2011/10/date-patterns.html

  • Use of MEASURES dimension in a RUNALLOCATION in a script logic

    Hi everybody,
    We are trying to use MEASURES dimension inside a RUNALLOCATION in a script logic, because we need to work with the information at a YTD element
    Example:
    It works:
    *XDIM_MEMBERSET C_CATEGORY=%C_CATEGORY_SET%
    *XDIM_MEMBERSET TIEMPO=%TIEMPO_SET%
    *XDIM_MEMBERSET PRODUCT=BAS(TOT_PRODUCT)
    *XDIM_MEMBERSET MARKET=BAS(TOT_MARKET)
    *RUNALLOCATION
              *FACTOR=USING
              *DIM ACCOUNT     WHAT=Cost;          WHERE=Import;           USING=Units;
    //        *DIM MEASURES    WHAT=PERIODIC;      WHERE=PERIODIC;         USING=YTD;  
              *DIM CLIENT      WHAT=CLIENTE_NA;    WHERE=>>>;              USING=BAS(TOT_CLIENT);
    *ENDALLOCATION
    *COMMIT
    It doesn't work:
    *XDIM_MEMBERSET C_CATEGORY=%C_CATEGORY_SET%
    *XDIM_MEMBERSET TIEMPO=%TIEMPO_SET%
    *XDIM_MEMBERSET PRODUCT=BAS(TOT_PRODUCT)
    *XDIM_MEMBERSET MARKET=BAS(TOT_MARKET)
    *RUNALLOCATION
              *FACTOR=USING
              *DIM ACCOUNT     WHAT=Cost;          WHERE=Import;           USING=Units;
              *DIM MEASURES    WHAT=PERIODIC;      WHERE=PERIODIC;         USING=YTD;  
              *DIM CLIENT      WHAT=CLIENTE_NA;    WHERE=>>>;              USING=BAS(TOT_CLIENT);
    *ENDALLOCATION
    *COMMIT
    How can we do it? Is possible to use Measures dimension?
    Any idea out there?
    Kind regards
    Albert Mas

    Hi Albert,
    I believe you are correct that using MEASURES in this way is not possible. Depending on whether you have data in future periods, you may just be able to use the time dimension instead of the measures dimension:
    *DIM TIME WHAT=2010.AUG; WHERE=2010.AUG; USING=2010.TOTAL;
    You could also manually maintain a property and select on the property to do the same thing, which would allow you to exclude future periods.
    Another option might be to make your Units account a balance sheet account, which should make it always behave as a YTD value, or create a second UNITS_YTD account as a balance sheet account and populate it with the Units YTD value using script logic before running the allocation, then use the UNITS_YTD account as your allocation driver.
    Ethan

  • FOR loop in script logic

    Dear Gurus,
    This is the logic I am working with:
    *FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE VALUE OF THE ACCUMULATED DEPRECIATION IS GREATER THAN THE CAPITALIZED ASSET VALUE//
    [ACCOUNT].[#AccumDepr] = (([ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation])>[ACCOUNT].[EQUIPMENT1]? [ACCOUNT].[EQUIPMENT1] : ([ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation]))
    *NEXT
    I am trying to execute the above script logic, but the system is throwing an error that says 
    "Duplicate formula found:  [ACCOUNT].[#AccumDepr] = (([ACCOUNT].[AccumDepr]+......."
    Any idea why this is happening?
    Also, could you please suggest a better way of writing the above code?
    Thanks,
    Vijay.

    As a testing scenario, I have calculated the depreciation in a different part of the same logic.  Here it is:
    //This logic calculates the accumulated depreciation amount for the time period specified in the logic
    //NOTE:  This logic is not very dynamic and is only valid for the accounts specified in the logic
    //A FUTURE ENHANCEMENT TO THIS LOGIC WOULD BE TO MAKE THE "LIFE" OF THE ASSET A $DATAMANAGER VARIABLE$
    //AND WRITE A CUSTOM SCRIPT LOGIC
    //BEGIN SCRIPT LOGIC FILE//
    //CONSTANTS
    *XDIM_MEMBERSET CATEGORY=ACTUAL
    *XDIM_MEMBERSET ACCOUNT=Depreciation,AccumDepr,NBV_EQUIPMENT1,EQUIPMENT1
    *XDIM_MEMBERSET ENTITY=STORE1
    *XDIM_MEMBERSET TIME=2008.JAN,2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //BEGIN: POPULATE NET BOOK VALUE FROM CAPITALIZED ASSET VALUE //
    *WHEN ACCOUNT
    *IS EQUIPMENT1
         *WHEN TIME
         *IS 2008.JAN
              *REC(FACTOR=1,ACCOUNT="NBV_EQUIPMENT1")
         *ENDWHEN
    *ENDWHEN
    *COMMIT
    //END: POPULATE NET BOOK VALUE FROM CAPITALIZED ASSET VALUE   //
    //BEGIN: CALCULATE DEPRECIATION //
    *WHEN ACCOUNT
    *IS EQUIPMENT1
         *REC(EXPRESSION=(%VALUE%/6),ACCOUNT="Depreciation")
    *ENDWHEN
    *COMMIT
    //END: CALCULATE DEPRECIATION   //
    //BEGIN: CALCULATE ACCUMULATED DEPRECIATION AND NET BOOK VALUE //
    *FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE VALUE OF THE ACCUMULATED DEPRECIATION IS GREATER THAN THE CAPITALIZED ASSET VALUE//
    *WHEN CATEGORY
    *IS ACTUAL
    *REC(EXPRESSION=IIF((([ACCOUNT].[AccumDepr] + [ACCOUNT].[Depreciation])>[ACCOUNT].[EQUIPMENT1]), [ACCOUNT].[EQUIPMENT1], [ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation]))
    *ENDWHEN
    *NEXT
    //*FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE NET BOOK VALUE OF THE ASSET IS LESS THAN ZERO//
    //*[ACCOUNT].[#NBV_EQUIPMENT1] = (([ACCOUNT].[NBV_EQUIPMENT1]-[ACCOUNT].[Depreciation])>0? ([ACCOUNT].[NBV_EQUIPMENT1]-[ACCOUNT].[Depreciation]) : 0)
    //*NEXT
    *COMMIT
    //END: CALCULATE ACCUMULATED DEPRECIATION AND NET BOOK VALUE   //
    //END SCRIPT LOGIC FILE//
    Please let me know if there is a better way to write this code.
    Thanks for all your help.

  • Handling Ranges in Script Logic

    Hi Experts
    Is it possible to put logic to check a range of values in Script Logic.
    For example, if I need to check if the value in Quantity Account is between 200 and 800, then only some Quantity Discount is calculated against this.
    What command should one use for this
    Any input would be very helpful.
    Regards
    Krishnendu

    Hi Krishnendu,
    I believe that you can use MDX or a BADI to do this. Using MDX, for example, the following should write 100 to the QUANT_DISC account in the event that QUANTITY is greater than 200 and less than 800:
    [ACCOUNT].[QUANT_DISC] = IFF(([ACCOUNT].[QUANTITY]) > 200,IIF(([ACCOUNT].[QUANTITY])<800,100,0),0)
    This is just example MDX code - you'll have to adapt and test yourself. I suggest using the script logic tester to speed the process. Performance may be less than ideal, and you can certainly implement this in a BADI in that event.
    It would be nice if it were possible to do this using WHEN/IS statements in script logic, but at present conditional logic based on measure values is not supported in that context.
    Ethan

  • [ASK] Get One Row of Property Value From Dimension in Script Logic

    Hello, i need help about how to get one row of property value from dimension in script logic.
    Let say there is CATEGORY dimension and the members are like this :
    ID                                                  YEAR   Status
    PLAN_2011                                   2011        A
    PLAN_2011_V1                            2011        I
    ACTUAL_2011                              2011        I
    FORECAST_2011                         2011        I
    FORECAST_2011_V1                  2011        A
    PLAN_2012                                  2012        A
    PLAN_2012_V1                           2012        I
    ACTUAL_2012                             2012        I
    FORECAST_2012                         2012        I
    FORECAST_2012_V1                  2012        A
    If i scope CATEGORY like this :
    *XDIM_MEMBERSET CATEGORY = [CATEGORY].PROPERTIES("YEAR") = "2011"
    Then i will get member scope like this :
    PLAN_2011                                   2011        A
    PLAN_2011_V1                            2011        I
    ACTUAL_2011                              2011        I
    FORECAST_2011                         2011        I
    FORECAST_2011_V1                  2011        A
    Question :
    In script logic, how can i read the second record of scope and move it to variable ?
    Ex. : I read second record, so i can get the data of second record (PLAN_2011_V1, 2011, A).
    Is there any function to read all record that had been scope ? So i can read all those 5 records.
    Is there any substring or offset function in script logic ? How to use it ?
    Thank you.

    Hi,
    Firstly, when we scope the logic, it doesnt fetch the entire record from the member sheet. It just fetches the ID.
    Secondly, we dont have the feasibility to read only the second ID and skip the others. However, one alternative is that you use the SELECT statement to store all the IDs in a variable, and then use a FOR loop. But this will loop through all the 5 IDs, as per your example. If you want to skip all the IDs except one, you should maintain some property, so that all the IDs are neglected which doesnt have a particular property value.
    Hope you got the idea.

  • Script Logic: Using a property in MDX *REC statement (BPC NW)

    Hi,
    Is it possible to use a Property in an MDX statement without using  *LOOKUP() function? I have script successfully working but it takes 15 minutes to execute and would like to speed it up.
    I understand that [DIMENSION].[MEMBER].Property is not valid syntax, and do not believe NW has any other functions to resolve the issue, except *LOOKUP which takes a long time.
    Specific Example is below:
    I have a piece of script that successfully splits JV Expense by customers. A Profit Share planning driver determines the percentage that each customer is entitled to. Typically this will be 100%, but could be 50% between two customers.
    The PROFIT SHARE planning drivers records, and PARTNER_INCOME transactional records are below:
    ACCOUNT
    ENTITY
    PARTNER
    SIGNED DATA
    PROFIT_SHARE
    UK_001
    PARTNER_A
    0.5
    PROFIT_SHARE
    UK_001
    PARTNER_B
    0.5
    PROFIT_SHARE
    UK_002_PLANNING_DRIVERS
    PARTNER_B
    1.00
    PARTNER_INCOME
    UK_001
    NO_PARTNER
    $5,000
    PARTNER_INCOME
    UK_002
    NO_PARTNER
    $5,000
    UK_001 has two partners that are each entitled to 50% of the $5,000 NET PROFIT.
    For UK_002, one one single Partner is entitled to 100% of the $5,000 NET PROFIT.
    Using script logic, you can scope the Profit Share account (PROFIT_SHARE) - , and use a *REC statement to multiply this by the driver. It would look like:
    *XDIM_MEMBERSET ACCOUNT = PROFIT_SHARE
    *WHEN ACCOUNT
    IS *
    *REC (EXPRESSION = %VALUE% * ([ACCOUNT].[PROFIT_SHARE],[PARTNER].[NO_PARTNER]), ACCOUNT = PARTNER_PROFIT_SHARE)
    *ENDWHEN
    This wouldn't be a problem if the Planning Driver is always stored on the same Entity that the Income is stored on, but for UK_002, the planning driver is stored on another Entity - which is stored in a the PLAN_DRIVER_REF property of the entity. It should use UK_002_PLAN_DRIVERS
    ID (Entity)
    PLAN_DRIVER_REF
    UK_001
    UK_002
    UK_002_PLAN_DRIVERS
    UK_002_PLANNING_DRIVERS
    In this scenario, we need to switch out the Entity used in the MDX, however I do not believe you can use a property in MDX - can anyone confirm?
    I have currently implemented the *LOOKUP functionality to loop through, changing each *LOOKUP partner for each loop.
    Lookup:
    *LOOKUP PLANNING_JV_US
    *FOR %LOOP_ASLS% = %ASL_LOOKUP_LOOP_VARIABLE%        
      *DIM LOOK_%LOOP_PARTNERS%:ACCOUNT = "PROFIT_SHARE"
      *DIM LOOK_%LOOP_PARTNERS%:PARTNER= %LOOP_PARTNERS%
    *NEXT
    *DIM ENTITY = ENTITY.PLAN_DRIVER_REF                   //   Use PLAN_DRIVER_REF Property of Entity
    *ENDLOOKUP
    Scope and *REC:
    *XDIM_MEMBERSET ACCOUNT = PROFIT_SHARE
    *WHEN ACCOUNT
    IS *
    *FOR %LOOP_PARTNERS% = %PARTNER_LOOKUP_LOOP_VARIABLE%      // 1000 Partners
    *REC(EXPRESSION = %VALUE% * LOOKUP(LOOK_%LOOP_PARTNERS%), PARTNER= %LOOP_PARTNERS%, ACCOUNT = TCOJVSHAR_CALC, AUDIT_ID = PP_EXPENSE_BY_PARTNER)
    *NEXT
    *ENDWHEN
    The problem with the above, is that because the Lookup is being generated for every single Partner, there are significant numbers of loops.
    Does anyone know of another way this can be implemented in Script Logic? Otherwise we'll need to explore BAdI route.
    Thanks,
    Nick

    Hi Nick,
    Use property in LOOKUP - will dramatically speed up the calculation without FOR/NEXT.
    Vadim

  • Concatenate text and property of dimension in script logic

    hello experts,
    how to concatenate text and property of dimension in script logic?
    as example:
    dimension : interco
    property    : mgmtallocdefcc
    *WHEN TIME.YEAR
    *IS %YEAR_VAR%
    *REC(EXPRESSION=%VALUE%,ACCOUNT=12345,ENTITY="I_" [INTERCO],MGMTALLOCDEFCC)
    *NEXT
    then it will read all as text: I_[INTERCO].MGMTALLOCDEFCC
    for example the value of property mgmtallocdefcc in interco dimension (INTERCO.MGMTALLOCDEFCC) is ABCDE.
    what i expect is :I_ABCDE
    thanks!

    Hi Yoki,
    Concatenation is only possible between text and variables %VAR% or $VAR$.
    Like ENTITY=I_%SOMEVAR%
    But in your case instead of concatenate you have to use other property like TARGETENTITY having valid ENTITY members:
    ENTITY=INTERCO.TARGETENTITY
    B.R. Vadim

  • How to get the old value of any property in DRM script or formula

    Hi,
    Can we somehow capture the old property value in DRM formula or Script.
    Let's say, I have property ABC with possible values as 'Yes' and 'No'.
    Now once this property value is changed to Yes, a restriction has to be placed so that no-one can change the property value to No.
    Can this be achieved in DRM?

    Can we somehow capture the old property value in DRM formula or Script.
      - No, not possible with Formula, to some extent you can load a script from Transaction History, that will just give you the latest values for the node Properties.
       - If you just wish to report out the Node property current and previous values, you can perform Audit or Execute a Transaction log Export.
    Let's say, I have property ABC with possible values as 'Yes' and 'No'.
    Now once this property value is changed to Yes, a restriction has to be placed so that no-one can change the property value to No.
    - Please create a validation to check if the Property value is 'Yes', if so,please throw an exception so that no one can perform further updates.
    -Murali

  • Cumulative value calculation in script logic

    Hi,
      Assuming i have the following values:
    Acc1, time1 = 2
    Acc1, time2 = 10
    Acc1, time3 = 20
    Acc1, time4 = 30
      What script logic can i write such that the end results are:
    Acc2, time1 = 2
    Acc2, time2  = 12
    Acc2, time3 = 22
    Acc2, time4 = 32
      time1 could start from any month of the year, and the next month is always one month after the current month (i.e. if time1 = june, then time2 = july).
      Basically the above calculation involves some sort of cumulative effect. I would like to have this cumulative amounts stored in the database, hence i don't want to rely on measures="ytd" in the report.
    Cheers

    Hi Raja,
    You can get the daywise cumulative value for the user selected date range by creating a formula on the KF & turning on the 'Cumulated' checkbox in the 'Calculations' tab.
    --Priya

  • BPC 7.0 MS Script-Logic problem: New values used, old values written?

    I am trying to using BPC Script logic to update my Sales cube, specifically Revenue=Units*Price and Price=Revenue/Units using the "Price" stored in a seperate Price cube.
    Inside default.lgl, I am *INCLUDE-ing my own script:
    *LOOKUP PRICES
    *DIM PREIS:ACCOUNT="Price"
    *ENDLOOKUP
    *WHEN ACCOUNT
    *IS "Units"
    *REC(FACTOR=LOOKUP(PREIS),ACCOUNT="Revenue")
    *IS "Revenue"
    *REC(EXPRESSION=%VALUE%/LOOKUP(PREIS),ACCOUNT="Units")
    *ENDWHEN
    *COMMIT
    Now, when I insert new "Units" values using the std. Excel template, strange things happen:
    - The Revenues seems to be computed and updated correctly in the cube (if I check them using excel templates, they show up).
    - The Units seem to have the values they had before... seems they get old values ?!
    E.g. if I have several write operations say, I write units=2,3,4 and price is constant 10,
    the values in the cube seem to be (table):
    value written, units in cube, revenue
    3 , 2 , 30
    4,  3 , 40
    The new value is somewhere in the MS Analysis cube, otherwise, how could later be the new value be shown, although the excel templates seem to show old values?
    Any explanation for that strange behaviour?

    I simplified and wrote the prices in the same cube as I send the data from with the excel template.
    I tried using:
    *WHEN ACCOUNT
    *IS "Units"
    [Account].[#Revenue]=[Account].[Units]*[Account].[Price]
    *ENDWHEN
    *COMMIT
    *WHEN ACCOUNT
    *IS "Revenue"
    [Account].[#Units]=[Account].[Revenue]/[Account].[Price]
    *ENDWHEN
    *COMMIT
    Now, if units are send from the excel template, revenue is calculated correctly.
    If I enter revenue instead, seems that the 1st block is executed as well (why????!!!/how to avoid - I use *WHEN - what else should I do? )  which would explain the behaviour I get the old values for Units and Account again...
    Related: How can I use "*WRITE_TO_FILE"? I tried both
    *WRITE_TO_FILE Mylog.txt
    *WRITE_TO_FILE "Mylog.txt"
    But I can't find these file after sending data through the excel template... Do I have to create the files manually first or give full Path Names?
    Thanks!

  • Script logic using Dimension.Property

    Hello, Gurus!
    I have next problem with script logic:
    Dimension Company
    Company1
    Company2...
    Dimension Document
    Document1
    Document2...
    Dimension Document has property PCompany, where there is Company ID.
    I need to summation all data for Company=Company2 (for example).
    How can I choose records from Dimension Document for PCompany=Company2 with BPC script logic?
    Thanks!
    Regards,
    Svetlana.

    Hello Gersh!
    Thank you very much. It's worked.
    I should clarify the question
    I have several company which I choose with property of Company (for example, INTERCOMP=Y)
    So, I have :
    *SELECT(%COMPANY%,ID,COMPANY,INTERCOMP=Y)
    *WHEN Document.PCompany
    *IS  %COMPANY%
    *ENDWHEN
    This construction doesn't work.
    Regards,
    Svetlana.

Maybe you are looking for