Parent child dim build??

Hi,
In parent child reference method can we build dimension order like child-parent-properties....? coz my source file is coming in child-parent-properties format.
How I can achieve this??
Thanks

Yes, you can build the dimension using the Parent-Child technique as per your source.
In the dataprep editor, select the field1 (which is Child as per the source file) and select the option "Move" so that it will be field2 and Parent member will be in field1

Similar Messages

  • Parent child dim build error??

    Hi,
    I'm loading members using parent child refernce method. My requirement is to load only level 0 members of already existed membesr from the outline.If data file has any new parent ,Essbase should kick out the new parent but should not load to the outline. Do we have any property for this in rule file or anywhere in EAS?
    Im using EAS 11.1.1.3

    To echo Glenn, you could use other approaches to pull dimensionality out of Essbase -- Applied OLAP's Outline Extractor, MaxL's export outline, etc.. get that output into a table, and then write SQL to do the tests. There's nothing in a Load Rule that will do what you want. ODI is fine as well (I am a fan of the tool) but it isn't the only approach and at the end of the day, you will be writing SQL in ODI to do this test.
    Regards,
    Cameron Lackpour

  • Does essbase studio support Parent/Child build method

    Hi,
    I am trying to build essbase outline from Essbase studio where my source data is in Parent child format. Dimension hierarchies are not built correctly with this build method.. all members are appearing as siblings... could you please confirm if essbase studio does support Parent Child build method... so that i can try to fix the bugs at source if there are any. Thanks for your help in advance.
    Regards,
    Praveen

    HI John and Glenn,
    Thank you very much for your help. I have now built essbase outline with recursive hierarchies.
    I have total 11 dimensions and 1 fact table. During the cube schema built, chosen fact table column 'Amount' into measures/measure, 11 hierarchies into hierarchy section... and one dimension as "Account" dim from the 11 dims. The data load is failing with the below error:
    Failed to deploy Essbase cube.
    Caused by: Failed to load data into database: CurrrASO.
    Caused by: Cannot get async process state. Essbase Error(1003007): Data Value [8.23326e+007] Encountered Before All Dimensions Selected, [1] Records Completed
    The native sql issued by Studio does not contain the dimension column which is designated as Account dim. I have used custom sql (included one column from each of the 11 dims) but here the data value is also treated as member name and all the records are rejected.
    Member 37356.617844 Not Found In Database
    [2] Mar USD No Segment FY07 Actual-Detail E345 D310 R00 P0000 PL000 7306 37356.617844
    I cant open the rules files in AAS console to check what was going on.. so need your help to understand where i am going wrong.
    Thanks,
    Praveen
    Edited by: user8627339 on Dec 22, 2010 10:26 PM

  • HELP: how to build a parent-child hierarchy

    Hy everyone,
    my question is very basic: i need to know what is the structure of the relational tables that OBIEE accepts upon which i can build a parent-child hierarchy. I have data that OBIEE does not accept, do you know where i can find a clear description of the structure of the tables that has to be builded for creating correctly a parent-child hierarchy?
    Thanks anyone a lot,
    Regards

    I've found what i needed, for everyone else:
    http://docs.oracle.com/cd/E21043_01/bi.1111/e10540/dimensions.htm#BGBGACFJ
    The parent-child relationship table must include four columns, as follows:
    •A column that identifies the member
    •A column that identifies an ancestor of the member. Note: The ancestor may be the parent of the member, or a higher-level ancestor.
    •A "distance" column that specifies the number of parent-child hierarchical levels from the member to the ancestor
    •A "leaf" column that indicates if the member is a leaf member (1=Yes, 0=No)
    The column names can be user defined. The data types of the columns must satisfy the following conditions:
    •The member and ancestor identifier columns have the same data type as the associated columns in the logical table that contains the hierarchy members. Note that the example shown in Table 9-1 uses text strings for readability, but you normally use integer surrogate keys for member_key and ancestor_key, if they exist in the source dimension table.
    •The "distance" and "leaf" columns are INTEGER columns.
    Note the following about the rows in a parent-child relationship table:
    •Each member must have a row pointing at itself, with distance zero.
    •Each member must have a row pointing at each of its ancestors. For a root member, this is a termination row with null for the parent and distance values.

  • No Results after build a Parent-Child Hierarchy in OBIEE11G

    Hi All:
    Here's an problem. I followed the "http://sandybi.wordpress.com/2010/08/17/hierarchies-in-obiee-11g-part-1/" this article step by step to create a parent-child hierarchy in admin tool in OBIEE11G.
    But after check in and try to retrieve the hierarchy data in Answer. There's always displays "No Results."
    Is there any suggestions for this ? Really urgent and thanks for your help.
    Best regards
    Sunny

    @Aketi
    It is One way that We derive
    "sys_connect_by_path(RowIDToChar(RowID),'.') as
    RowIDList"
    Then
    We use Left Join Using
    "instr(RowIDList,RowIDToChar(RowID))".sorry, didn't catch what you mean.
    my site :-)
    http://oraclesqlpuzzle.hp.infoseek.co.jp/4-13.html
    pity, I don't know Japanese :(
    @Rob
    your query is good and simple :) probably it's the best alternative for the OP.
    But it won't work with not a plain hierarchy, e.g.:
          1
        2   3
          4
        5   6
    SQL> create table hierarchy (child,parent)
      2     as
      3     select 1, null from dual union all
      4     select 2, 1 from dual union all
      5     select 3, 1 from dual union all
      6     select 4, 3 from dual union all
      7     select 4, 2 from dual union all
      8     select 5, 4 from dual union all
      9     select 6, 4 from dual
    10  /
    Table created
    SQL>
    SQL> create table data (hierarchyid,value)
      2    as
      3    select 5, 10 from dual union all
      4    select 6, 25 from dual
      5  /
    Table created
    SQL>
    SQL> select h.child
      2           , sum(connect_by_root d.value)
      3        from hierarchy h
      4           , data d
      5       where h.child = d.hierarchyid (+)
      6     connect by prior h.parent = h.child
      7       group by h.child
      8       order by h.child
      9  /
         CHILD SUM(CONNECT_BY_ROOTD.VALUE)
             1                          70
             2                          35
             3                          35
             4                          70
             5                          10
             6                          25
    6 rows selected
    SQL>

  • How to build what a parent child record looked like from audit history

    I've got a simple parent child relationship (eg DEPT/EMP) and I have audit triggers on the 2 tables that log any changes. The 2 tables are seen by the User as 1 entity, so if an EMP record changes, that is essentially a DEPT change. I want to show a record where the info shown is correct at that particular point in time.
    Now for a very crude example to illustrate...
    So, says it's 9:00 and we have:
    Dept 1=Sales
    Emp 1=Clark
    Emp 2=Smith
    Now we change Emp 1 at 9:01 to Smythe
    Next we change Dept 2 at 9:02 to Sales UK
    Next we add Emp 3=Jones at 9:04
    Next we change Emp1 at 9:05 to Clarke
    So now if the User looks at the history of Dept 1 they will see it has changed at the following times:
    9:01 (emp change)
    9:02 (dept change)
    9:04 (emp change)
    9:05 (emp change)
    even though the actual Dept table was only changed once.
    This part is easy enough to extract but the next part I'm struggling to get my head around (must be Friday afternoon!).
    The User wants to be able to view what the "Dept" looked like at the time of the change. So we would get the following results:
    9:00 Dept 1=Sales, Emp 1=Clark, Emp 2=Smith (as per original data)
    9:01 Dept 1=Sales, Emp 1=Clark, Emp 2=Smythe
    9:02 Dept 1=Sales UK, Emp 1=Clark, Emp 2=Smythe
    9:04 Dept 1=Sales UK, Emp 1=Clark, Emp 2=Smythe, Emp 3=Jones
    9:05 Dept 1=Sales UK, Emp 1=Clarke, Emp 2=Smythe, Emp 3=Jones
    I'm trying to write a bit of SQL to do this but the tricky bit comes in due to having 2 different tables that have triggered the change to a "DEPT". I see the output as being as many rows as there are children, so the raw output for the above summary would be along the lines of:
    9:00, Dept 1=Sales, Emp 1=Clark
    9:00, Dept 1=Sales, Emp 2=Smith
    9:01, Dept 1=Sales, Emp 1=Clark
    9:01, Dept 1=Sales, Emp 2=Smythe
    9:02, Dept 1=Sales UK, Emp 1=Clark
    9:02, Dept 1=Sales UK, Emp 2=Smythe
    9:04, Dept 1=Sales UK, Emp 1=Clark
    9:04, Dept 1=Sales UK, Emp 2=Smythe
    9:04, Dept 1=Sales UK, Emp 3=Jones
    9:05, Dept 1=Sales UK, Emp 1=Clarke
    9:05, Dept 1=Sales UK, Emp 2=Smythe
    9:05, Dept 1=Sales UK, Emp 3=Jones
    Any help appreciated!!
    An alternative to all this is to make my trigger on each table populate this info (ie write whatever is currently in place) into a table structured as I have mentioned above (so Dept i denormalised) but that looks to be a bit messy.

    Two tables, Dept and Emp. Both have audit triggers inserting into it's own audit table.
    create or replace table DEPT(
    dept_no number,
    dept_name varchar2(50),
    dept_city varchar2(50));
    create or replace table EMP(
    emp_no number,
    emp_surname varchar2(100),
    emp_firstname varchar2(50),
    emp_dept_no number);dept_no pk of DEPT
    emp_no pk of EMP
    emp_dept_no FK from EMP to DEPT.dept_no
    create or replace table DEPT_AUDIT(
    dept_no number,
    dept_name varchar2(50),
    dept_city varchar2(50),
    audit_date_time date);
    create or replace table EMP_AUDIT(
    emp_no number,
    emp_surname varchar2(100),
    emp_firstname varchar2(50),
    emp_dept_no number,
    audit_date_time date)
    create or replace trigger dept_audit
    after insert or update
    on dept for each row
    begin
      insert into dept_audit(dept_no, dept_name, dept_city, audit_date_time)
      values(:NEW.dept_no, :NEW.dept_name, :NEW.dept_city, sysdate);
    end;
    create or replace trigger emp_audit
    after insert or update
    on emp for each row
    begin
      insert into emp_audit(emp_no, emp_surname, emp_firstname, emp_dept_no, audit_date_time)
      values(:NEW.emp_no, :NEW.emp_surname, :NEW.emp_firstname, :NEW.emp_dept_no, sysdate);
    end;My above example (ignoring that the columns don't match up but hopefully you get the drift) would end up with the following results in the 2 audit tables:
    DEPT_AUDIT
    9:00 Dept 1=Sales (insert)
    9:02 Dept 1=Sales UK (update)
    EMP_AUDIT
    9:00 Emp 1=Clark (insert)
    9:00 Emp 2=Smith (insert)
    9:01 Emp 2=Smythe (update)
    9:04 Emp 3=Jones (insert)
    9:05 Emp 1=Clarke (update)
    As I said originally, I want to get a view of what the "DEPT" looked like at a particular time and to do this I need to take into account the EMP changes for the DEPT which is why my results would be as follows:
    9:00 Dept 1=Sales, Emp 1=Clark, Emp 2=Smith
    9:01 Dept 1=Sales, Emp 1=Clark, Emp 2=Smythe
    9:02 Dept 1=Sales UK, Emp 1=Clark, Emp 2=Smythe
    9:04 Dept 1=Sales UK, Emp 1=Clark, Emp 2=Smythe, Emp 3=Jones
    9:05 Dept 1=Sales UK, Emp 1=Clarke, Emp 2=Smythe, Emp 3=Jones
    Though what I really want is the rows that make it up like:
    9:00, Dept 1=Sales, Emp 1=Clark
    9:00, Dept 1=Sales, Emp 2=Smith
    9:01, Dept 1=Sales, Emp 1=Clark
    9:01, Dept 1=Sales, Emp 2=Smythe
    9:02, Dept 1=Sales UK, Emp 1=Clark
    9:02, Dept 1=Sales UK, Emp 2=Smythe
    9:04, Dept 1=Sales UK, Emp 1=Clark
    9:04, Dept 1=Sales UK, Emp 2=Smythe
    9:04, Dept 1=Sales UK, Emp 3=Jones
    9:05, Dept 1=Sales UK, Emp 1=Clarke
    9:05, Dept 1=Sales UK, Emp 2=Smythe
    9:05, Dept 1=Sales UK, Emp 3=Jones
    Hope that is a bit clearer.
    thanks for taking time to look.

  • Parent Child Hierarchy for Type 2

    I have read the articles on Parent Child hierarchy setup in OBIEE 11g, however, most are based on what seems to be a current snapshot of the Employee-Manager relationship. Has anyone tried to build out a Parent-Child hierarchy/table off a Type 2 dimension. Being able to navigate what the hierarchy may have been on a specific date.
    I would welcome any feedback, thanks.

    Hi,
    Thanks for the reply, I'm actually using snapshots. But even with the Type 2 Dim I don't think it will work.
    When OBIEE generates the very first sql against the Parent-Child table the fact table is not included in the query. It seems to create 2 queries - one to find the top level parent (ancestor key is null) and then one to find all the leaf nodes.
    It does not have any join to the fact table when it does this. So if you have multiple rows in the table (with date stamps) for a single row (person in this case) - it picks up both rows. Therefore, when you have a person who was, say, promoted to manager, and WAS a leaf node, and is now a manager, they show up in the leaf query and don't display in the hierarchy as a manager.
    Once it has the leaf nodes and it joins to the fact table everything works (ie the surrogate key join).
    I'm trying to figure out if there is any way to influence those initial queries against the parent-child table.
    Hopefully that made sense.
    Thanks,
    Tori

  • Parent-Child Relationships in Essbase Studio

    In Essbase Studio, I am defining a hierarchy in which a parent member (Wholesaler) is from one dimension table and child member (Rep) is from another. When I preview this hierarchy or build an outline to include it, a few of the Reps that should rollup to a certain Wholesaler are missing. They are not dropped, but Essbase Studio just never recognizes these Reps as being children of that Wholesaler in the first place. However, if I run a sql query against the source data mart with the correct joins, these missing reps do show up in the records of that Wholesaler. Also, the missing Reps are showing up fine in the hierarchy preview as long as I don't make them children of anything in the Wholesaler dim. So Essbase Studio is able to see these Reps, but just can't figure out how they are related to the given Wholesaler. Again, this is only happening for about 10% of the Reps for the Wholesaler. Other Reps are showing up fine in the parent-child relationship.
    In the source data mart, I don't see any NULLs or anything amiss in the records for the missing Reps. What other reasons would Essbase Studio not recognize a particular joined record?

    it really does sound like a join issue. You say if you just load the children without the parent, they load, but if you associte them to the parent, they don't. You might try when creating the joins to do a full outter join to see if they load and to what.
    One other thing you could try would be to create a user defined table that has the join in it. I've found data atype issues in joins from different tables before. Studio is very pickey about this
    Edited by: GlennS_3 on Oct 20, 2010 9:12 AM

  • How to use substitution variable in case of dim build

    Hi all,
    Lets say I have 3 sub vars - Prevmonth, prevmonth-1, prevmonth-2. These will change every quarter.
    I want to build a cube which will have which will have only the above 3 months in the Fiscal dimension. This will be used once at the end of quarter.
    How do I refer substitution variables in case of dim build rule files? I want automate the process. We have SQL dim build for other dims, only this dim can be built from flat file also.
    Or is there any other way to achieve this apart from using sub vars? I can try store the 3 variables in a table and then use them to build the cube, but want to see if we can avoid creating one more interface.
    Thanks.

    Actually using the values of subvars to build a dimension (which I believe is what you want) is a fun problem.  Here's an (Oracle) example that would do that, without requiring any additional table or flat file:
        SELECT 'FiscalPeriod' AS Parent,
               CASE Level
                  WHEN 1 THEN '&CurrMonth'
                  WHEN 2 THEN '&PrevMonth'
                  WHEN 3 THEN '&PrevMonthMinusOne'
               END AS Child
          FROM Dual
    CONNECT BY Level <= 3
    Here's how it looks in the load rule SQL dialog, and the data prep editor:
    It's fun because I've never thought about it before, but I don't actually recommend this - if you have other ETL going on in SQL I'd generate the values in a table / view there, and have a script that both updates the subvars and builds the dimension direct from that.

  • Sorting members using Load Rule Parent Child Method

    Hi all,
    I have a Product Dimension with around 7 gen's and wanted to sort Gen 3 members under parent (say CommProduct). All these members are initially loaded using Studio and i am trying sort Gen 3 members using a text file / Load Rule (Parent Child Method). I have "Allow Moves" ,"Allow Property Changes" and member sorting: None checked for the load rule. I tried updating the outline using the load rule, however the outline remains unchanged and members sorted by alphabets.
    Essbase Version: 11.1.2.3
    Current Hierarchy:
    Product 
               CommProduct
                                     A
                                     B
                                     C
                                     D
                                     E
    Hierarchy Wanted:
    Product 
               CommProduct
                                     A
                                     C
                                     E
                                     B
                                     D
    Dim Build Text File:
    Parent,Child,Aggregation
    CommProduct,A,+
    CommProduct,C,+
    CommProduct,E,+
    CommProduct,B,~
    CommProduct,D,+
    Any help would be highly appreciated.
    Thanks

    Can't you create a column where you can specify the desired order and build accordingly. I don't think you can achieve that using a load rule. Allow moves works only if the members are under a different parent. In your case it is the same parent.
    Regards
    Celvin
    http://www.orahyplabs.com

  • 'Invalid Dim' error during dynamic dim building

    Hi Folks,
    I am trying to update an outline using my own dim rules file and data .txt file, but i get an error in the dimbuild log file saying "\\Column 7 - Invalid Dimension" What could be the reason for this? The outline already contains 5 standard dims (i.e. Customer, Period, Account, Scenario and Year) and 2 more attribute dims. My goal is to add some new members to the existing Account dim. My data file looks like this:
    Account,Metrics,,O,~
    Metrics, Avg_Wolverines_Juggled, Average Wolverines Juggled, S,~
    Metrics, Avg_Dropped_Wolverines, Average Dropped Wolverines, S,~
    Metrics,Headcount,,S,~
    In the data-prep editor I have created a .rul file that has 6 columns (fields). The first field I created by mistake, so I have set it to 'ignore field..' under 'dim build properties'. The next 5 fields map correctly to the way I have arranged my data file, i.e Parent0, Account Child0, Account Alias0, Account Property0, Account Property0, Account
    This .rul file validates correctly, but when I try to update the outline, I get the "\\Column 7 - Invalid Dimension" error log message. The log msg says that the data file contains an error, but may have partially loaded data. However, I don't see a SINGLE new member added to the outline..
    In terms of settings, everything under 'Dim Build Properties' seems fine. i.e. for each field the correct dim type (e.g. Parent, Child, Alias, or Property) and dim name (i.e. Account) is selected. However, under 'Dim Build Settings', when i try to choose 'Account' as the dim name, it reverts back to the name of the first dim in the outline (i.e. Customer) whenever I close/reopen 'Dim Build Settings' This happens even though I do a double-click and make sure 'Account' is shown in Blue before closing out of 'Dim Build Settings' Could this have something to do with the error I am getting? I have also made sure that the 'Build Method' is correct (i.e. Parent/Child references) for the two main dim fields. As per my understanding, for alias and properties fields, the Build Method doesn't matter.
    I apologize for the long question, but would really appreciate some help.
    thanks,
    Akshay

    Ah good old wolvering Juggling. The problem is they will bite you if you are not careful. (It's a nice metaphor for essbase). learning from Edwards book I see.
    your file looks like it only has five columns and you say you created a sixth column that you set to ignore. The message indicates there is a 7th column. Open your load rule and your data file and see if in fact there is a trailing column. Also, make sure you set the dimension build properties for the account dimension to be parent/child

  • Parent Child Hierarchy Issue in OBIEE 11g

    Hi All,
    I am in OBIEE 11G v6. I have a sales fact table where the grain is one sale. So I have one row for every sale done.
    Now I have a ragged employee hierarchy like this with David at the root node.
    David >>Richard>>Sean
    David >>James
    Also, I have a role dimension which gives me what role each employee has performed on a sale. Only one employee can be associated with one sale. This is the way Roles have been asssigned
    David = Manager
    Richard = Off1
    Sean = Off2
    James = Off2
    Both Sean and James can have same Roles. Now I have created a parent child hierarchy for my employee dimension and the closure table. Defined the member key, ancestor key relationship in the parent child setting etc.
    Now in the report when I pull the parent child hierarchy and the sales_amount in the report, it comes out perfect with all the ragged hierarchy resolved. But the issue comes when I try to limit the report on Role = Off2. It gives me an error saying " The layout of this view combined with the data, selection , drills resulted in no data. Undo drill and view prompt values". Basically what i want is to be able to select any role type and then my hierarchy should be adjusted to show me that data. Like when I select Off2, I want to see David at the Top level and Sean and James under him because they are both Off 2 and David is their manager.
    Is that possbile? Also, am I getting this error because when I select Off2 though it gets Sean and James but since David is not Off2, I don't get the data?
    I hope I was able to explain the issue, any help on this would be greatly appreciated.
    Thanks
    Ronny

    So basically this means that if I build a parent child hierarchy on table A having the stucture like
    --David (Manager)
    -----James (Off1)
    --------Bill (Off2)
    and in my sales fact table for let's say today, I have only rows for Bill (Off2) because he is the only officer who did the sales today. Now when I will join my fact table to parent child hierarchy table A I will NOT get any data ? because there is no James who is the parent of Bill. So obiee need to have parent pulled off in the data (ANCESTOR) to be able to roll up the child.(IS_LEAF = 1)
    I testes this and if my data only contains only rows for Bill (or I limit on ROLE = Off2) then it won't show the hierarchy. The query which OBIEE fires is to look for either ANCESTOR_KEY = NULL OR (DISTANCE = 1 AND ANCESTOR KEY IN (Bill). Therefore it doesn't I am wondering then what is the use of builiding the parent child hierarchy when we need to pull in all the ancestors (like in this case James for bill and David for james) because in real scenarios there can be cases wherein we would want to filter the data based on other dimensions to which the parent child hierarchy joins ?

  • OBIEE 11g - Navigation in Parent Child Hiearchy not working

    Hi All,
    I have a employee parent child hierarchy and I want to show revenue for each employee in the report. I have modeled my revenue as a measure like case 4 shown in the following link
    http://www.rittmanmead.com/2010/11/oracle-bi-ee-11g-parent-child-hierarchies-multiple-modeling-methods/
    So for example this is my report ,
    --David (30)
    ---Sandra (15)
    -----Joe (10)
    Joe'e revenue is 10, Sandra's is 5 (showing her 5 Joe's revenue) and David's is 5 (showing his 5 Sandra's revenue)
    Issue :
    Now what I want is to provide action link on the revenue column so that when user would click on revenue for any employee it would direct them to a detail report showing the bifurcation.
    For ex, I want that when user click on 15 which is Sandra's revenue, he would be redirected to a detailed report for Sandra and similary for Joe and David
    MY ISSUE IS that the navigation is NOT working for sandra and Joe. It is only working for David (who is the ancestor of sandra and Joe). When I click on 15 to see sandra's detail report, it doesn't do anything and in the bottom left corner of the browser status bar below I see an ERROR saying
    (same for Joe but David work's fine)
    Message: 'getLevelInfo(...)' is null or not an object
    Line: 1
    Char: 11142
    Code: 0
    URI: http://localhost:7001/analytics/res/b_mozilla/answers/selectionsmodel.js
    Why is that happening? Is that because I have modeled the revenue as an measure and not attribute. Is navigation not possible in this case?
    Anybody has any solution or workaround for this, it will be highly appreciated.
    Thanks,
    Ronny

    Ok, so let me explain this in detail and give the structure of my tables and the data,
    There are three tables.
    1.Parent Child relationship table - pctable
    2.Closure table which OBIEE creates through a script - reltable
    3.Fact table which contains the revenue - facttable
    This is the data
    pctable
    personid | managerid
    David | NULL
    Sandra| David
    Joe|Sandra
    reltable
    memberkey | ancestorkey |distance |is_leaf
    David|NULL|NULL|0
    David|David|0|0
    Sandra|Sandra|0|0
    Joe|Joe|0|0
    Sandra|David|1|0
    Joe|Sandra|1|1
    Joe|David|2|1
    facttable
    personid|revenue
    David|5
    Sandra|5
    Joe|10
    and my joins conditions are, I join pctable to reltable and then reltable is joined to facttable like this.
    pctable.personid = reltable.ancestorkey
    reltable.memberkey = facttable.personid
    and then in the report, when I pull up the pchierarchy build from pctable and revenue , I get as below and like I said, when I click on Sandra to see the revenue she contributes, I am not able to navigate. Can you let me know what modifications needs to be done?
    ---David(20)
    ----Sandra(15)
    ------Joe(10)

  • Issue to check in parent-child closure table attributes to OBIEE repository

    I use OBIEE 11.1.1.5 Administration Tool to open repository in online mode and set up parent-child hierarchy. There are no issues but after I check in changes to server, close repository and open it back from server, closure table attributes are missing.
    On the other hand when I save repository file locally, close it and then open offline, all mentioned attributes are there. Also all other modifications (except hierarchy) are properly checked in to remote repository.
    When I compare UDML from remote and local copy of repository here is part missing in remote:
    CLOSURE TABLE ATTRIBUTES( "xxx".."yy"."ORG_STRUCTURE_CLOSURE"."MEMBER_KEY",
              "xxx".."yy"."ORG_STRUCTURE_CLOSURE"."ANCESTOR_KEY",
              "xxx".."yy"."ORG_STRUCTURE_CLOSURE"."DISTANCE",
              "xxx".."yy"."ORG_STRUCTURE_CLOSURE"."IS_LEAF")
    When trying to build web report I get "[nQSError: 38107] Not all four columns are defined for closure table" (which is actually not surprising).
    Unfortunately I need to do this change in online mode without restarting obiee services.
    Any ideas how to force admin tool to check in all changes to remote repository?

    Finally I applied workaround:
    - modified hierarchy in offline mode
    - deployed repository
    Now when importing repo in online mode closure table parameters are in place.

  • Dynamic hierarchy in parent child hierarchy table??

    Do you have any experience to handle the requirement of dynamic hierarchy in universe/webi?
    We have some data in parent child hierarchy as below u201CCustomeru201D table.
    Customer
    Parent          Child
    Z                  A
    Z                  B
    A                  AA
    B                  BB
    AA               AAA
    For example, Company Z is the parent company of Company A.
    Another table, Amount is the amount value of different Customers.
    Amount
    ID               Amt
    AA               10
    AAA            1
    BB                2
    Is there any functionality in Universe designer to build related Classes and objects, So that the web intelligence documents represent the following report with the drilling results?
    When we want to see the ID and Amt, the expected result should be:
    Z                13
    when we drill down Z
    the result should be:
    A                11
    B                2
    when we drill down A:
    the result should be:
    AA              11
    notes **
    the level of hierarchy is dynamic
    Any suggestion is appreciated.  Thanks.

    Hi,
    The only way to do it is to create recursive derived table that flatten you parent child hierarchy with a given maximum depth.
    Here is a sample I built a long time ago to flatten a parent-child hierarchy on Employees table in Foodmart database (SQL Server).
    Didier
    SELECT DISTINCT
         Z.employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         A.supervisor_id_6,
         A.employee_id_6,
         A.full_name_6,
         Z.supervisor_id AS supervisor_id_7,
         Z.employee_id AS employee_id_7,
         Z.full_name AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              A.supervisor_id_5,
              A.employee_id_5,
              A.full_name_5,
              Z.supervisor_id AS supervisor_id_6,
              Z.employee_id AS employee_id_6,
              Z.full_name AS full_name_6
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   A.supervisor_id_4,
                   A.employee_id_4,
                   A.full_name_4,
                   Z.supervisor_id AS supervisor_id_5,
                   Z.employee_id AS employee_id_5,
                   Z.full_name AS full_name_5
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        A.supervisor_id_3,
                        A.employee_id_3,
                        A.full_name_3,
                        Z.supervisor_id AS supervisor_id_4,
                        Z.employee_id AS employee_id_4,
                        Z.full_name AS full_name_4
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             A.supervisor_id_2,
                             A.employee_id_2,
                             A.full_name_2,
                             Z.supervisor_id AS supervisor_id_3,
                             Z.employee_id AS employee_id_3,
                             Z.full_name AS full_name_3
                        FROM employee Z,
                             SELECT DISTINCT
                                  A.supervisor_id_1,
                                  A.employee_id_1,
                                  A.full_name_1,
                                  Z.supervisor_id AS supervisor_id_2,
                                  Z.employee_id AS employee_id_2,
                                  Z.full_name AS full_name_2
                             FROM employee Z,
                                  SELECT DISTINCT
                                       supervisor_id AS supervisor_id_1,
                                       employee_id AS employee_id_1,
                                       full_name AS full_name_1
                                   FROM employee
                                   WHERE supervisor_id = 0 OR supervisor_id IS NULL
                             ) A
                             WHERE A.employee_id_1 = Z.supervisor_id
                        ) A
                        WHERE A.employee_id_2 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_3 = Z.supervisor_id
              ) A
              WHERE A.employee_id_4 = Z.supervisor_id
         ) A
         WHERE A.employee_id_5 = Z.supervisor_id
    ) A
    WHERE A.employee_id_6 = Z.supervisor_id
    UNION
    SELECT DISTINCT
         A.employee_id_6 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         A.supervisor_id_6,
         A.employee_id_6,
         A.full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              A.supervisor_id_5,
              A.employee_id_5,
              A.full_name_5,
              Z.supervisor_id AS supervisor_id_6,
              Z.employee_id AS employee_id_6,
              Z.full_name AS full_name_6
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   A.supervisor_id_4,
                   A.employee_id_4,
                   A.full_name_4,
                   Z.supervisor_id AS supervisor_id_5,
                   Z.employee_id AS employee_id_5,
                   Z.full_name AS full_name_5
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        A.supervisor_id_3,
                        A.employee_id_3,
                        A.full_name_3,
                        Z.supervisor_id AS supervisor_id_4,
                        Z.employee_id AS employee_id_4,
                        Z.full_name AS full_name_4
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             A.supervisor_id_2,
                             A.employee_id_2,
                             A.full_name_2,
                             Z.supervisor_id AS supervisor_id_3,
                             Z.employee_id AS employee_id_3,
                             Z.full_name AS full_name_3
                        FROM employee Z,
                             SELECT DISTINCT
                                  A.supervisor_id_1,
                                  A.employee_id_1,
                                  A.full_name_1,
                                  Z.supervisor_id AS supervisor_id_2,
                                  Z.employee_id AS employee_id_2,
                                  Z.full_name AS full_name_2
                             FROM employee Z,
                                  SELECT DISTINCT
                                       supervisor_id AS supervisor_id_1,
                                       employee_id AS employee_id_1,
                                       full_name AS full_name_1
                                   FROM employee
                                   WHERE supervisor_id = 0 OR supervisor_id IS NULL
                             ) A
                             WHERE A.employee_id_1 = Z.supervisor_id
                        ) A
                        WHERE A.employee_id_2 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_3 = Z.supervisor_id
              ) A
              WHERE A.employee_id_4 = Z.supervisor_id
         ) A
         WHERE A.employee_id_5 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_5 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         A.supervisor_id_5,
         A.employee_id_5,
         A.full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              A.supervisor_id_4,
              A.employee_id_4,
              A.full_name_4,
              Z.supervisor_id AS supervisor_id_5,
              Z.employee_id AS employee_id_5,
              Z.full_name AS full_name_5
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   A.supervisor_id_3,
                   A.employee_id_3,
                   A.full_name_3,
                   Z.supervisor_id AS supervisor_id_4,
                   Z.employee_id AS employee_id_4,
                   Z.full_name AS full_name_4
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        A.supervisor_id_2,
                        A.employee_id_2,
                        A.full_name_2,
                        Z.supervisor_id AS supervisor_id_3,
                        Z.employee_id AS employee_id_3,
                        Z.full_name AS full_name_3
                   FROM employee Z,
                        SELECT DISTINCT
                             A.supervisor_id_1,
                             A.employee_id_1,
                             A.full_name_1,
                             Z.supervisor_id AS supervisor_id_2,
                             Z.employee_id AS employee_id_2,
                             Z.full_name AS full_name_2
                        FROM employee Z,
                             SELECT DISTINCT
                                  supervisor_id AS supervisor_id_1,
                                  employee_id AS employee_id_1,
                                  full_name AS full_name_1
                              FROM employee
                              WHERE supervisor_id = 0 OR supervisor_id IS NULL
                        ) A
                        WHERE A.employee_id_1 = Z.supervisor_id
                   ) A
                   WHERE A.employee_id_2 = Z.supervisor_id
              ) A
              WHERE A.employee_id_3 = Z.supervisor_id
         ) A
         WHERE A.employee_id_4 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_4 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         A.supervisor_id_4,
         A.employee_id_4,
         A.full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              A.supervisor_id_3,
              A.employee_id_3,
              A.full_name_3,
              Z.supervisor_id AS supervisor_id_4,
              Z.employee_id AS employee_id_4,
              Z.full_name AS full_name_4
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   A.supervisor_id_2,
                   A.employee_id_2,
                   A.full_name_2,
                   Z.supervisor_id AS supervisor_id_3,
                   Z.employee_id AS employee_id_3,
                   Z.full_name AS full_name_3
              FROM employee Z,
                   SELECT DISTINCT
                        A.supervisor_id_1,
                        A.employee_id_1,
                        A.full_name_1,
                        Z.supervisor_id AS supervisor_id_2,
                        Z.employee_id AS employee_id_2,
                        Z.full_name AS full_name_2
                   FROM employee Z,
                        SELECT DISTINCT
                             supervisor_id AS supervisor_id_1,
                             employee_id AS employee_id_1,
                             full_name AS full_name_1
                         FROM employee
                         WHERE supervisor_id = 0 OR supervisor_id IS NULL
                   ) A
                   WHERE A.employee_id_1 = Z.supervisor_id
              ) A
              WHERE A.employee_id_2 = Z.supervisor_id
         ) A
         WHERE A.employee_id_3 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_3 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         A.supervisor_id_3,
         A.employee_id_3,
         A.full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              A.supervisor_id_2,
              A.employee_id_2,
              A.full_name_2,
              Z.supervisor_id AS supervisor_id_3,
              Z.employee_id AS employee_id_3,
              Z.full_name AS full_name_3
         FROM employee Z,
              SELECT DISTINCT
                   A.supervisor_id_1,
                   A.employee_id_1,
                   A.full_name_1,
                   Z.supervisor_id AS supervisor_id_2,
                   Z.employee_id AS employee_id_2,
                   Z.full_name AS full_name_2
              FROM employee Z,
                   SELECT DISTINCT
                        supervisor_id AS supervisor_id_1,
                        employee_id AS employee_id_1,
                        full_name AS full_name_1
                    FROM employee
                    WHERE supervisor_id = 0 OR supervisor_id IS NULL
              ) A
              WHERE A.employee_id_1 = Z.supervisor_id
         ) A
         WHERE A.employee_id_2 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_2 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         A.supervisor_id_2,
         A.employee_id_2,
         A.full_name_2,
         NULL AS supervisor_id_3,
         NULL AS employee_id_3,
         NULL AS full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              A.supervisor_id_1,
              A.employee_id_1,
              A.full_name_1,
              Z.supervisor_id AS supervisor_id_2,
              Z.employee_id AS employee_id_2,
              Z.full_name AS full_name_2
         FROM employee Z,
              SELECT DISTINCT
                   supervisor_id AS supervisor_id_1,
                   employee_id AS employee_id_1,
                   full_name AS full_name_1
               FROM employee
               WHERE supervisor_id = 0 OR supervisor_id IS NULL
         ) A
         WHERE A.employee_id_1 = Z.supervisor_id
    ) A
    UNION
    SELECT DISTINCT
         A.employee_id_1 AS employee_id,
         A.supervisor_id_1,
         A.employee_id_1,
         A.full_name_1,
         NULL AS supervisor_id_2,
         NULL AS employee_id_2,
         NULL AS full_name_2,
         NULL AS supervisor_id_3,
         NULL AS employee_id_3,
         NULL AS full_name_3,
         NULL AS supervisor_id_4,
         NULL AS employee_id_4,
         NULL AS full_name_4,
         NULL AS supervisor_id_5,
         NULL AS employee_id_5,
         NULL AS full_name_5,
         NULL AS supervisor_id_6,
         NULL AS employee_id_6,
         NULL AS full_name_6,
         NULL AS supervisor_id_7,
         NULL AS employee_id_7,
         NULL AS full_name_7
    FROM employee Z,
         SELECT DISTINCT
              supervisor_id AS supervisor_id_1,
              employee_id AS employee_id_1,
              full_name AS full_name_1
          FROM employee
          WHERE supervisor_id = 0 OR supervisor_id IS NULL
    ) A

