How to determine if shared member is descendant

I have an account dimension that has several different alternate hierarchies. All of the leaf level accounts are in the Base Accounts hierarchy; these leaf members are then shared in the other hierarchies.<BR><BR>What I would like to do is build a calculated measure that performs a particular formula if the current member is a descendant of a specific member, say X. I have tried to use IsAncestor and also the Count(Intersect(Descendants())) formula, but it apparently doesn't consider the shared members at the bottom as a descendant of X. I have also tried adding a UDA to the members in question and using the IsUDA function, but again, I can't use UDAs on the shared members.<BR><BR>Note this is an ASO cube being built in EIS.<BR><BR>Is there a way to determine whether a shared member is a descendant of a particular member in a hierarchy?<BR><BR>Thanks,<BR><BR>Matt

In general, shared members need careful handling in MDX. A couple of mechanical observations and a question.<BR><BR>Yup, there's a paradox at hand. The query <BR><BR> SELECT<BR> Filter (<BR> Descendants ( [Diet] ),<BR> IsAncestor ( [Product].CurrentMember, [Diet] )<BR> ) on axis (0)<BR> FROM [Sample.Basic]<BR><BR>returns an empty set, while the following formula only returns 1 for those shared versions that are in fact under the share, so the [100-20] under [Colas] does not get a 1.<BR><BR> Count (<BR> Intersect (<BR> { [Accounts].CurrentMember },<BR> Descendants (<BR> [[[Account Parent 1]]],<BR> [Accounts].Levels(0)<BR> ),<BR> ALL<BR> )<BR> )<BR><BR>Somehow, IsAncestor() returns FALSE even for members obtained as descendants of the Ancestor, while intersecting that member with the set of Descendants returns identity. But it's a different member somehow, since <BR><BR> Intersect (<BR> { [Accounts].Levels(0) },<BR> Descendants (<BR> [[[Account Parent 1]]],<BR> [Accounts].Levels(0)<BR> ),<BR> ALL<BR> )<BR><BR>only returns 1 instance of each member, not 2. Intersect(x,y, ALL) should return duplicates found in x when they exist. It seems like you can use Count(Intersect(Descendants())) for all "shared" versions of the member, but not the first, "non-shared" use of the member. Meanwhile, it would be great to avoid the set construction/counting overhead.<BR><BR>OK, enough of mechanics. What I'd like to inquire about is what you're trying to do. Are you trying to factor out logic into the shared parents, and then combine it based on what set of ancestors a member has? That would be clever, but maybe there's another approach. If you are trying to have different formulas for different shares, keep in mind that since a shared member is a shared instance of a member, it should have the same formula to calculate itself regardless of the parent it is under (since it is under all parents equally and simultaneously. A little more insight into your goals could give us a path to a solution.

