Filters on Dense Dimensions

<p>In the past I have always stayed away from creating filters ondense dimensions.  My fear is that it will severy slow downthe response time to the database.  </p><p> </p><p>I apologize for any spelling inssues as my browser is not likingthe java application that runs this forum.  </p>

<p>Hi sweeks,<br>I use filters on accounts dimension, which is normally densedimension. I had not seen any sluggish behaviour in response timeof<br>database after placing filter on dense dimension.<br>I am eager to know if any one has this issue.<br><br>-----------<br>[email protected]</p>

Similar Messages

  • How to make a calc script on a dense dimension ?

    Dears,
    I want to make a calculation script on a dense dimension where :
    - I want to get an input from a member, then make a mathematical calculation , then populate the result in another member at the same dimension .
    For More Clarification :
    I have the following fix
    CALC ALL ;
    FIX ("SAR","Working.V01","Budget2012","FY12","G_10","NM_CAT01","Employee General","BegBalance")
    "Internal Transportation" = "Monthly Transportation"*30 ;
    ENDFIX
    -Internal transportation and monthly transportation are 2 members on FB_account dimension (dense dimension) .
    Waiting for your response, Thanks in advance.

    Dear ,
    I appreciate your feedback . But, My problem is that after executing the calc script , No calculation happens .
    by another means ,
    -If I wrote "Internal transportation" = 500 ; --> It put 500 in it
    -If I wrote "Internal transportation" = "Internal transportation" * 100 ; --> No calculation happened but it executed successfully
    -if I wrote "Internal transportation" = "Monthly transportation" = 500; --> No calculation happened but it executed successfully
    I don't know Why ???

  • Why to open Block only with Dense dimension Member ???

    Hi All,
    I want to understand the logic behind opening the block with dense member. Generally we open the block with member of dense dimension by fixing the sparse members
    e.g. below considering C1, P1,Working,Actual are members of sparse dimension customer, product, Version, Scenario.
    Fix(C1,P1,Working,Actual)
    Jan
    IF(Some condition)
    Calculation on Account Member
    ENDIF
    Now if i change the code as below making Jan in FIX and opening the block with Actual. How it will affect the performance. The Number of iterations in total number of datacells will be same in bothe cases above and below then why to give priority to dense dimension member for opening the block.
    Fix(C1,P1,Working,Jan)
    Actual
    IF(Some condition)
    Calculation on Account Member
    ENDIF
    ENDFIX
    I know the logic behind keeping sparse dimension member in FIX but here i think keeping 'Actual' member for opening the block is also a type of fix which will tell the code to do the calculation only for blocks of 'Actual'.
    In 1st case i have fixed the number of blocks containing members C1,P1,Working,Actual and by keeping Jan for opening block means Jan is also fixed for the particular application means code will not run for feb march etc.
    Means code will run for C1->P1->Working>Actual->Jan
    In 2nd case also i have fixed C1,P1,Working,Jan and by keeping Actual for opening block means Actual is also fixed for the particular application means code will not run for other members of Scenarion dimension.
    Means code will run for C1->P1->Working>Jan->Actual
    Then what is the difference??? Why it will effect performance???

    when using an IF statement in a calc script you have to specify a member to associate it with for the calc member block. This is like temporarily assigning it to that member as a formula in the outline. In most cases calculations on dense dimensions can work faster as the block is in memory. Remember that a block statement can have multiple calculation statements in it. When this occurs, having the calculations on a dense member can speed it up as it may not have to swap blocks to do the calculation.
    Also consider that if a sparse combination of members does not exist, the block will not exist and there will be no attempt to do the calculations. If a sparse member is on the calc member block, it will cycle through all of the sparse members looking to do the calculation.

  • Populated dense dimension member failed ?

    Hi,
    I have a scenario dimension which is dense with this member : Actual and Budget, and I would like to copy Budget to Actual.
    Actual member are already populated on month M1, M2, M3
    ACTUAL BUDGET
    M1 100
    M2 200
    M3 300
    I wrote a HBR like this :
    Fix(M1:M3,other sparse dimension member)
    Budget = Actual
    ENDFIX
    but only M3 has been populated
    ACTUAL BUDGET
    M1 100
    M2 200
    M3 300 300
    I don't understand why because datablock already exist for M1, M2, M3.
    I tried to use CREATEONMISSINGBLOCK ON but didn't change anything.
    So I changed my script with a datacopy like this :
    Fix(M1:M3,other sparse dimension member)
    Datacopy Actual to Budget;
    ENDFIX
    And now it work
    ACTUAL BUDGET
    M1 100 100
    M2 200 200
    M3 300 300
    But I don't understand why my first script failed ?
    Regards
    Benjamin

    when using an IF statement in a calc script you have to specify a member to associate it with for the calc member block. This is like temporarily assigning it to that member as a formula in the outline. In most cases calculations on dense dimensions can work faster as the block is in memory. Remember that a block statement can have multiple calculation statements in it. When this occurs, having the calculations on a dense member can speed it up as it may not have to swap blocks to do the calculation.
    Also consider that if a sparse combination of members does not exist, the block will not exist and there will be no attempt to do the calculations. If a sparse member is on the calc member block, it will cycle through all of the sparse members looking to do the calculation.

  • Member block component only select dense dimension members

    I used Calculation Manager to create Business Rule for Planning app. The Member Block component only show dense dimensions. Why?

    Its trying to force you to write the calculation optimally. Calculations with sparse member blocks are much slower than dense dimension blocks. Even if you cannot select, you can always type in the sparse dimension member name. You dont need to use member selector.

  • Is having large no. of child in dense dimension ideal?

    we have a BSO application in which some of the dense dimension have over 1500 members in them, is it ideal?
    the hierarchy is not too flat but still there are some parents which have over 200 children.. i read somewhere that BSO throws error if the no. of children exceed 100.. is that statement true?

    It doesn't throw an error, it throws a 'warning', which you can ignore.  In a dense dimension it is unlikely be a performance problem (sparse is a bigger deal), but it might be hard for users to navigate.
    A dense dimension with 1500 members is not problem in itself.  Whether it's ideal or not is pretty hard to answer from what you've posted.  How did you decide which dimensions to make dense?  Do you actually have a performance problem or are you asking out of curiosity (not that there's anything wrong with that)?

  • Are there any implications on changing a dense dimension to sparse?

    We have some calculation performance issues where our calc is taking a long time to run. We have 6 dimensions, Scenario, Period/Months, Years, Currency, Market, and Accounts. Market and Accounts are the only Sparse members. We tried to make Years sparse (through research, although all the years have data), and the calculation time improved significantly. My question is, will this change have any implications on retrieval or data load?
    Here's our calc:
    Agg(Accounts, Market)

    The short answer is 'yes', it may have implications, and you will have to test to figure out what they are.
    'Years' is a classic candidate to be a sparse dimension (as is 'Scenario'). But your cube design sounds unusual, at least in my experience, which may or may not be for good reasons. So it's all but impossible to make predictions or recommendations without knowing more about the cube and the input dataset.
    Incidentally, the simple fact that all years have some data doesn't in itself make Years a candidate for a dense dimension (which is what you seem to be implying). Within reasonable limits of block size, you want to select dense and sparse dimensions such that when data exists at a sparse intersection, the largest possible proportion of dense combinations are populated. Just for example, if you have Product, Region, Account and Period dimensions and your company sells only a small proportion of Products in any given Region, Account and Period are likely good candidates to be Dense dimensions: Where data does exist for a Product / Region combination, many Account / Period combinations are filled. Region and Product are likely poor candidates for Dense dimensions, because almost all Region / Product combinations are empty even where data exists for an Account / Period. So the simple fact that all Products have some data doesn't make Product a good dense candidate.
    Hope this is of some use... :)

  • Outline Ordering of Dense Dimensions

    To optimize your cube I understand that you first have your dense dimensions at the top of the outline then your sparse with few members, then sparse with most members and last your attribute dimension. But didn't find any provision of which order a dense dimension should be? Should the dense dimension with few members be at the top or dense dimension with most members?TIA

    The recommended configuration is the "hourglass" shape - largest dense to smallest, smallest sparse to largest. Personally, I can understand the sparse dimension ordering - it has an impact on the efficiency of the calculator cache, but I have not seen any documentation or experienced significant performance gains by changing the order of dense dimensions.That being said, changing the order of dense dimensions WILL have an impact on the calculation order, which may be important if you have certain types of formulas or dependencies in your dense dimensions.The thing to keep in mind about optimization is that the order of the dimensions in your outline is probably lower on the list of priorities, behind the sparse/dense settings, optimizing scripts, using dynamic calcs, intelligent calc, etc.Regards,Jade---------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

  • Dense dimension aggregation

    Hi All,
    Is it possible to only aggregate and avoid calculation on dense dimension. I just want to get the aggregated values at the top level and avoid calculation.
    AGG("Account"); is not working. essbase is accepting only CALC DIM.
    Is there any command which only aggregates dense dimension?

    Ah, OK.  Is the dense member you have problems with a dynamic calc member, or is it a stored formula member?  In either case, is the formula sensitive to month (i.e. why does it calculate a different value in Jan vs Dec, despite the fact that you have copied the same data)?
    Incidentally, the reason I was talking about performance etc is that improved calculation performance is the usual motivation to use AGG vs CALC DIM.

  • Default member when filtering on a dimension in excel

    Hi,
    Many of my users have asked for a way of selecting "Month to date" that can remain in place without having to physically change the month in a date hierarchy.  I came up with a way of doing it by creating a pseudocolumn "Current Month"
    which shows a "Y" if it matches today's month and an N for all other rows.  This has worked effectively, however now i am being asked if it could show "Month YYYY" as opposed to the "Y".
    My issue with this is having a default member auto selected in a filtered dimension.  I am not sure if this is possible.  
    I have tried setting a current month dimension member to non aggregateable and then forcing a default member, but that is global without even selecting anything.
    Can anybody think of any other way of making the field automatically select when filtered? (Obviously this is necessary because if it says March, and then when it turns into April the data changes and the selection cancels).
    Hoping somebody has an idea!
    thanks

    Hi,
    Thanks for the great suggestion.  I applied this, but once i did it complained about a duplicate attribute, so i added another key to make it unique but once you do that it shows all months and years in the selection - ideally i want it to just show
    the current month in the selection (otherwise it is no different to selecting a month from a regular date hierarchy).
    I will continue to work on this idea though because there could be a solution in there!
    Thanks

  • Sibling count calculation ignoring filtering from other dimensions.

    Hi.
    I have an issue whereby including my calculated measure in a pivot returns more rows that I've filtered by.
    So within my Account dimension I have a few attributes, one being a 'Parent Acct Id' and another the 'Child Acct Id'. I have setup the hierarchy accordingly and then created my measure as below
    [Measures].[Linked Accounts] AS COUNT([Account].[My Hierarchy].CURRENTMEMBER.SIBLINGS)
    Then if I select my 'Child Acct Id' on rows then my calculated measure does correctly show the number of siblings. However the problem arises when I want to reduce the result set by an attribute from another dimension (e.g. a country name from a 'Country'
    dimension) - doing this has no affect on the rows returned.
    I should mention that if I filter on another attribute within the 'Account' dimension then that DOES filter as required. So it's behaving that my calculated measure only works
    with selections from within the slice that I'm doing the sibling count on.
    So I don't understand why the CURRENTMEMBER function doesn't work as it should.
    Any ideas?
    Thanks
    Dave

    Hi Dave,
    You can't filter Dimension_1 members by selecting Dimension_2 members. It's normal cube behavior.
    Try use nonempty function with measure. For example:
    [Measures].[CalcMember] AS nonempty([Employee].[Employees].currentmember.siblings,[Measures].[Reseller Sales Amount])
    So you can count nonempty siblings using other dimensions in filter. I hope that is you need.
    Best regards.

  • Load data filtering on a dimension's member - ESSCMD MaxL

    Hi.
    I would like to load data filtering records on a dimension's member. Referring as example to Sample's database outline, I would like to load only records with product 100-10.
    I know that I can use Select command from Record 's rule menu in Administration Console; however, I would like to use ESSCMD or Maxl to do the same.
    Is it possible? Any issue?
    Thanks a lot in advance.

    No it's not possible. The selection/rejection criteria are in the load rules and you can't pass parameters to them.
    I think in 9.3.1 you could put a substitution variable in a load rule but have not tried it yet. If so, you could add that to MaxL to update the variable then use the load rule to load the data. You will have to try it as I have not done so yet.

  • Filtering on a dimension table

    Hi all,
    I am trying to bring in a field from a dimension table-to be used in my mapping. This is based on a condition.(All attributes belong to the same level in the dimension).
    I brought in the dimension using the 'dimension' operator and tried to 'filter' on the condition and then connect the field from source to target. I get this error:
    API 8003: Connection target attribute group is already connected to an incompatible source. Use a joiner or set operator to join the upstream data first before connecting it into this operator.
    Any suggestions?
    Thanks.

    Hi,
    I am already doing that. I connected the dimension(through a filter) to a lookup operator, and then to the target table.
    I get this error when I validate:
    VLD-1104: Attributes flowing into DEDUP_SRC_0:INOUTGRP1 have different data sources.
    Any suggestions?
    Thanks,

  • Expanding Dimension Members Filtered by another Dimension members property.

    I use BPC for SAP NetWeaver 7.5.
    Iu2019ve FI_ Acc dimension. And on the property FLOWTYPE, I define which FLOW types it uses.
    FI Acc dimension members as follows:
    Cash   (FLOWTYPE: Cashflows)
    Treade Receivales (FLOWTYPE: TRflows)
    Trade Payables (FLOWTYPE: TPflows)
    FLOW dimension members as follows:
        Cas_flows (PARENTH1)
           Cash Openning
           Cash In
           Cash Out
           Cash from Credit
    TR_flows (PARENTH1)
        TR Openning
        TR addition from sales
        TR recived
    TP_flows (PARENTH1)
        TP Openning
        TP addition from purchases
        TP paid
    I want to expand FI_ Acc dimension and according to its FLOWTYPE property it expands FLOWs next to it as follows:
    FI_ Acc              FLOW
    CASH                      Cash Openning
                                   Cash In
                                   Cash Out
                                   Cash from Credit
    Trade Receivables    TR Openning
                                      TR addition from sales
                                      TR recived
    Trade Payables        TP Openning
                                     TP addition from purchased
                                     TP paid
    I have one EVEXP which expands FI_Acc dimension and another EVEXP which expands FLOW dimension. On the FILTER I write [FLOW].currentmember.properties("PARENTH1")=[FI_Acc].currentmember.properties("FLOWTYPE")
    I could not get the result. Where do I make mistake? Is there someone can help me on this issue?
    Or is there any other way to do this?
    Edited by: Recep Budak on Nov 4, 2010 12:25 PM

    Hi Bike,
    According to your description, you want to add another dimension attribute based on the record dimension name, right? If in this case, you can use Case When statement to achieve it. Here is a sample query for your reference.
    With Member [Measures].[Test]
    As
    Case [Product].[Category].CurrentMember.Name
    When [Product].[Category].&[4].Name Then "4"
    When [Product].[Category].&[1].Name Then "1"
    When [Product].[Category].&[3].Name Then "3"
    When [Product].[Category].&[2].Name Then '2'
    Else "Null"
    End
    Select {[Measures].[Test]} on columns,
    [Product].[Category].[Category].members on rows
    from [Adventure Works]
    Results
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • Business Rule - Filtering based on dimension

    Hi,
    I am trying to copy data from one scenario/version to another scenario/version based on account member(smartlist) value.I am currently unable to achieve this result.
    /* Copy the data from Begin Scenario to Final Scenarioo
    based on the vendor status*/
    FIX(@Relative(Year))
    "Begin Scenario"
    IF (("Vendor Status" == [[VENDOR_STATUS.NEW]]) OR
    ("Vendor Status" == [[VENDOR_STATUS.ACTIVE]]) OR
    "Begin Scenario"->"Working Version" = "Final Scenario"->"Working Version";
    ENDIF
    ENDFIX
    In this example,"Vendor Status" is an account member of the type smartlist. I would like to filter data based on "Vendor Status" as I copy from
    one scenario/version to another scenario/version. The above rule is not copying any data.
    Kindly advice.
    Thanks,
    Cz

    Hi,
    Try out the following way
    FIX(@Relative(Year,0))
    "Begin Scenario"
    IF (("Vendor Status" == 1) OR
    ("Vendor Status" == 2) OR
    "Begin Submission"->"Working Version" = "Final Scenario"->"Working Version";
    ENDIF
    ENDFIX
    /* Assuming Smart List Value of Vendor_Status.New=1 & Vendor_Status.Active=2 */
    As in backend ( i.e Essbase) the smart list values are stored in numerical.
    Cheers!!

Maybe you are looking for

  • Java Service Launcher Problems

    I am trying to get a java application running as a windows service. I have been using java service launcher because it is free and am unable to get the program running. It installs the service fine and if I run jsl -debug or jsl -run then the app exe

  • Iphoto freezes

    iMac OS 10.6.8 iPhoto 8.1 Open iPhoto library select 'Preferences' click on any preference icon -> spinning beach ball. I have deleted iPhoto pref files - no change; started in 'Safe Mode' - no change. Re-installed iPhoto - change. Any suggestions???

  • Newer Version in XI

    Hi. Good morning. I want to know the latest version of XI that is being used by the companies now. I heard about SAP XI 2.0 and 3.0. I also heard from somebody that SAP XI 7.0 is now available in the market. Is that True ? What are the versions that

  • Wamp V2 - Dreamweaver MX (6.1) DB Connections

    Just for the record, if anyone is trying to develop using DW MX (V6.1) with a LOCAL Apache server (V2.2.x), running PHP v5.x.x and mySql uder Windows, it is likely that you will get problems generating database connections. I spent a frustrating few

  • Adobe says the Magic Extractor Tool is not available in Elements 13 for 64 bit systems. Is it available on 32 bit? Is there indeed a 32 bit version?

    Adobe says the Magic Extractor Tool is not available in Elements 13 for 64 bit systems. Is it available on 32 bit? Is there indeed a 32 bit version? Is this tool available on earlier Element versions?