MDX in DIM Logic

I heard that using MDX is not ok in Dim Logic...could someone please explain why that is? Thanks.

I'm speaking here regarding BPC on MS in particular; I'm not sure if the exact same situation exists on NW.
The other concern with dimension logic (as opposed to script logic) is that the formula must be evaluated whenever the user queries for that calculated member (i.e., runs the report). Each subsequent time the member is queried, it must be re-calculated. The result is only stored in the OLAP memory, which may be cleared for other purposes by Analysis Services, depending on many different factors outside your control.
Script logic, on the other hand, runs the calculation once ( when the data first changes, or when the batch logic command is given), and stores the result to the database. This normally makes data retrieval much faster, and allows you to schedule complex or long calculations during off-peak times.
Within script logic, there's still an option to use MDX syntax, but the performance is very poor compared to other scripting options.

Similar Messages

  • Reg:MDX in Script Logic

    Hi Experts,
                      I have a scenerio is that i have to collect selected basemembers and store in a variable and use that one in allocation.
    Can anyone give me idea how to use MDX in grouping all members to a variable
    Some thing like this.
    *SELECT(%NOPLAN%,"[ID]","PROFIT_CTR","[ DONTPLAN = 'Y']" )
    *FOR %NOPLAN1% = %NOPLAN%
    [#MEMBERS] = %NOPLAN1%
    *NEXT
    Is there any variable concept in nw 7.5
    i need all the members to be present in #members and i can use it in allocation.
    Regards
    Vinoth

    Hi nilanjan,
                      Thanks for you reply .
                      My scenerio is a bit more complex,which i explained above is  a small part .
                     The exact scenerio what i am trying to achive is that the allocation is done by Profit center groups individually.
                     They maintain some profit center property as DONTPLAN so that they are not needed for planning.
                    so in the datamanager package they will select on top hier node for their individual profit center group and run.
                    I have to get all the base memeres of the particular group and omit all the profit centers which has 'Y' in the profit center property DONTPLAN. Collect all the members and use only those members in allocation.
                   i tried script code but i cant any clue of achieving this scenerio so i am trying to use MDX or any other way..
    Regards
    Vinoth

  • Logical AND in MDX Reporting Services Parameter

    Hi, I would like to implement logical AND on a cube parameter. I have seen examples of hard-coded logical AND in MDX.
    (http://salvoz.com/blog/2013/12/24/mdx-implementing-logical-and-on-members-of-the-same-hierarchy/)
    But I'm not sure how to apply this to a parameter's MDX dataset.
    Here is an example of the automatically generated MDX which uses logical OR:
    This is the drop down parameter:
    WITH MEMBER [Measures].[ParameterCaption] AS [Department].[Department].CURRENTMEMBER.MEMBER_CAPTION MEMBER
    [Measures].[ParameterValue] AS
    [Department].[Department].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS
    [Department].[Department].CURRENTMEMBER.LEVEL.ORDINAL
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue],
    [Measures].[ParameterLevel]} ON COLUMNS
    , [Department].[Department].ALLMEMBERS ON ROWS
    FROM [MyCube]
    And the demo report dataset is:
    SELECT NON EMPTY { [Measures].[CompanyTbl Count] } ON COLUMNS,
    NON EMPTY { ([Product Level No].[Product Level No].[Product Level No].ALLMEMBERS ) }
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM
    ( SELECT ( STRTOSET(@DepartmentDepartment, CONSTRAINED) )
    ON COLUMNS FROM [MyCube]) WHERE
    ( IIF( STRTOSET(@DepartmentDepartment, CONSTRAINED).Count = 1,
    STRTOSET(@DepartmentDepartment, CONSTRAINED), [Department].[Department].currentmember ) )
    CELL PROPERTIES VALUE,
    BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING,
    FONT_NAME, FONT_SIZE, FONT_FLAGS

    Hi,
    I can see there just one parameter @Department@Department in your script. But if you had two parameters that should return resultset affected by two parameters. You can do it as either select from subselect from subselect.
    Example 1
    SELECT
    {x} ON COLUMNS,
    {ROWS_SET} ON ROWS
    FROM
    (SELECT StrToSet(@Param1) ON COLUMNS FROM
    (SELECT StrToSet(@Param2) ON COLUMNS FROM
    [CUBE_NAME]
    Or crossjoin between 2 parameters
    SELECT
    {x} ON COLUMNS,
    {ROWS_SET} ON ROWS
    FROM
    (SELECT StrToSet(@Param1)*StrToSet(@Param2) ON COLUMNS FROM
    [CUBE_NAME]
    Jiri
    Jiri Neoral

  • MDX command does not generate records: "NO RECORDS GENERATED"

    Dear Experts,
    I am testing MDX command we are going to use in Cashflow calculation. Although I am aware this is not typical way to do this (usually account-based calculation business rule does the job) but there are some other factors and we really want to do that in script.
    I created a very simple script:
    // CASHFLOW TEST
    *XDIM_MEMBERSET TIME = 2014.JAN
    *XDIM_MEMBERSET ENTITY = DK10
    *XDIM_MEMBERSET CATEGORY = ACTUAL
    *XDIM_MEMBERSET CONSOSCOPE = G_NONE
    *XDIM_MEMBERSET AUDITID = IMPORT_LPM
    [ACCOUNT].[#12220_F220] = ([ACCOUNT].[12220],[FLOW].[F220])
    *COMMIT
    but the script does not behave as I am expecting it to behave. Basically no single record gets generated by the script.
    I am attaching the log. I have triple-checked the data region in question for the account 12220 and it is populated with the value.
    Am I doing someting wrong?
    Thank You!
    Marek

    Hello Marek,
    I understand. If you need any documentation on MDX and Script Logic please let mw know.
    You should take a look at this Performance Analysis and Optimization for BPC 10 , in particular to this part:
    MDX and RSDRI query
    As already recommended for BPC 7.5 splitting the report into MDX and RSDRI(SQL) queries has an positive impact on performance. By using one MDX query (as small as possible) and one RSDRI query (as large as possible) the best performance improvements were achieved. RSDRI queries are much faster, but can only be used for base level members (without aggregation). For the examples mentioned above the best performance was achieved with a split into two reports and Europe rows and 2012-Total columns as Local Members. The DB query time was reduced from about 20 seconds to 2.3 seconds while the client rendering time doubled from about 1 second to nearly 2 seconds.
    Figure 10: Measurements of split reports
    Thank you.
    Best regards,
    Raquel

  • Script Logic error when trying to Calculate P*Q

    I am new to MDX and Script Logic and need some help. 
    I am trying to calculate Price * Qty.  Prices are stored in an Account called Unit_Price, and Qtys are stored in Accounts as well.  We have a Service property called "DRIVER" that points to the Account that holds the Q for that Service, but I can't seem to refer to it in Script Logic.  So, for each Service, I want to find the corresponding Unit_Price, lookup the Driver for that service and then use that to find the corresponding Quantity.  However, I'm having trouble with the portion that points to the Quantity. 
    Can someone please help? 
    This is the error that I get when I try to run it in the Logic Debugger: 
    "Warning no. -2147467259 reading cell 0; The hierarchy '[SERVICE.DRIVER]' was not found in the cube when the string, [ACCOUNT].[SERVICE.DRIVER],was parsed. "
    Here is my Script Logic:
    *MEMBERSET(%BILL_ENTITY%,FILTER(DESCENDANTS([ENTITY].[547],99,LEAVES), [ENTITY].CurrentMember.Properties("BILLED_ENTITY")="X") )
    *XDIM_MEMBERSET ENTITY = %BILL_ENTITY%
    *MEMBERSET(%PQ_SERVICE%,FILTER(DESCENDANTS([SERVICE].[TOTAL_SERVICE],99,LEAVES), [SERVICE].CurrentMember.Properties("ALLOC_METHOD")<>"") )
    *XDIM_MEMBERSET SERVICE=%PQ_SERVICE%
    *XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *XDIM_MEMBERSET DATASRC = INPUT
    *FOR SERVICE.ALLOC_METHOD = "PQ" 
                [ACCOUNT].[#16404ZZZ] = ( [ACCOUNT].[UNIT_PRICE], [TIME].currentmember) * ([ACCOUNT].[SERVICE.DRIVER], TIME].currentmember)
    *NEXT           
    *COMMIT

    1. completely uninstall all the nokia PC Suite products with this http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_Cleaner_7_1_1.exe, and also uninstall all OVI Suite products
    2. reboot pc
    3. download & Install a fresh copy of PC Suite
    4. it will then have you download and install a new version of the software installer after you connect your e90
    it should be fine after that. i had to do the same thing a while back.
    re: no able to sync the calendar with ovi suite:
    go to the Sync drop down and then select Sync Calendar.
    hope that helps

  • LGF VS MDX FORMULAS

    Hi gurus;
    What is the difference between MDX and Script Logic formulas?
    For example
    Can i write below formulas in LGF ?
    function MOVEMENT(%ACCOUNT%)
    iif(COUNT(%Time_Dim%.Children) =0,
    %ACCOUNT%-(%ACCOUNT%,%Time_Dim%.PrevMember),
    SUM(Descendants(%Time_Dim%.CurrentMember,99,LEAVES)))
    *endFunction
    If yes, Whats the meaning of 99? and Children
    The another question is IIF MDX Formulas
    Iif([Time].CurrentMember.Children.Count=0, [Account].[AccRec] - ([Account].[AccRec], [Time].PrevMember), SUM(Descendants([Time].CurrentMember, [Time].[Month], LEAVES)))
    I want to forward datas to month 8 but if month 8 is not empty , do nothing.
    My account dimension name which want to forward is : SALES_K
    account dimension member which want to forward is : K1005
    My Time dimension name : TIME current month:8 id name: 2010008
    Time period id : 2010001 , 2010002 , 2010003 ...
    Many thanx for your replies
    Have a nice day

    Hi Breathe
    You can write/use this formula.
    In your AccountRec Account calculation.,the formula indicates the sum of all receivables of all months  as per the Time Dimension, by arriving the diference of prevous month and current month.
    It starts with the identifying the data as per your Time dimesnion (from Period Id-Parent and Children), and it sum up the data of all the months i.e, all Children( ex: Time period id : 2010001 , 2010002 , 2010003 ... 2010008)
    The data will not be available at Parent level, Hence the iteration of Children calculation count will be 0 and it starts from next child in the list.
    In this statement, the count 99 indicates the number of all iterates to run the calculation formula till the end of the list as per the number of children( depends on number of child months you have defined under one parent year, in TIME Dimension) it has to calculate, as per your formula(SUM(Descendants(Time.CurrentMember, Time.Month, LEAVES)))
    for more information on the logic MDX formula, please refer the below SAP help:
    http://help.sap.com/saphelp_bpc75_nw/helpdata/en/f8/aac4ccf5a34fcdb40ba3e508a0ae0e/frameset.htm
    Hope this will help you a lot.
    A good question:) Breathe!!!
    Thanks & Regards
    ukraghu

  • The requested column does not exist in this table

    Hi All,
    I am getting the following error:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59014] The requested column does not exist in this table. (HY000)
    SQL Issued: SELECT "Customers - Dim".CITY FROM MVDEMO ORDER BY 1
    When I tried viewing data online I am able to view the data in the physical Layer. Also I tried connecting thru ODBC Client and issued the same SQL (above) and it returns the data.
    I am using Oralce BIEE 10.1.3.2.1 version.
    Please let me know if any faced this kinda issue and how to resolve this.
    Thank you.

    Check your column mapping in the BMM layer in your Customers - Dim logical table. Does the CITY column point to a physical table column?

  • Add button to TS Top Level VI

    I would like to add a button to the TestStand (v3.5) operator interface Full OI-TopLevelVI.  What we want to do is have this toggle (off/on) indicate whether we're in a special debug mode or not.  I want to do two things
    (1) grey out the button if the user is not of sufficient priviledge, (2) read value of button when Executing==True, (3) Set a Sequence File parameter/local variable to value of switch, (4) pass value of this parameter/local down to called VIs.
    Any guidance as to (1) where (in Full OI-TopLevelVI.vi) it would be best to add such code, (2) what properties/methods would I need to make this happen?

    The dimming of that button is controlled by its connection to the SequenceFileViewMgr. If I remember correctly, this connection is established in Full UI -  Configure SequenceFileView Manager.vi.
    There is no visible code for this dimming logic, because the connection handles that automatically. However, you can piggyback of the connection logic for that button by handling the ConnectionActivity event. When the connection modifies the button, it fires this event. In your event handler you can check if the button is dimmed and dim any related buttons accordingly.
    See: http://forums.ni.com/ni/board/message?board.id=330&message.id=15761

  • How to calculate the store count in OBIEE?

    Hi Experts,
    In some case, I should write some measures for MDX language , but I do not know how to calculate it in logic layer in OBIEE 11.1.1.6.0.
    Note: The muti-datasource is ESSBASE and version is 11.1.1.2
    My requirement is as below:
    There are many dimensions in ESSBASE. Store is Location member. If one store has sales in one day, I should count it. So I want to count all stores for sales.
    If I write MDX in ESSBASE or logical layer in OBIEE directly, it will generate sum value in OBIEE for several day, not MAX value.
    For example:
    2012/11/29, it has 1500 stores.
    2012/11/30, it has 1510 stores.
    If users select two day, it will sum these value and be 3010 stores. The expect result is 1510.
    This is my MDX language in Logic Layer:
    EVALUATE_AGGR('MAX( Operation.currentmember.Siblings,%1)', "Sales Cube"."Sales".""."Sales"."Is_Close" )
    Thanks.

    Hi,
    Assuming that the report which you are trying to build is for BI/Dashboard purpose and if you take a case that you need the counts on Monthly basis then you can build your logic in following ways:
    Parameter - Month - Year (Apr 2013)
    Start Count = No of active employees present as of the last working day of the last Month (in this case as of 31st March 2013)
    No of New hires = No of employees who have DOJ between 01-APr-2013 and 30-APR-2013
    No of Left employees = No of employees who have Actual termination date between 01-APr-2013 and 30-APR-2013
    Transfer Out and In = Based on the business definition of transfer you can see the movements between 01-APr-2013 and 30-APR-2013 and build your logic
    Similarly you can build your logic for Quarter, Half yearly and yearly counts too.
    Hope it helps. Let me know if you need further details.
    Thanks,
    Sanjay

  • Help on scripts used in bpc

    Hi All,
    Hope you can help me in know
    where to find some help doc's on scripts used in BPC and coding in SSIS packeges.
    And does BPC internally convert scripts to SQL script or MDX?
    And can i use both SQL and MDX in single logic file?
    Any help will be greatly appriceated

    The BPC logic engine converts the "SQL-style" script logic syntax into true SQL, that's executed against the data in the fact tables.
    MDX script logic is executed against the Analysis Services cubes; I don't believe that much conversion is involved here, but honestly I'm not an MDX expert, so I could be mistaken.
    You can mix both in a single logic file, subject to a clear understanding of how *COMMIT and XDIM_Member, etc. work to scope a particular block of code. The BPC Admin guide (also in the online admin help) is the key reference guide for this.
    But the most important piece of advice I can give is, don't write MDX logic. Only use it (as sparingly as possible) for raios (division) in member formulas, where you need to evaluate a formula at various points in the hierarchy (not just at base members). For everything else, use business rules or SQL logic.

  • Business Rule in BPC 5.1

    Dear all,
    I got 2 questions regarding business rule:
    1. There are 2 types of business rule.
    Script-based = You write your own script ( MdX or SQL logic)?
    Table-based = The table is more like a parameter table. You configure the parameters in the business rule tables and use corresponding store procedure in some logic file to trigger the function.
    ex:
    You must setup the currency translation rule table and call SPRUNCONVERSION to execute currency translation function.
    Is this correct?
    2. According to the SAP BPC admin guide, the rule files will be converted to LGL file, is this still the same in BPC 5.1? I can't find any related LGL in the system.
    Best Regards,
    Jeff

    You're mixing termology and functionality.
    Business rules are configured under the application/business rule tab in administration.  They are SQL stored procecures that cannot be modified and are seutp using the business rules tables.  The values in the table are passed into the SP's as parameters.  SPRunConversion is an example of a business rules stored procedure.
    Separately, there is script based logic.  This is setup under the Applicaton/Script Logic tab in administration.  These are calculations that are written by the application administrator (a number of examples are provided) to peform calculations.  There is a script logic example (FXTrans) which perfroms the same process as SPRunConversion.  They are text based files which get "compiled" into executed code.  The file you write to is the LGF file.  This contains the source code along with comments and spacing for readability.  The compiled file has an LGX extension and is a text file which has extra spacing and comments removed and any *INCLUDE statements replaced with the underlying coce.

  • Syntax Validation error in Runlogic section

    Hi Experts,
    I am using BPC 7.5 Microsoft version, I am validating a script logic containing Runlogic section and validation result is showing syntax error:
    Runlogic Section:
        *RUNLOGIC
            *APP=FINANCE
            *LOGIC=FXTRANS
            *DIMENSION DATASRC=HEADCOUNTAPP
            *DIMENSION EMPL_TYPE=
            *DIMENSION EMPLOYEE=
            *DIMENSION RPTCURRENCY=LC
            *DIMENSION TIME=descendants([time].[%TIME_PREFIX%.total],99,leaves)
        *ENDRUNLOGIC
    Syntax error showing at:
           *DIMENSION EMPL_TYPE=
            *DIMENSION EMPLOYEE=
    Above Runlogic section is being called from an headcount logic and as you see it is calling the Fxtrans logic of Finance Application, Now the 2 statements on which validation checker is showing syntax error are dimension instructions and are of headcount application.
    This same was working in BPC 5.1, Please advice how to correct this syntax error.
    Thanks & Regards,
    Rohit

    Hi John,
    Thanks for your reply, I don't have much knowledge and Experience in writing Script logic and this logic has been written by SAP consultants who implemented the BPC at our client place. As per my understanding The main logic "PushToFinance" is in Headcount application and Runlogic section in it is calling "FxTrans" logic of Finance application and these two dimension instructions are referring to headcount application dimension.
    I am thinking on these lines:
    1. Is it logically write to have dimension instructions pointing to dimensions of headcount application when runlogic section is calling the logic of Finance application and these dimensions are not available in finance application.
    2. Might be 5.1 Validation engine(logic engine) passes these kind of statements and 7.5 is showing syntax error on this.
    I have gone through help file of Runlogic and there it is written that these kind of instructions are used to "blank out scope of invalid dims" but not sure whether they are used to blank out the scope of dimensions of application (Finance) we are using in runlogic section or dimensions of the main application (Headcount)
    From help File:
    *RUNLOGIC
    *APP=MAIN
    *DIMENSION ENTITY2= //blank out scope of invalid dims
    *LOGIC=DefaultTranslation
    *ENDRUNLOGIC
    Please Advice and let me know your comments on this.
    Thanks & Regards,
    Rohit
    Please find the complete logic "PushToFinance" below:
        *INCLUDE SYSTEM_CONSTANTS.lgl
        // Move Headcount Cube Results to Finance Cube
        *XDIM_MEMBERSET TIME=%YEAR%.JAN,%YEAR%.FEB,%YEAR%.MAR,%YEAR%.APR,%YEAR%.MAY,%YEAR%.JUN,%YEAR%.JUL,%YEAR%.AUG,%YEAR%.SEP,%YEAR%.OCT,%YEAR%.NOV,%YEAR%.DEC
        *XDIM_MEMBERSET EMPLOYEE=<ALL>
        *XDIM_MEMBERSET EMPL_TYPE=<ALL>
        *XDIM_MEMBERSET DATASRC=<ALL>
        *FLAG_PERIOD = CATEGORY.CURRMO
        *XDIM_FILTER TIME > %FLAG_PERIOD%
        *CALCULATE_DIFFERENCE=0
        //*CLEAR_DESTINATION
        //   *DESTINATION DATASRC<>DUMMY
        *DESTINATION_APP=FINANCE
            *SKIP_DIM=Employee
            *SKIP_DIM=EMPL_TYPE
            *ADD_DIM RPTCURRENCY=LC
            *RENAME_DIM AccountHC=Account
        *WHEN ACCOUNTHC.TRANSFER
        *IS = Y
            *REC(FACTOR=1,DataSrc="HeadcountApp")
        *ENDWHEN
        *COMMIT
        *RUNLOGIC
            *APP=FINANCE
            *LOGIC=FXTRANS
            *DIMENSION DATASRC=HEADCOUNTAPP
            *DIMENSION EMPL_TYPE=
            *DIMENSION EMPLOYEE=
            *DIMENSION RPTCURRENCY=LC
            *DIMENSION TIME=descendants([time].[%TIME_PREFIX%.total],99,leaves)
        *ENDRUNLOGIC

  • View Message with ADFBC Bussiness Rules

    Hi,
    I am working with SOA ADFBC and Bussiness Rules and I developed the example set by oracle but I need to know how to display the message contained in my Class Message_Action on my website.
    Thanks for your help.

    Hi vicente
    ¿¿Mi first question is: when I have to call this .lgf???
    You call it when if you need to run it! as simple as that!
    ¿¿¿is automaticlly invocated when datas are sent to the server and when I execute "Data Manager package " such as I see in the manual?????
    It can be called automatically if you put it in the default logic
    OR
    You can call it "manually" in running a data manager package
    "what is Data Manager package "??
    simple answer: A data manager package is used to call logics.
    (you can tweak it in going into excel in Edata > organize package list) I think i wrote a post how to do this...
    By default there are many packages running ligics thats "clears data", "copy data", move data"....
    What is the business rules library? ( I have a vocabulary problem
    I can use MDX or SQL to script logic???? for what??? script logic are not the fields which call files.lgf????
    Yes you can use MDX or SQL logic. Even is MDX not advised.
    You can do many data transformation with this!
    script logics are stored as LGF files in the system and then turn (when validated) in LGX. Do a search on yoru server to look for those files... but dont touch them if you dont know what they mean...
    Hope this helps
    Nic

  • 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

  • MDX calculation based on date logic for the Jan 1 of current year through the 15th of the previous month

    Hello, 
    We need some help with an SSAS MDX query based on date logic. One of the problems is that I don't have access to the Cube but have been given a query example with the logic needed for the calculation. Here's the scenario; 
    The ETL process will run on the first Tuesday after the 15<sup>th</sup> of a given month. The Analysis Cube data queried should include the current year up to the end of the previous month. For example, on May 19<sup>th</sup>
    (the first Tuesday on or after the 15th) the query should include data from January 1<sup>st</sup> through April 30<sup>th</sup>.
    The 15<sup>th</sup> of the month is not part of the query, it is a factor in when the query is run. The query will always be in terms of complete months.
    SELECT
                    NON EMPTY { [Measures].[Revenue Amount],
                    [Measures].[Utilization],
                    [Measures].[AVG Revenue Rate],
                    [Measures].[Actual Hours] }
    ON
                    COLUMNS,
                    NON EMPTY { ([dimConsultant].[User Id TT].[User Id TT].ALLMEMBERS * [dimConsultant].[Full Name].[Full Name].ALLMEMBERS * [dimConsultant].[Employee
    Type].[Employee Type].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION,
                    MEMBER_UNIQUE_NAME
    ON
                    ROWS
    FROM
                    ( SELECT
    ( { [dimDate].[Week Date].[1/4/2015], [dimDate].[Week Date].[1/11/2015], [dimDate].[Week Date].[1/18/2015], [dimDate].[Week Date].[1/25/2015], [dimDate].[Week Date].[2/1/2015] } )
                    ON
                                    COLUMNS
                    FROM
                                    ( SELECT
    ( { [dimIsBillable].[Is Billable].&[True] } )
                                    ON
    COLUMNS
                                    FROM
    [SSASRBA]
    WHERE
                    ( [dimIsBillable].[Is Billable].&[True], [dimDate].[Week Date].CurrentMember ) CELL PROPERTIES VALUE,
                    BACK_COLOR,
                    FORE_COLOR,
                    FORMATTED_VALUE,
                    FORMAT_STRING,
                    FONT_NAME,
                    FONT_SIZE,
                    FONT_FLAGS

    Hi Hans,
    Thank you for your question.  
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.  
    Thank you for your understanding and support. 
    Regards,
    Simon Hou
    TechNet Community Support

Maybe you are looking for

  • Creating dynamical flat file name in mapping?

    Hi. I know about the variations on how to use an input parameter and/or sysdate to create a dynamic output file name in a mapping. My challenge is nearly the same, but I cannot make OWB generate the correct code. Problem: - got a one column table tha

  • Is Adobe Creative Cloud gonna be apart of the Microsoft store, so that I can use it on my Surface?

    Is Adobe Creative Cloud gonna be apart of the Microsoft store, so that I can use it on my Surface?

  • Snow White and the apple

    I have been an apple lover and user since 1990 and dreamed of owning my own. I always loved the quality of the hardware and the software and the development method by listening to what their customers wanted. I eventually made my dreams come true in

  • Assign Search help

    I WANT TO SET SEARCH HELP RESTRICTED TO 4 VALUES.. Selection parameters for status – search help restricted to only below parameters Make it mandatory. I20 - hold I30 - sucess I40 - completed I50 - discard.

  • About storing

    Last question not about aperture, I promise)) Where do you store pictures when you travel without notebooks? I was recommended this http://www.amazon.com/s/ref=nbssgw/105-8433330-8636452?url=search-alias%3Daps&field-keywords=photobank&x=0&y=0 but hav