Tunning ASO cube for metada mdx queries

Hi,
I have some metadata mdx queries, for this kind of queries is there any special tunning which would be applied?

Syntax has changed for ASO member formulas and semicolons are no longer used. Why would you want to use the semicolon? With the new syntax it is not necessary.

Similar Messages

  • How to Combine 2  dimensions in ASO cube for Reporting

    Hello,
    We have several OBIEE reports being extracted out of ASO Essbase cube through the RDP Layer.
    The requirement by a new report is to Combine two dimension in the Underlying ASO cube.
    The following two dimension needs to be combined into one, using MDX intersection
    PRODUCT
      - OIL
      - GAS
    REGION
      - APAC
      - AMEA
    Combined Dimension
       - OIL_APAC   [MDX]
       - GAS_APAC [ MDX]
    Can you please help me the MDX syntax for acheiving the above
    Cheers
    MS

    Hi,
    Thank you for sharing this with us, and it will help others who have met with this issue.
    Victoria
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Victoria Xia
    TechNet Community Support

  • Mdx-queries: how to optimize their processing?

    hi there. I have a problem with mdx-queries processing. For now mdx-queries are processed as follows:
    if I refer a dimension in an mdx-query the OLAP processor while creating a cube downloads into internal memory the whole SID-table and then the whole P- and Q- tables for the corresponding charachteristic are being downloaded as well. And it doesn't take in account any filters used in a query on this stage, i.e. the whole axis is downloaded.
    Does anyone know if there is a possibility to optimize the mdx-queries processing in  SAP BW? How to make it take in account filters on the stage of downloading master data for the cube?
    We use the SAP BW 3.5 version.

    hi there. I have a problem with mdx-queries processing. For now mdx-queries are processed as follows:
    if I refer a dimension in an mdx-query the OLAP processor while creating a cube downloads into internal memory the whole SID-table and then the whole P- and Q- tables for the corresponding charachteristic are being downloaded as well. And it doesn't take in account any filters used in a query on this stage, i.e. the whole axis is downloaded.
    Does anyone know if there is a possibility to optimize the mdx-queries processing in  SAP BW? How to make it take in account filters on the stage of downloading master data for the cube?
    We use the SAP BW 3.5 version.

  • Plannoing application and ASO cube

    Hi,
    To my knowledge when we create a Planning application and create the database it creates a BSO cube.
    But we had a call today with Oracle and they were suggesting to use ASO cube with Planning. Is it possible to have an ASO cube for a Planning app?
    next, in the same call we had with Oracle, they were suggesting to use Smartlists for an essbase ASO cube. Is it possible to have Smartlists for essbase applications. Cause smartlists are drop downs which can be used in web forms. How can we use smartlists in spread sheet? Using smartview?

    Typed measures in Essbase are simular to a Smart list in Planning. You can use it both in ASO and BSO.
    For additional info how to enable and work with typed measures see: http://docs.oracle.com/cd/E17236_01/epm.1112/esb_dbag/frameset.htm?dtypmeas.html#dtypmeas_20

  • MDX query performance on ASO cube with dynamic members

    We have an ASO cube and we are using MDX queries to extract data from that cube. We are doing some performance testing on the MDX data extract.
    Recently we made around 15-20 account dimension members dynamic in the ASO cube, and it is taking around 1 and a half hour for the query to run on an empty cube. Earlier the query was running in 1 minute on the empty cube when there were no dynamic members in the cube.
    Am not clear why it takes so much time to extract data from MDX on an empty cube when there is nothing to extract. The performance has also degraded while extracting data on the cube with data in it.
    Does dynamic members in the outline affect the MDX performance? Is there a way to exclude dynamic members from the MDX extract?
    I appreciate any insights on this issue.

    I guess it depends on what the formulas of those members in the dynamic hierarchy are doing.
    As an extreme example, I can write a member formula to count every unique member combination in the cube and assign it to multiple members, regardless if I have any data in the database or not, that function is going to resolve itself when you query it and it is going to take a lot of time. You are probably somewhere in between there and a simple function that doesn't require any over head. So without seeing the MDX it is hard to say what about it might be causing an issue.
    As far as excluding members there are various function in MDX to narrow down the set you are querying
    Filter(), Contains(), Except(), Is(), Subset(), UDA(), etc.
    Keep in mind you did not make members dynamic, you made a hierarchy dynamic, that is not the same thing and it does impact the way Essbase internally optimizes the database based on Stored vs dynamic hierarchies. So that alone can have an impact as well.

  • Doubt Reg How to implement MDX formula in ASO Cube

    We are using Essbase 7x for implementing ASO application, We are struck in implementing MDX formuls in Accounts dimension members. As per the requirement
    We have to calculate
    Cost Per kilo[Total shipment Cost]/[Billed Weight]
    Fuel Surcharge cost per kilo[Fuel Surcharge cost]/[Billed weight]
    Need to implement these formula's for the mentioned Accounts members. As we are new to this concept plz let me know if
    we wrote these in MDX editor and how to link these to the particulr mrmber in the dimension.please help me out in implementing these formula's

    Hi,
    1. For ASO cubes also, you can have forumulas on your cube's outline individual members.
    2. If the dimension is "accounts" you can write MDX forumulas on the members of the accounts dimension
    3. The two members 'cost per kilo' and 'fuel surcharge cost per kilo' and their respective forumulas are Total shipment Cost/Billed Weight and Fuel Surcharge cost/Billed weight.
    4. If you have the members like Total shipment Cost,Billed Weight and Fuel Surcharge cost, create 2 account members for which you need to write formulas , then go to 'formula' tab of these members and write a simple division formula.For ASO cubes, no need to end them with semi colon.
    One can use MDX editor to write down queries and extract data too, i.e queries . More of it can be found in the DBAG .
    Sandeep Reddy Enti
    HCC
    http://hyperionconsultancy.com/

  • Performance Tuning Data Load for ASO cube

    Hi,
    Anyone can help how to fine tune data load on ASO cube.
    We have ASO cube which load around 110 million records from a total of 20 data files.
    18 of the data files has 4 million records each and the last two has around 18 million records.
    On average, to load 4 million records it took 130 seconds.
    The data file has 157 data column representing period dimension.
    With BSO cube, sorting the data file normally help. But with ASO, it does not seem to have
    any impact. Any suggestion how to improve the data load performance for ASO cube?
    Thanks,
    Lian

    Yes TimG it sure looks identical - except for the last BSO reference.
    Well nevermind as long as those that count remember where the words come from.
    To the Original Poster and to 960127 (come on create a profile already will you?):
    The sort order WILL matter IF you are using a compression dimension. In this case the compression dimension acts just like a BSO Dense dimension. If you load part of it in one record then when the next record comes along it has to be added to the already existing part. The ASO "load buffer" is really a file named <dbname.dat> that is built in your temp tablespace.
    The most recent x records that can fit in the ASO cache are still retained on the disk drive in the cache. So if the record is still there it will not have to be reread from the disk drive. So you could (instead of sorting) create an ASO cache as large as your final dat file. Then the record would already still be on the disk.
    BUT WAIT BEFORE YOU GO RAISING YOUR ASO CACHE. All operating systems use memory mapped IO therefore even if it is not in the cache it will likely still be in on the disk in "Standby" memory (the dark blue memory as seen in Resource Monitor) this will continue until the system runs out of "Free" memory (light blue in resource monitor).
    So in conclusion if your system still has Free memory there is no need (in a data load) to increase your ASO cache. And if you are out of Free memory then all you will do is slow down the other applications running on your system by increasing ASO Cache during a data load - so don't do it.
    Finally, if you have enough memory so that the entire data file fits in StandBY + Free memory then don't bother to sort it first. But if you do not have enough then sort it.
    Of course you have 20 data files so I hope that you do not have compression members spread out amongst these files!!!
    Finally, you did not say if you were using parallel load threads. If you need to have 20 files read up on having parrallel load buffers and parallel load scripts. that will make it faster.
    But if you do not really need 20 files and just broke them up to load parallel then create one single file and raise your DLTHREADSPREPARE and DLTHREADSWRITE settings. Heck these will help even if you do go parallel and really help if you don't but still keep 20 separate files.

  • Can we load data for all levels in ASO cube

    Hi All,
    Can we load data for all levels of members in ASO cube in 9.3.1.
    Regards

    Yes you can load data for all levels in an ASO cube in any version HOWEVER, none of the upper level data in any cube will be there when you look for it. You will get a warning message in the load because ASO cubes don't store data at upper levels. It is the same as loading data into dynamic calc members in BSO cube. It will do the load without compalints, but there will be no data there (At least you get the warning in ASO)

  • SSaudit for ASO cubes in 11.1.1.3?

    Hello Gurus -
    I was wondering if anyone has been able to get the SSaudit feature working on ASO cube on version 11.1.1.3 to get the .atx and .alg file generated?
    We tried but it doesn't seem to work for us. Also, the "send" activity itself doesn't seem to get captured in either apps log or essbase logs.
    I was wondering if there is a workaround or especial setting we need to do for ASO.
    Pls, throw some light if anyone know anything on it.
    Regards

    SSAudit is not supported for ASO cubes and unfortunatly neither is transaction logging.
    If you need to do something like this I suggest using Dodeca which can save sends in a relational table

  • Design Aggrigation for ASO cubes

    Hi All,
    We are 12 ASO cubes in each server and each cube have minimum 5-6 months data .Normal aggregation data preview is taking lot of time .So we are planing to do design aggregation .We have a small doubt about this aggregation like
    **1)its going to be do every time we load the data into cubes or once we do this it will create automatically**
    **2)Suppose this month we have loaded 2 months data into cubes after that we perform design aggregation .Then again next month we load the 2 months data into cubes . again we need to do total 4 months design aggregation or is there is any method we can do partial design aggregation or incremental design aggregation .i.eLike already we have done the design aggregation so i want to do only next two months not total 4 months **
    Kindly let me know if any automation process available for this .
    Thanks,
    Vikram
    Edited by: Vicky143 on Jan 13, 2010 10:00 PM
    Edited by: Vicky143 on Jan 13, 2010 10:02 PM

    Hi Vikram,
    Which version are you using?
    1) Do you reset the cube(clear the data) whenever you re-load your cube?
    If yes, you can't expect your earlier aggregations be still there. However, if you've saved your agg. selections & outline is more/less the same, you can materialize the aggs. by using the saved script.
    If your load is an incremental one, the changes that take place to your outline matters a lot as they may invalidate your previous agg. selections.
    2) As more Lev0 data starts flowing in, you've to periodically monitor for the trade-off b/n agg. time/space and performance requirements. The only thing I know about incremental agg. for ASO is via enabling user query tracking & doing the necessary aggs.
    Visit this link to know how to automate-
    [execute aggregation selection|http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/execaggsel.htm] !
    [execute aggregate process|http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_techref/maxl/ddl/statements/execagg.htm]
    Let us know incase you've any questions.
    - Natesh

  • How to tune the MDX queries to avoid memory pressure? Please Help!

    I tried to run the following mdx queries, but kept running into Memory pressure issue.  Could someone give me some suggestions to avoid the issue?
    Thanks a lot
    Executing the query ...
    Server: The operation has been cancelled due to memory pressure.
    Execution complete
    ======================Query 1=============================
    SELECT NON EMPTY { [Measures].[Net Purchased CPP] } ON COLUMNS, 
     NON EMPTY {  ([STATION].[Station Name].[Station Name].ALLMEMBERS 
     * [DAYPART].[Daypart Code].[Daypart Code].ALLMEMBERS 
     * [DEMOGRAPHIC].[Demo].[Demo].ALLMEMBERS ) }  ON ROWS
     FROM [SPOT]
     WHERE  ([ESTIMATE].[Estimate Number].&[3881] )
    ==================Query 2================================     
       SELECT NON EMPTY { [Measures].[Net Purchased CPP] } ON COLUMNS, 
     NON EMPTY {  ([STATION].[Station Name].[Station Name].MEMBERS 
     * [DAYPART].[Daypart Code].[Daypart Code].MEMBERS 
     * [DEMOGRAPHIC].[Demo].[Demo].MEMBERS ) }  ON ROWS
     FROM [SPOT]
     WHERE  ([ESTIMATE].[Estimate Number].&[3881] )
     =====================Query 3============================   
    SELECT NON EMPTY { [Measures].[Net Purchased CPP] } ON COLUMNS, 
     NON EMPTY { ([ESTIMATE].[Estimate Number].[Estimate Number].ALLMEMBERS 
     * [STATION].[Station Name].[Station Name].ALLMEMBERS 
     * [DAYPART].[Daypart Code].[Daypart Code].ALLMEMBERS 
     * [DEMOGRAPHIC].[Demo].[Demo].ALLMEMBERS ) } 
     ON ROWS FROM ( SELECT ( { [ESTIMATE].[Estimate Number].&[3881] } ) ON COLUMNS FROM [SPOT])

    Hi BI_Eric,
    The error occurs on the following scenario.
    You run a Multidimensional Expressions (MDX) query that contains a Data Analysis Expressions (DAX) measure in Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2).
    The DAX measure has an expression that contains many levels of nested binary operators.
    Applying SQL Server 2008 R2 Service Pack 1 will fix the problem, please refer to the link below.
    http://support.microsoft.com/kb/2675230
    Besides, enough to seriously impair performance.you used CrossJoin function to join multiple dimensions which might cause the performance issue. If you crossjoin medium sized or large sized sets (e.g., sets that contain more than 100 items each), you can
    end up with a result set that contains many thousands of items enough to seriously impair performance.http://social.msdn.microsoft.com/Forums/sqlserver/en-US/337aea24-09ff-4354-b67d-8a90f67a13df/memory-pressure-error?forum=sqlanalysisservices
    Regards,
    Charlie Liao
    TechNet Community Support

  • Count based on the UDA's in ASO cube

    In product dimension I have UDA's like MDW, NEW in all level 0 members. I would like to get the count of all MDW's and put that in an account A and count of all NEW's and put it in account B. Please help this MDX query.
    I tried this ..but not sure how SKCOMPMCount will get reset every time. ALso I want to get it for all children
    case when [Location].CurrentMember = [SKUCountComp] and IsLevel(Date.CurrentMember, 0) and IsLevel(Product.CurrentMember, 1)
    then
    IIF(IsUda(firstchild(Product.CurrentMember),"MDW"),SKCOMPMCount+1,SKCOMPMCount)
    end
    I am using Essbase 9.2.0 and this is a ASO cube
    Edited by: user4498967 on Mar 27, 2009 10:06 AM
    Edited by: user4498967 on Mar 27, 2009 10:09 AM

    I have had one such requirment in past project and I made the changes in PCR X011. Actully I copied it into Z011 and then made the changes. You can also use the processing class 47. If you will take a look at this PCR you will understand how you can use it.
    We dont have anything in the standard to fulfill this requirment.
    I hope this helps.
    Regards,
    Ahsan Zaidi.

  • Essbase ASO Cube query performance from OBI EE

    Hi all
    I have serious problems of performance when I query an ASO cube from OBI EE. The problem born when I implement a filter in some dimension of model in the Business Model and Mapping layer. This filter is to level-0 of the dimension, the values are obtained from a session variable in OBI EE. The objetive of this is apply filters depending of users. Then, for session variable I've a table in relational dabase base with relation between user and "access", then my dimensions (not all) have as level-0 the "access" of users (as duplicated members).
    The session variable in OBI EE is filled with row-wise option, so it has all values of "access" that correspond to user (:USER system variabe).
    When I query only by one of this filtered dimensions the respond is very fast, When I query for one of this filtered dimensions and a metric the respond is fast (10 seconds). But when I query for two of this filtered dimensions and metric the respond take 25 minutes. I checked Essbase app log and found this:
    +[Mon Nov 15 19:56:01 2010]Local/TestSec5/TestSec5/admin/Info(1013091)+
    +Received Command [MdxReport] from user [admin]+
    +[Mon Nov 15 20:28:28 2010]Local/TestSec5/TestSec5/admin/Info(1260039)+
    MaxL DML Execution Elapsed Time : [1947.18] seconds
    When I look the MDX query generated by OBI I see that the aggregation process is doing in the fly in the members filtered of the crossjoin of two dimensions:
    With
    set [CATALOGO_INSTITUCIONAL2] as '[CATALOGO_INSTITUCIONAL].Generations(2).members'
    set [CATALOGO_PRESUPUESTARIO2] as '[CATALOGO_PRESUPUESTARIO].Generations(2).members'
    *member [METRICAS_PRESUPUESTARIAS].[MS1] as 'AGGREGATE(filter(crossjoin (Descendants([CATALOGO_INSTITUCIONAL].currentmember,[CATALOGO_INSTITUCIONAL].Generations(7)),Descendants([CATALOGO_PRESUPUESTARIO].currentmember,[CATALOGO_PRESUPUESTARIO].Generations(7))),(([CATALOGO_INSTITUCIONAL].CurrentMember.MEMBER_ALIAS = "01.01" OR [CATALOGO_INSTITUCIONAL].CurrentMember.MEMBER_Name = "01.01")) AND (([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "G" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "G") OR ([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "I0101" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "I0101") OR ([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "S01" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "S01"))),METRICAS_PRESUPUESTARIAS.[Compromiso])', SOLVE_ORDER = 100*
    select
    { [METRICAS_PRESUPUESTARIAS].[MS1]
    } on columns,
    NON EMPTY {crossjoin ({[CATALOGO_INSTITUCIONAL2]},{[CATALOGO_PRESUPUESTARIO2]})} properties ANCESTOR_NAMES, GEN_NUMBER on rows
    from [TestSec5.TestSec5]
    Can somebody tell me if is possible to change the way in that OBI built the query or if is possible to use aggregations previously materialized of essbase?

    hi Amol,
    1. On what basis , did you estimate your cube to around 400GB to 600GB.
    2. If ASO is an option, its huge advantage lies in space, its does not take more space , unlike BSO.
    3. I have seen cubes ,who size was around 300-400GB in BSO,when made the same cube into ASO , its consumed space of 40GB-45GB.
    HOpe this helps
    Sandeep Reddy Enti
    HCC
    http://hyperionconsutlancy.com/

  • Problem working on member formulas in ASO cube

    Hi
    I was asked to convert a planning application BSO cubes into a single ASO cube.I have managed to convert one BSO Cube into ASO through EAS console and added the members in the other BSO cube throgh rulesfile.
    Now i have to write the member formulas for the level0 members of Account dimension.These are very simple formulas like
    if(@ISMBR("New_Seats"))
    "Assets Value"="Total Asset Cost";
    else
    "Assets Value"="Asset_Value";
    endif;
    and
    "Empty_Seats"=(("New Seat Additions"+"Available_Seats")-"Required_Seats");
    This is the first time i am working on ASO.I am getting this error while writing these formulas
    "Error(1260052) syntax error in input mdx query on line 1 at token '=' Empty_Seats..."
    Help me in writing these formulas and also in selecting proper member properties.

    The hierarchy is like
    Account(gen1)
    -> Statistical_Account(gen2)
    ->New Seat Additions(gen3)
    I have tried tthis and the formula is verified successfully
    *([Statistical_Account].[New Seat Additions]+[Statistical_Account].[Available_Seats])-([Statistical_Account].[Required_Seats])*
    if i use *([New Seat Additions]+[Available_Seats])-[Required_Seats]* it is not veryfying throwing some syntax error
    Thanks

  • ASO cube export

    Hi Guys ,
    I need export the ASO cube to a flat file.
    I need documentation on how to do it.
    Regards
    ram

    the problem with an ASO export it is not really a friendly form to use for anything other than to load back to the cube or another of the same format cube. You could use report scripts or mdx scripts to get what you want

Maybe you are looking for