Similar Messages

  • (ESSBASE) How to move shared member into hyerachy

    Hi, i've this question: How can I move a shared member into the Essbase Outline hyerarchy when I load metadata?
    I've tried using the "Allow Move" option into "Dimension Builiding" session of the rule, but the system gives me an error...

    I have a dimension called "clienti" structured in this way:
    Clienti
    - GER1
    -XXXXX 1
    -A
    -XXXXXX 2
    -GER2
    - YYYY1
    - YYYY2
    - A (shared)
    -GER3
    - ZZZZZ1
    - ZZZZZ2
    - A (shared)
    Now, using a rule that reads form SQL source, I wanto to transofrm my hyerarchy in this way (the member "A" changes his parent in all hyerarchies [Ger1, 2 and 3]):
    Clienti
    - GER1
    -XXXXX 1
    -XXXXXX 2
    -A
    -GER2
    - YYYY1
    - A (shared)
    - YYYY2
    -GER3
    - ZZZZZ1
    - A (shared)
    - ZZZZZ2
    The way I follow it's:
    1) load ONLY GER1 members filtering by SQL statement (Select * form "TABLE" where "FILED_NAME" ="GER1") with "ALLOW MOVE" option checked into rule properties -> IT'S OK, the member "A" changes its partent correctly
    2) load GER2 in the same way, but the system gives me this error: Dimension build failed. Error code[1060053]. Check the server log and the dimension duild log for more information. Unexpected essbase error1007083
    The log dont give me any info and the dimension build log is not created
    The same when I try to load GER3 and if I try to load ALL (Ger1 + 2 +3)
    My doubt is that is not possible to move shared members..
    Thaks!!

  • How to determine most recent date from the date column of internal table

    Dear friends
    would you like to tell me. how i determine the most recently changed record by looking at date and time from internal table i am not supposed to sort the table by date and time... I must check date and time with other records date and time to determine which record is most recently changed...
    here the scenario is.
    id idnumber chdate chtime
    1 123456 20060606 135312
    2 123456 20060606 135900
    3 123456 20060606 132300
    4 123457 20060606 140000
    5 123457 20060606 142500
    in the above scenario i must keep in my mind that the most recently changed record is identical to its idnumber i can say that:
    the record should be fetched this way
    id idnumber chdate chtime
    3 123456 20060606 132300
    5 123457 20060606 142500
    because here the id 3 is the most recently changed in the idnumber 123456
    where id 5 is the most recently changed in the idnumber 123457
    please help me to determin how i am supposed to carry out this task any suggestion, code will be great help of mine.
    regards
    Naim

    After testing my suggestion above, I realized that it doesn't work because the delete adjacent actually will keep the first one and delete the rest.  I'm working with Srinivas's code a bit now,  I think it is almost what you want.  I am under the impression that you dont' want to HIGHest date/time, but just the last record of the sequence, if this is the case, then this code will help.  Here we will assign an index to each record per the idnumber, that way we can sort it and get the lastest record.
    report zrich_0001.
    types: begin of itab_type,
            id       type i,
            idnumber type i,
            chdate   like sy-datum,
            chtime   like sy-uzeit.
    types: end of itab_type.
    types: begin of itab_type2,
            id       type i,
            idnumber type i,
            index    type i,
            chdate   like sy-datum,
            chtime   like sy-uzeit.
    types: end of itab_type2.
    data: itab     type table of itab_type with header line,
          itab2    type table of itab_type2 with header line,
          prev_rec type itab_type.
    data: v_id type i.
    start-of-selection.
      itab-id       = 1.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '135312'.
      append itab. clear itab.
      itab-id       = 2.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '135900'.
      append itab. clear itab.
      itab-id       = 3.
      itab-idnumber = 123456.
      itab-chdate   = '20060606'.
      itab-chtime   = '142500'.
      append itab. clear itab.
      itab-id       = 4.
      itab-idnumber = 123457.
      itab-chdate   = '20060606'.
      itab-chtime   = '140000'.
      append itab. clear itab.
      itab-id       = 5.
      itab-idnumber = 123457.
      itab-chdate   = '20060606'.
      itab-chtime   = '120000'.
      append itab.
      clear itab.
    <b>  data: counter type i.
    * Assign an index to each row per idnumber
      loop at itab.
        on change of itab-idnumber.
        if sy-tabix > 1.
          clear counter.
          endif.
        endon.
        clear itab2.
        move-corresponding itab to itab2.
        counter = counter + 1.
        itab2-index = counter.
        append itab2.
      endloop.
    * Sort it and get rid of older records.
      sort itab2  by idnumber ascending
                     index descending.
      delete adjacent duplicates from itab2 comparing idnumber.</b>
      read table itab2 with key idnumber = '123456'.
      write:/ itab2-chdate, itab2-chtime.
      read table itab2 with key idnumber = '123457'.
      write:/ itab2-chdate, itab2-chtime.
    Regards,
    Rich Heilman

  • Issue with User Variable Due Shared Member Security Access

       Hi All,
    One of my client is using User variable in data form to define POV.
    Now if user has access to 2 member in the Dimension, he should able to see 2 member when he try to assign the value to this "user variable"
    but he can see some of the parent member name ,this parent name has only one child which is a shared member of the 2 base member for which he has access.
    For Example:
    Entity Dimension:
    E1 (user has access)
    E2
    E3(user has access)
    E4
    Alt_Entity
    Alt_Entity1E1 (sharedmember)
    Alt_Entity2E2 (sharedmember)
    Alt_Entity3E3 (sharedmember)
    Alt_Entity4E4 (sharedmember)
    User is able to see below members, when he try to assign value
    E1 (user has access)
    E3(user has access)
    Alt_Entity1
    Alt_Entity3
    Now if I add another member under this parent, than user are unable to see this parent member.
    For Example:
    Entity Dimension:
    E1 (user has access)
    E2
    E3(user has access)
    E4
    Alt_Entity
    Alt_Entity1
    E1 (sharedmember)
    E2 (sharedmember)
    Alt_Entity2E2 (sharedmember)
    Alt_Entity3
    E3 (sharedmember)
    E2 (sharedmember)
    Alt_Entity4E4 (sharedmember)
    User is able to see below members, when he try to assign value
    E1 (user has access)
    E3(user has access)
    Any idea?

    Sorry, but actually its the parent that needs tagging with "Never Share", not the level 0 member, so Alt_Entity1 and Alt_Entity2 etc, see Essbase DBA guide
    understanding Implied
    Sharing
    The shared member property defines a shared data relationship explicitly. Some
    members are shared even if you do not explicitly set them as shared. These
    members are said to be implied shared members.
    If you do not want a member to be shared implicitly, mark the parent as Never Share so
    that the data is duplicated, and is not shared. See Understanding Shared Members for an
    explanation of how shared members work.
    So in the example above
    Entity Dimension:
    E1 (user has access)
    E2
    E3(user has access)
    E4
    Alt_Entity
    Alt_Entity1 - Set to "Never Share"E1 (sharedmember)
    Alt_Entity2E2 (sharedmember)
    Alt_Entity3 - Set to "Never Share"E3 (sharedmember)
    Alt_Entity4E4 (sharedmember
    Thanks
    Anthony

  • How to delete Hyperion Planning member using ODI

    Hi All,
    Anyone know how to delete Hyperion Planning member using ODI? And how to update account type on Hyperion Planning Using ODI?
    e.g.:
    I have a member with account type Saved Assumption, and I need to change to Revenue, but it cannot change. But if I change to Expense, it can. So what's wrong with the mapping?
    This is my csv file for update a member on Hyperion Planning.
    Parent,Account,Default Alias,Operation,Data Storage,Two Pass Calculation,Account Type,Time Balance,Skip Value,Data Type,Exchange Rate Type,Use 445,Variance Reporting,Source Plan Type,Aggregation,Member Formula
    Account,Statistics,,Update,,,,,,,,,,,,
    Account,Meal,,Update,Store,,Expense,,,,,,,,,
    Account,Test1,,Update,Never Share,,Saved Assumption,Average,None,Non-currency,none,,,Consol,~,
    Account,Test2,,Update,Never Share,,Revenue,Average,None,Non-currency,none,,,Consol,~,
    Account,Test3,,Update,Never Share,,Saved Assumption,Average,None,Non-currency,none,,,Consol,~,
    Thanks in advance.
    Regards,
    Sumardi
    Edited by: Sumardi Wijaya on Mar 31, 2009 10:57 PM

    Hi,
    To delete a member you use the Operation column, the following values can be used.
    Update – This is the default and is used if not populated, it Add, updates, moves the member being loaded.
    Delete Level 0 - Deletes the member being loaded if it has no children
    Delete Idescendants –Deletes the member being loaded and all of its descendants.
    Delete Descendants –Deletes the descendants of the member being loaded, but does not delete the member itself.
    Does the member you trying to change to Revenue have a variance reporting set to "Expense" as it will need to be set to "Non Expense"
    Also in your interface you can add logging options in the IKM, this maybe will give a clearer indication where your problem lies.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Still need a password to update apps purchased by another Family Sharing member!

    On iOS 8.1, I can enter App Store app, tap on the Purchased tab at the bottom, and then tap the upper-left corner to choose one of the members in the same Family Sharing members, then tap on the "download cloud" icon next to any apps purchased by that member. Doing so, I don't need to enter the password that Family Sharing member's Apple ID.  But, whenever apps, those purchased by other Family Sharing members, have an update, I would need to change the Apple ID to that Family Sharing member and enter the password, in order to enable the app update. Or, those apps will stay on the Updates page of the App Store app, waiting to be updated, forever. 
    How can the app update of apps purchased by other Family Sharing members be set automatic?

    No. To update apps you have to sign intot he account that purchased them.
    I have multiple Apple IDs. Is there a way for me to merge them into a single Apple ID?
    Apple IDs cannot be merged. You should use your preferred Apple ID from now on, but you can still access your purchased items such as music, movies, or software using your other Apple IDs.
    Just purchase the apps with your account

  • How to determine what prevents auto sleep?

    My iMac doesn`t go to sleep automatically, so my question is how to determine what prevents sleep?

    I, too, have just noticed this issue after I left my computer to secure empty trash. I thought my computer would enter sleep mode automatically, but when I returned to my home office to turn in for the night, I found that the computer had been on (with the monitor off) the entire evening. So much for "Energy Saver."
    I have been through as many of the threads covering this issue. I checked to see if there were any apps using the processor. None. I checked "Put the hard drive(s) to sleep when possible." I made sure Internet Sharing was unchecked. I even unchecked Bluetooth sharing or anything that would require some type of network or internet connection. Despite all this, the computer still does not go to sleep on it's own.
    I have just upgraded to Lion 10.7.3 on my iMac 2.4 Ghz Intel Core 2 Duo so this is definitely a continuing problem which has not been addressed since older theads dealing with early versions of Lion.
    Let's hope Mountain Lion will fix this.

  • Shared member equivalent to EssVGetMemberInfo?

    in excel - is there a way to do=EssGetMemberInfo([sheet];"value";8;TRUE/FALSE;[cell]) for shared members as well?i need the parent of a bottom level shared member but until now i have no clue how. there is no problem with the members, but i just couldn't find anything (macros, VBA functions, whatsoever) that works for shared members as well.any idea?marco

    user1113036 wrote:
    That's the way Essbase has worked from time immemorial. Annoying, isn't it?You think it's annoying in the UI? It is really annoying in the API.. A standard way to walk a tree structure is the 'preorder walk algorithm' which essentially walks down the children of the tree, the next sibling(s), then back to the parent, etc until eventually the original root node is encountered signaling that all nodes have been visited. With the behavior of Essbase described in this thread, a preorder walk actually goes into an endless loop when the 'parent' is the 'real' parent of a member and not the shared member 'parent'.
    Tim Tow
    Applied OLAP, Inc
    Edited by: timtow on Aug 24, 2008 5:37 PM

  • About Shared Member

    Hi,
    I am creating a text file to create dimension build using Parent-Child references. I am not sure how do i mention a shared member in the test file. IS there any symbol to represent a Shared member in the text file?
    Give me suggestions on this.
    Thanks,
    Nagesam M.

    Would I be correct in saying that if the member already exists in the outline - but your text file has it against a different parent then you can either create the shared member or MOVE the member in the outline. Again controlled by the dim build settings.

  • Shared Member: Global Property Change

    Hi,
    I am working in DRM( Web Version) 11.1.2.1. I have some issue with Shared Member Property change.
    Is there any way to restrict/change the Shared member Global property value without changing its base member value? Is there any system preference for this?
    If anybody know any other way to restrict it than please tell me, its urgent.
    Thanks in advance
    Rotesh Gupta

    I don't really understand your question, you are talking about BSO loading dimensions then extract then ASO, what actually is your question?
    If it is there a property for shared members then no there is not, here are the list of valid member property codes - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dotrules.html#dotrules_2
    If you want to understand how to build shared members then have a read of - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dotdimb.html#dotdimb1061244
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • "Shared Member" Property

    I was told today that when building dimensions for a BSO cube, is "Shared Member" is not a valid property to specify in an extract ? To the best of my recollection, "Shared Member" is not a valid property in an ASO cube.

    I don't really understand your question, you are talking about BSO loading dimensions then extract then ASO, what actually is your question?
    If it is there a property for shared members then no there is not, here are the list of valid member property codes - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dotrules.html#dotrules_2
    If you want to understand how to build shared members then have a read of - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dotdimb.html#dotdimb1061244
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Does @Prior work if @Prior member is a Shared Member?

    Hi,
    If you use @Prior and the previous member in the dimension is a 'Shared' member will @Prior know how to process that and return the values from the non-shared member?

    Hi,
    Yes. Think of Shared members as shortcuts in Windows.

  • Can't figure out how to use home sharing

    Since the latest couple iTunes updates, my family and I can not figure out how to use home sharing. Everyone in our household has their own iTunes, and for a long time we would just share our music through home sharing. But with the updates, so much has changed that we can no longer figure out how to use it.
    I have a lot of purchased albums on another laptop in the house, that im trying to move it all over to my own iTunes, and I have spent a long time searching the internet, and everything. And I just can't figure out how to do it. So.... how does it work now? I would really like to get these albums from my moms iTunes, onto mine. I would hate to have to buy them all over again.
    If anyone is able to help me out here, that would be great! Thanks!

    The problem im having is that after I am in another library through home sharing, I can't figure out how to select an album and import it to my library. They used to have it set up so that you just highlight all of the songs you want, and then all you had to do was click import. Now I don't even see an import button, or anything else like it. So im lost... I don't know if it's something im doing wrong, or if our home sharing system just isn't working properly.
    Thanks for the help.

  • How to determine logical database in a program?

    Hello guys!
    How to determine logical database in a program on Eclipse?
    I have not found any options:
    Thanks!

    Welcome to SDN
    Check the table RSOSFIELDMAP
    Assign points if useful
    Regards
    N Ganesh

  • How to set up shared use of "Contacts" data w/ 2 individual user accounts?

    How to set up shared use of application "Contacts" data for two individual user accounts?

    Link the contacts in one user account to a online cloud based system like Google or apples iCloud and then link the second user to that same online account. This could cause some slight problems if both people maintain their own online account to either of those systems on a phone or pad.

Maybe you are looking for

  • Need to repair boot camp installation on each sleep/reboot

    I Have a Mid-2009 Apple Macbook Pro computer with Windows 7 installed on it.  I use the Boot Camp drivers version 3.2.  These days i have an issue: every time I put the computer to sleep or reboot it, the boot camp drivers go faulty; the special keys

  • In PR only base uom can be used - Why not order unit ?

    Hi All, When I create PR for raw material, SAP by default takes the base UOM. But our stack holders wants to use Order unit in the PR. What is the setting required to use order unit in PR. If this can't be done - what is the note number to support th

  • Mailbox - Drafts...shows 1, but no drafted messages appear.

    Looking for some assistance here...my Drafts mailbox in my email shows I have 1 drafted email.  However, when I highlight on the mailbox, no drafted email is shown.  How do I remove the notification showing I have a draft in that mailbox?  It seems t

  • Error in Extended syntax check- Select Query

    Hi all, Iam getting this following error in Extended syntax check " Large table PA0002: No field of a table index in WHERE condition" Code :SELECT SINGLE PERNR INTO (G_PERNR) FROM PA0002 WHERE ZZLEGACY_PAYROLL = I_FILETAB-PRNO                        

  • Broken Nomad Jukebox

    Please Help!! I was given an MP3 player for my birthday and it only worked for 2 days!!! it keeps saying '<EM>hardware problem</EM>' and after looking through the manual and trying that way (press reset and press play!) it still doesn't work, Could a