Maybe you are looking for

  • Upgrading the database from Oracle 8.0.6 to Oracle 9.2.0

    Dear SDN, We are in the process of upgrading SAP 4.6b to 4.7 R/3 Enterprise. Source Release:Windows 2000/Oracle 8.0.6/SAP 4.6b Target Release:Windows 2000/Oracle 9.2.0/SAP R/3 4.7 Can anyone help us in explaining the procedure for upgrading the datab

  • How do I disable the facebook plugins?

    How do I uninstall the facebook plugins? I'm currently having problem loading pages because my office server blocks everything that it was not blocking before. The 'safe site' that I'm browsing indirectly prompting to facebook plugins which causing t

  • Syncing new Ipad to iTunes??

    I have an iPhone4 that is synced to my laptop for itunes... I just got my 1st iPad, (new one), and was wondering if I use my laptop to sync to iTunes also?? Or will it delete all my iPhone stuff?

  • SAP filesystem layout on Solaris 10 Assistance

    Hi Guys, I'd like to ask who has experience running SAP over Solaris a few questions regarding filesystem. I have strong backgound on AIX server but little over Solaris, so im transitioning from AIX to Solaris to understand this My goal is to identif

  • Create username and password

    Hello, I just finished downloading and installing Oracle 10g and I tried to log into PL/SQL but couldn't. Then I went into the Database Configuration Assistant and clicked on "Configure Database Options" in hopes I could create or reset a password he