Aggregates based on Nav Attribute Hierarchy

Hi,
I have naviational attribute hierarchy based on created by and enabled as navigation attribute from Infocube. So for each transaction the created by pulls up the corresponding nav attribute from master data.
I have enabled the Created By nav attribute hierarchy in the query and the rendering of the hierarchy is really slow and the performance went down.
What is the best way to increase performace creating aggregates at Created by level or Created by Nav attribute hierarchy level?
Is there any document available on this topic?
Thank you
Arun

Hi Arun,
I don't know if this can be useful, but take a look to OSS Note 738098 'Performance problems with hierarchies'..
Hope it helps!
Bye,
Roberto

Similar Messages

  • Query with Nav. Attribute Hierarchy

    Hi,
      I have enabled Org. Hierarchy as Nav attribute from Contact Person. It is an custom hierarchy. The Hierarchies are defined only to the level of Org. Units and not the contact person. The transaction data has null value for Org. Unit and so i am trying to use the nav. attribute based on contact person.
    I have an infoobject called "ORGUNIT" and created an hierarchies like this:
    <pre>
    Global  (TextNode)
    |-------Americas (TextNode)
    |-------Asia (TextNode)
    |-------Eurpoe (TextNode)
             |----- Germany(TextNode)
             |----- Italy  (TextNode)
    The bexreport should look like this:
    Organization Unit      Contact Person      Revenue
    global
    -->europe
    ---->Germany              ABC             100 USD
    ---->Italy                XYZ             200 USD
    and so on.
    But it is like this
    Organization Unit      Contact Person      Revenue
    global                    ABC             100 USD
    global                    XYZ             200 USD
    -->europe                 ABC             100 USD
    -->europe                 XYZ             200 USD
    ---->Germany              ABC             100 USD
    ---->Italy                XYZ             200 USD
    </pre>
    If the Contact person is assigned to Germany(Child) or Italy(Child) the data is shown in Child once and again in Europe and also in Global.
      Is there any way to suppress the values in Europe (parent) and Global(Parent)?
    Thank you
    AP

    Hi,
    Yes this is often annoying that the parent nodes are also split according to the second characteristic. But the technical behaviour is actually right as the node is the sum of the two persons.
    The only way I could think of solving this is to use the function 'Display rows as hierarchy'. The result should then be:
    global
    -->europe                   300 USD
    >Germany                100 USD
    >ABC                   100 USD
    >Italy                  200 USD
    >XYZ                   200 USD
    Regards,
    Beat

  • Setting default member of attribute hierarchy in MDX script. Default member not taken into account while using user defined hierarchy

    Hi all
    I have a date dimension that (type time) with attributes
    - [FiscalYear] (type years)
    - [FiscalMonth] (type months)
    - [FiscalWeek] (type weeks)
    In addition to the attributes used in the natural hierarchy, I have an attribute [PerType] containing one member comming from the relational table 'WTD' which corresponds to 'Current Date'. All other members of this attribute hierarchy are calculated members (defined in the MDX script). Examples:
    --Last year
    CREATE MEMBER CURRENTCUBE.[Date].[PerType].[LY] AS NULL,
    VISIBLE = 1;
    SCOPE([Date].[PerType].[LY]);
    SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Year], SELF_AND_AFTER));
    THIS = ([Measures].CurrentMember, [Date].[PerType].[WTD], ParallelPeriod([Date].[Fiscal].[Year], 1));
    END SCOPE;
    END SCOPE;
    --Month to date
    CREATE MEMBER CURRENTCUBE.[Date].[PerType].[MTD] AS NULL,
    VISIBLE = 1;
    SCOPE([Date].[PerType].[MTD]);
    SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Week], SELF_AND_AFTER));
    THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, MTD([Date].[Fiscal].CurrentMember)));
    END SCOPE;
    END SCOPE;
    --Year to date
    CREATE MEMBER CURRENTCUBE.[Date].[PerType].[YTD] AS NULL,
    VISIBLE = 1;
    SCOPE([Date].[PerType].[YTD]);
    SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Period], SELF_AND_AFTER));
    THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, YTD([Date].[Fiscal].CurrentMember)));
    END SCOPE;
    END SCOPE;
    The defalut member of FiscalWeek attribute hierarchy is set dynamically in the MDX script:
    ALTER CUBE CURRENTCUBE UPDATE DIMENSION [Date].[FiscalWeek], DEFAULT_MEMBER =
    Filter(
    [Date].[FiscalWeek].Members,
    [Date].[FiscalWeek].Properties( "FiscalWeekStartDate", TYPED) <= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
    AND
    [Date].[FiscalWeek].Properties( "FiscalWeekEndDate", TYPED) >= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
    )(0).PrevMember;
    If I run the following query:
    with member
    measures.x as [Date].[Fiscal].DefaultMember.Name
    measures.y as [Date].[FiscalWeek].DefaultMember.Name
    select
    measures.x,
    measures.y
    } on axis(0)
    from [GLWeekly]
    it gives me back correctly the default member set over the MDX script.
    I order the statements in the MDX Script so that the default period (week) is set at the beginning of the script (just after the calculate).
    I do not understand why creating the following calculated member I am obliged to specify [Date].[Fiscal].CurrentMember in the tuple to have correct results:
    MEMBER [Account].[CoA].[Standard Engagement Revenue (MTD)] AS ([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD], [Date].[Fiscal].CurrentMember)
    I would expect that:
    ([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD])
    is sufficient.
    If the default week is specified in the slicer using a member of the natural hierachy (=> [Date].[Fiscal].x) it works.
    Why can't SSAS use the default member if it is must defined in the MDX script?
    Can someone explains me this. Thanks a lot in advance.

    Hi Ina,
    have you thought about adding a dynamic statement inside the MDX script? You could define the default member like this:
    ... DEFAULT_MEMBER = iif( Day( Now() ) = 3, <expression for previous month>, <expression for current month> );
    This way you don't need to change it everytime by running a script.
    By the way, what do you mean it doesn't update the default member? When you execute this MDX what does it says?
    with member measures.x as [Dimension].[HierarchyName].DefaultMember.Name
    select { measures.x } on 0 from Cubename
    If this returns the correct name, then the problem is somewhere else. I believe it should return you the correct name. Look here, test this on Adventure Works, statement by statement and see what happens.
    ALTER
    CUBE [Adventure Works]
    UPDATE
    DIMENSION [Product].[Product Categories],
    DEFAULT_MEMBER = [Product].[Product Categories].[Category].&[1]
    with
    member measures.x
    as [Product].[Product Categories].DefaultMember.Name
    select measures.x on 0
    from [Adventure Works]
    ALTER
    CUBE [Adventure Works]
    UPDATE
    DIMENSION [Product].[Product Categories],
    DEFAULT_MEMBER = [Product].[Product Categories].[All Products]
    with
    member measures.x
    as [Product].[Product Categories].DefaultMember.Name
    select measures.x on 0
    from [Adventure Works]
    I think you can see which members are default (on related hierarchies) using
    MDX Studio. This should help you detect which attributes have not moved accordingly and hence cause problems in your report. The usual suspects are those attributes used in your last month reports. If that's too much for you, just copy paste the definition
    of the measure x and use .CurrentMember instead .DefaultMember. And so for all related hierarchies of your dimension. You can run it as one query, just put enough measures (x1, x2, ...), one for each hierarchy, ok?
    Here's a test for Day():
    with
    member measures.y
    as
    iif( Day(Now()) = 28, 'Yes', 'No' )
    select
    measures.y on 0
    from [Adventure Works]
    Today this returns Yes, tomorrow it will be No.
    Ups, I just checked one more thing. When you run the script, it sets the default member only for that session. If you execute the first two of the four statements that I've sent you, it will set the default member on Bikes and show you that.
    But, if you open another query windows and execute that select statement (only), you'll see All member instead. So, it has set it to Bikes only for the currect session. Consequence? You reports are not aware of it. So, better use dynamic statement in
    your MDX script.
    Regards,
    Tomislav Piasevoli
    Business Intelligence Specialist
    www.softpro.hr

  • Report Issue - Nav Attribute

    Hi All,
        Here is my issue...
    I've a sales report against Multi Provider to display a filed <b>'Province Ship To'</b>, it is a Nav attribute of <b>'Customer Ship To'</b>. I've verified in mastre data of <b>'Province Ship To'</b> that there are values for both text (Medium & Short) & Key and also verified values exits in MP through LISTCUBE. But when I run a query I'm getting 'Not Assigned" value for <b>'Province Ship To'</b> and I need to see full description it.
    I'd appreciate if some one could help me on this as this is urgent...
    Thanks
    BI Consultant

    Thats what I did, display as both TEXT & KEY. For KEY it is  showing up, for example OR in KEY but not showing up the description for TEXT/Name column, isntead it is showing as "Not Assigned" for all records.
    I've verified Short & Med description extits for all records in Masterdata.
    Example:
    <b>Key                                    Txt/Name Desc.</b>
    OR                                         Oregon
    CA                                          California
    CT                                           Connecticut
    Thanks

  • Report on document based on document attributes (custom or standard)

    Hi All,
    Got a requirement to create a custom report in Solman to display document details under a project based upon the attributes (Custom or standard) of the document eg- Doc attribte phase 1 would result in a set of documents, phase 2 in another set.
    Please help me from where I can get the required data.
    Regards,

    I think i should have asked my question in a seperate thread...since it is considered as a reply to this thread....No indication/tool bar for rewardings points is found.....
    May be next time will reward more than expected..
    Thanks for all your service.
    Regards,
    Murali.S

  • How to create variable in BEx on a Nav Attribute?

    Hi All,
    We are creating a report on Master data object 0MILESTONE. 0PROJECT is the navigational attribute of 0milestone.
    and ZSTATUS is the navigational attribute of 0PROJECT.
    Requirement is to create variable on ZSTATUS in BEx. How do I do that? I dont see option of creating variable on Nav attribute of a Nav attribute.
    Regards,
    Bob

    Hi,
    There is nothing as such creating variable for navigation attribute. You can only create variable directly on particular infoobject.
    In your case you are using transitivie attributes. So they can not be accesed directly in BEX query. You can only use 1st level nagivation attributes in bex query.
    [http://help.sap.com/saphelp_nw04/helpdata/en/6f/c7553bb1c0b562e10000000a11402f/content.htm]
    Regards,
    Durgesh.
    Edited by: Durgesh Gandewar on Feb 22, 2012 3:53 PM

  • Tricky! Change of navi-attribute values in ABAP and use in selections

    Hi gurus,
    now I have a teaser that really keeps me busy, and which might be interesting for some of you:
    we use several statuses in our <u>Demand Planning in SCM 5.0</u>, some of which can be switched by using a user-function macro which just basically is a ABAP function module that <u>changes navigation attribute values directly on the database</u>, meaning in the master data tables of the respective characteristic.
    Now, the code works, the values are changed accordingly, leaving the data set in object status "active" - <b>BUT</b>:
    <i>when we call a selection, it still shows the old values, even after activating master data or running the attribute change run!</i>
    This is not what we expected. Our wish was, that once the table was updated with the correct field values, we would also see them in our selections.
    <u>Details:</u>
    we have two statuses as navi-attributes to an article:
    <i>DP:</i> YES/NO, and
    <i>oDP:</i> YES/NO
    Combinations originally are: <i>DP</i> YES/<i>oDP</i> NO
    After the status change macro, the table shows the following, as expected:
    <i>DP</i> NO/<i>oDP</i> YES
    As we have two selections, one on DP status "YES", the other one on oDP status "YES", we would like to see the article vanish in the first selection and show up in the other one...
    Does anybody have an idea what is wrong and what we can do to have to proper navi-attribute values from the master data table in the selection? Does the selection not read from the database but from a buffer?
    Looking forward to your answers,
    Klaus

    Hi Fabrice,
    yes indeed, I did check the object version, and it is A.
    Problem is, the function module changes the data record which is "A" anyway. So the changed data record is active - however, I just had a look at the SID master data table, and it looks that direct changes to the P-table do not affect the X-table where the SIDs are stored. So I guess I will also have to update the X-table with the correct SID-values.
    If this works, I let you know. We will be using this change by ABAP quite often, it is rather useful.
    Regards and thanks for your prompt reply,
    Klaus

  • Product :  Errors in attribute hierarchy structure SAP BCA   000164

    Hi All ,
    When ever i create /Display /Change Product in
    Financial Supply Chain Management --> In House Cash > Master Data>Product Definition--> Product --> Create /Change/Display
    system through below mentioned error .
    I tryed to resolve problem as per below mentioned program through se38 , but still getting same error
    Errors in attribute hierarchy structure SAP BCA   000164
    Message no. FIPR217
    System Response
    An error was found in the attribute hierarchy.
    In some cases, it is not possible to display the attribute hierarchy without having to correct the errors first.
    Procedure
    It is recommended that you run the FIPR_CLEAN_ATTRIBUTES (by using transaction SE38).  This report can recognize errors, and it attempts to correct them automatically.
    Caution: This report can change your table entries permanently.
    Once this report has run, you need to check the hierarchy structure, and make any necessary changes.
    Regards
    Prakash Sharma

    Hi,
    the realignment (KEND) does not change the line item tables (CE1***, CE2***), thats why they remain unchanged.
    The line items in CE1**** can not be changed. If you really want to have new line items (with the new prod. hierarchy) try in test-client if the use of report RKECADL1 and the new transfer to CO-PA for the deleted line items (KE4S, KE4SFI,...) can help you (SAPNET-note 69370 for details).
    CE2**** + SQL-error: As per now, I don't have an idea how to deal with that cases.
    best regards, Christian

  • ReadOnly items based on transient attribute - best approach?

    JDev11 question:
    Do you have any idea how can I make items updatable/readOnly based on transient attribute?
    Why is there only feature for "Updatable while new"..?It should be updatable based on function.
    I tried making my coponents disabled based on transient attribute based on a groovy expression.
    However when I invoke af:query, there is a problem - a bug which is similar to this thread:
    http://cn.forums.oracle.com/forums/thread.jspa?threadID=1018561&tstart=89
    So there should be another good approach.. Please suggest anything you think is flexible enough.

    Navid,
    JHeadstart checks whether the attribute definition is queryable before adding it to the list of advanced search attributes. A transient VO attribute can still be set to queryable, for a transient EO attribute this is not possible. We will remove this check on queryability in the upcoming patch release, since you have a valid use case. For now, you can subclass JhsSearchBean and override method createArgumentListForAdvancedSearch and comment out the check for "def.isQueryable()".
    Steven Davelaar,
    JHeadstart Team.

  • Date nav attribute on filter not working on version 7

    Hi All,
    We have done an update 3.5 to 7.0. We have a query which is filtered on a date filed which is a nav attribute from delivery.  In 3.5 this works fine, but in 7 it is not working.
    Any ideas on what I can check?
    Thanks.
    Nick

    Hi,
    you can do that in copying the query using transaction code RSZC and saving it to an new name
    1. Copy your first info-provider into new info-provider
    2. Then copy structures or queries from first info-provider into new info-provider with RSZC
    3. Modify new info-provider so way that it should have identical structure with your second info-provider
    4. Then copy structures or queries from new info-provider into second info-provider with RSZC
    5. Delete new info-provider
    So you have two different info-providers with identical queries.
    try this , it will work.(try in BI 7 enviornment )
    santosh

  • Tutorial for "aggregate based on dimensions"?

    Hi, has anyone seen a detailed, step by step explanation of how to use the "aggregate based on dimensions" functionality? I easily understand how this is used in "time based" examples - i.e. average balances over time, beginning and ending balances, etc.
    However, I'm thinking I may be able to use this to solve a problem I have where I need to average employee ages - but because employees can have more than one job, their ages often show up more than once (which I don't want). Somehow it seems like I should be able to use the FIRST or LAST aggregation function on one and/or some of the dimensions to achieve what I want...but I'm a bit stumped on how.
    Thanks in advance!
    Scott

    I believe you want to use the FILTER function:
    FILTER("Auto AR".UBI_AUTO_AR.PATIENT_AR USING "Auto AR"."UBI_AUTO_AR"."YEAR_MONTH" = last("Auto AR"."UBI_AUTO_AR"."YEAR_MONTH" ) )
    I am not positive that it will work with the last() function, but it is worth a shot. This will aggregate based on the aggregation setting for "Auto AR".UBI_AUTO_AR.PATIENT_AR.

  • Can I use Nav Attribute of a Nav Attribute for Drill Down....??

    Hello Gurur:
    I have a strange request.  We need to use 0EMPLOYEE in our Cube, whic has 'Comp. Code', 'Cost Center' 'User ID' as Nav Attributes.  "Com Pcode" has Nav attributes 'Global Divison" "Subsidiary" etc.
    We need to use the 'Global Division' ifor Selection in Dashboard and Web templates.  The only way to use it with 0EMPLOYEE" would be to use Variable on a Nav. Attribute of a Nav Attribute. ......  So involves 2 jumps.
    Is this something possible??  I have my doubts but has anyone seen done this?  Can someone please shed some light.
    Thanks a ton in advance,........
    Best  PBSW

    Hi pbsw2009:
       To answer your question, yes, that is possible, in fact that is what SAP calls "Transitive Attributes".
    In other words, Global Division is a Transitive Attribute of 0EMPLOYEE (in your scenario).
    Take a look at this document, "Understanding Transitive Attributes"
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90efdd6e-c86e-2910-db9c-87da68b3fc57?quicklink=index&overridelayout=true
    Regards,
    Francisco Milán.
    Edited by: Francisco Milan on Apr 27, 2010 10:31 AM

  • Attribute /hierarchy change run

    Hi,
    I have to run the Attribute/Hierarchy change run for only one infoobject. When I click on "Infoobject list", the list is empty even though some changes were made in the hierarchy. How can I get the infoobject list?
    Thanks.

    Hi.......
    The easiest method is ........use the Program : RSDDS_AGGREGATES_MAINTAIN.........there give the infoobject name.........Then in the top Program tab >> Execute in background...........then u can monitor the Job in SM37........the job name will be RSDDS_AGGREGATES_MAINTAIN..........
    But logically if changes has done to the Master data......Transaction RSA1 --> Tools --> Apply Hierarchy/Attribute Change... --> InfoObject List & Hierarchy List ............this List should contain the list of infoobjects.............if nothing is there..............it means no changes has been done.............and there is nothing to be activated............So also check whether the changes hav been done properly or not.....................then use this program............it should be done........
    Regards,
    Debjani......

  • Macro help: Nav Attribute Value

    Dear Macro Gurus,
    I need to realize this
    IF the value of the Navigational Attribute "NavChar2" of a POS "Char1" is = a, b, and c
    then
    do something.
    ENDIF
    I could do the something
    but couldn't get the macro function right for the IF.
    Help appreciated
    Thanks
    BS

    Is this any help?  Function ACT_IOBJNM_VALUE with a double underscore to separate the characteristic from its nav attribute.
    ACT_IOBJNM_VALUE( 'characteristic__navattr' ) = 'X'
    which could be implemented in macro similar to attachment

  • Extractrion of account and contacts based on marketing attributes

    Hi experts,
    I need to extract account and contact based on marketing attributes from sap crm to a .csv file. i m writing a programme for it.
    i have requirment where i need to exract all accounts in different file based on markting attributes and same requirement i mean i need to extract contact also based on same marketing attributes in different file. i know there is a table AUSP from whre we can pass bp_guid. but then how can i extract them in different files.
    thnks in advance.

    Based on Marketing attributes you will query AUSP table so you will get BP_GUID. Now based on BP Guid get the roles of the partners. If the partner is Account then read it into one table and if the partner is contact read it into another account. Using GUI_DOWNLOAD you can download both them into different files.

Maybe you are looking for