Hierarchy Table - Parent/Child Value Pairs w/o Node Name
Hi,
Has any body worked with below senario to create a Hierarchy table through Import Manager. If so how did you do it? I followed and sucessfull with some senario's by refering the blog "MDM Import Manager: handling multiple formats of source data for hierarchy" by pandey but not with this one. This scenair is actually from help.sap.com
Parent Category
Printers
Printers Laser
Printers Inkjet
Inkjet B&W
Inkjet Color
Printers Dot Matrix
Dot Matrix 300 DPI
Dot Matrix 600 DPI
Dot Matrix 1200 DPI
Edited by: SDN POWERED on Jun 7, 2009 8:59 PM
Hi SDN Powered,
For Hierarchy Table - Parent/Child Value Pairs w/o Node Name just do as follows:
1) In the Source Hierarchy tree, select the Parent and Child field nodes which you want to use to build hierarchy.
2) Right-click on one of the nodes and choose Create Hierarchy Field from the context menu, or choose Source > Create Hierarchy Field from the main menu.
3) MDM opens the Create Hierarchy Field dialog box. This dialog box contains 4 feilds, viz Hierarchy Field Name, Parent Field, Child Field, and Node Name Field. In the Hierarchy Field Name, type the name for the new field.In the Parent Field, Child Field. For Parent/Child Value Pairs w/o Node Name , set the Node Name Field to None.
4) Click OK to close the Create Hierarchy Field dialog box. The MDM Import Manager creates Hierarchy using the values you have provided.
I hope I am able to solve your problem.
Thanks & Regards
Dilmit Chadha
Similar Messages
-
Inclue children and exclue children in a single hierarchy in parent child dimension in mdx
hi,
include children and exclude children in a single hierarchy in parent child dimension in mdx
*12-parent
**20-parent
- 9-parent
--250-child1
--210-child2
--240-child3
aggregation of 12-parent only
aggregation of 20-parent only
aggregation of 9 with children
regards,
ManishHi manishcal16PPS,
According to your description, you have a parent child dimension in your cube. Now you want to use one measure use show aggregation value including/excluding child member based on different parent level member. Right?
In this scenario, we could use IIF() in the calculated measure to apply different calculation depends on the current dimension member. Please refer to query below:
with member [x] as
IIF([Dim].[Hierarchy].CurrentMember is [Dim].[Hierarchy].[Parent].&[9]
sum(Descendants([Dim].[Hierarchy].CurrentMember,
[Date].[Calendar].[Parent]),
[Measures].[Amount])
sum([Dim].[Hierarchy].CurrentMember,[Measures].[Amount])
select [x] on 0,
[Date].[Calendar].[Parent].members on 1
from
[Cube]
Best Regards,
Simon Hou
TechNet Community Support -
Extract the hierarchy in Parent child format from HP
Hello,
I have a hierarchy within Accounts dimension which I need to move to the other application in the different environment. I donot want to move the whole dimension. I just need to move a hierarchy. Is there a way I can extract a hierarchy in Parent child format with properties and move the same in to the next one.
Thanks in advance for your help.
Cheers,
XXXHi,
Below code assumes that you have 2 alias tables and assymetric hierarchy (having 4 to 6 levels) in accounts and all level 0 accounts are 6 digits. If you wish to remove the second alias table from the code simply remove references to it (i.e. aliastbl_id=50030). You can customize the extract top level member by modifying this section: (select object_id from hsp_object where object_name='Total Expenditure')
This outputs the structure in a fixed columnar format having all levels in different columns.
Code:
select o1.object_name as LVL1, o1.object_name as LVL1_DESC_EN, al1.object_name as LVL1_DESC_AR,
o2.object_name as LVL2, o2.object_name as LVL2_DESC_EN, al2.object_name as LVL2_DESC_AR,
o3.object_name as LVL3, al3.object_name as LVL3_DESC_EN, alar3.object_name as LVL3_DESC_AR,
o4.object_name as LVL4, al4.object_name as LVL4_DESC_EN, alar4.object_name as LVL4_DESC_AR,
o5.object_name as LVL5, al5.object_name as LVL5_DESC_EN, alar5.object_name as LVL5_DESC_AR,
o6.object_name as LVL6, al6.object_name as LVL6_DESC_EN, alar6.object_name as LVL6_DESC_AR
from hsp_object o1
left outer join (select * from hsp_alias where aliastbl_id=50030) a1 on o1.object_id=a1.MEMBER_ID left outer join hsp_object al1 on a1.alias_id=al1.object_id
inner join hsp_object o2 on o1.object_id=o2.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=50030) a2 on o2.object_id=a2.MEMBER_ID left outer join hsp_object al2 on a2.alias_id=al2.object_id
inner join hsp_object o3 on o2.object_id=o3.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a3 on o3.object_id=a3.MEMBER_ID left outer join hsp_object al3 on a3.alias_id=al3.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar3 on o3.object_id=ar3.MEMBER_ID left outer join hsp_object alar3 on ar3.alias_id=alar3.object_id
inner join hsp_object o4 on o3.object_id=o4.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a4 on o4.object_id=a4.MEMBER_ID left outer join hsp_object al4 on a4.alias_id=al4.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar4 on o4.object_id=ar4.MEMBER_ID left outer join hsp_object alar4 on ar4.alias_id=alar4.object_id
inner join hsp_object o5 on o4.object_id=o5.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a5 on o5.object_id=a5.MEMBER_ID left outer join hsp_object al5 on a5.alias_id=al5.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar5 on o5.object_id=ar5.MEMBER_ID left outer join hsp_object alar5 on ar5.alias_id=alar5.object_id
inner join hsp_object o6 on o5.object_id=o6.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a6 on o6.object_id=a6.MEMBER_ID left outer join hsp_object al6 on a6.alias_id=al6.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar6 on o6.object_id=ar6.MEMBER_ID left outer join hsp_object alar6 on ar6.alias_id=alar6.object_id
where o1.object_id =(select object_id from hsp_object where object_name='Total Expenditure') and
LENGTH(o6.object_name)=6
union all
select o1.object_name as LVL1, o1.object_name as LVL1_DESC_EN, al1.object_name as LVL1_DESC_AR,
o2.object_name as LVL2, o2.object_name as LVL2_DESC_EN, al2.object_name as LVL2_DESC_AR,
o3.object_name as LVL3, al3.object_name as LVL3_DESC_EN, alar3.object_name as LVL3_DESC_AR,
o4.object_name as LVL4, al4.object_name as LVL4_DESC_EN, alar4.object_name as LVL4_DESC_AR,
o5.object_name as LVL5, al5.object_name as LVL5_DESC_EN, alar5.object_name as LVL5_DESC_AR,
o5.object_name as LVL6, al5.object_name as LVL6_DESC_EN, alar5.object_name as LVL6_DESC_AR
from hsp_object o1
left outer join (select * from hsp_alias where aliastbl_id=50030) a1 on o1.object_id=a1.MEMBER_ID left outer join hsp_object al1 on a1.alias_id=al1.object_id
inner join hsp_object o2 on o1.object_id=o2.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=50030) a2 on o2.object_id=a2.MEMBER_ID left outer join hsp_object al2 on a2.alias_id=al2.object_id
inner join hsp_object o3 on o2.object_id=o3.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a3 on o3.object_id=a3.MEMBER_ID left outer join hsp_object al3 on a3.alias_id=al3.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar3 on o3.object_id=ar3.MEMBER_ID left outer join hsp_object alar3 on ar3.alias_id=alar3.object_id
inner join hsp_object o4 on o3.object_id=o4.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a4 on o4.object_id=a4.MEMBER_ID left outer join hsp_object al4 on a4.alias_id=al4.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar4 on o4.object_id=ar4.MEMBER_ID left outer join hsp_object alar4 on ar4.alias_id=alar4.object_id
inner join hsp_object o5 on o4.object_id=o5.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a5 on o5.object_id=a5.MEMBER_ID left outer join hsp_object al5 on a5.alias_id=al5.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar5 on o5.object_id=ar5.MEMBER_ID left outer join hsp_object alar5 on ar5.alias_id=alar5.object_id
where o1.object_id =(select object_id from hsp_object where object_name='Total Expenditure') and
LENGTH(o5.object_name)=6
union all
select o1.object_name as LVL1, o1.object_name as LVL1_DESC_EN, al1.object_name as LVL1_DESC_AR,
o2.object_name as LVL2, o2.object_name as LVL2_DESC_EN, al2.object_name as LVL2_DESC_AR,
o3.object_name as LVL3, al3.object_name as LVL3_DESC_EN, alar3.object_name as LVL3_DESC_AR,
o4.object_name as LVL4, al4.object_name as LVL4_DESC_EN, alar4.object_name as LVL4_DESC_AR,
o4.object_name as LVL5, al4.object_name as LVL5_DESC_EN, alar4.object_name as LVL5_DESC_AR,
o4.object_name as LVL6, al4.object_name as LVL6_DESC_EN, alar4.object_name as LVL6_DESC_AR
from hsp_object o1
left outer join (select * from hsp_alias where aliastbl_id=50030) a1 on o1.object_id=a1.MEMBER_ID left outer join hsp_object al1 on a1.alias_id=al1.object_id
inner join hsp_object o2 on o1.object_id=o2.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=50030) a2 on o2.object_id=a2.MEMBER_ID left outer join hsp_object al2 on a2.alias_id=al2.object_id
inner join hsp_object o3 on o2.object_id=o3.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a3 on o3.object_id=a3.MEMBER_ID left outer join hsp_object al3 on a3.alias_id=al3.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar3 on o3.object_id=ar3.MEMBER_ID left outer join hsp_object alar3 on ar3.alias_id=alar3.object_id
inner join hsp_object o4 on o3.object_id=o4.Parent_ID
left outer join (select * from hsp_alias where aliastbl_id=14) a4 on o4.object_id=a4.MEMBER_ID left outer join hsp_object al4 on a4.alias_id=al4.object_id
left outer join (select * from hsp_alias where aliastbl_id=50030) ar4 on o4.object_id=ar4.MEMBER_ID left outer join hsp_object alar4 on ar4.alias_id=alar4.object_id
where o1.object_id =(select object_id from hsp_object where object_name='Total Expenditure') and
LENGTH(o4.object_name)=6
Cheers,
Alp -
Parent Child Value Sets for Item Categories
I've tried to set up parent-child value sets, not independent-dependent sets for Item Categories but in vain. So, if Item Category has 2 segments - Category & Sub-Category; Sub-Category only shows valid values for a category. For example, if Category is 19 (Tools), the LOV for 2nd segment would only show 28 (Large Tools), 29 (Heavy Tools) etc.
Creating an independent-dependent combination displays all values for the independent & dependent sets.
Just looking for help here.
Thanks,
SanjibKarthik, Sandeep and Hugh
Thanks for your responses. We greatly appreciate you taking the time to reply to this thread. My e-mail is [email protected], that is if you'd like to send any documents.
Basically, this is what we were looking for -
The category structure is
Equipment 1 - Spare 1,
Equipment 1 - Spare 2,
Equipment 2 - Spare 1,
Tools - Large,
Tools - Small,
etc.
When selecting Codes for this structure, if I choose 'Equipment 1' for 1st segment, LOV for 2nd segment would only show 'Spare 1', 'Spare 2'. Similarly, If I choose 'Tools', I only see 'Large', 'Small' for Segment 2.
Thanks,
Sanjib -
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 -
Database-Table parent-child design
Hi all,
Which (forum) does this master-detail table design question belongs to or appropriate to post to?
I have 3 basic entities> servers, databases, and apps
example:
servers=server1,server2,server3,etc
database=PROD1,DEV1,TEST1,etc
apps=GL,FA,AP,AR,INV,HR,etc
In every server there are many database type (dev,prod,test,prod1, prod2,etc)
In every apps there are many database type too (dev,prod,test,prod1, prod2,etc)
So databases are children of both servers and apps?
To which parents does this "children" database legally belong?
ThanksHi;
Which (forum) does this master-detail table design question belongs to or appropriate to post to?
I have 3 basic entities> servers, databases, and apps
example:
servers=server1,server2,server3,etc
database=PROD1,DEV1,TEST1,etc
apps=GL,FA,AP,AR,INV,HR,etcFrom your post i got you have EBS. What is your EBS version? By the way its more effecient to close your thread here as answered and move your issue to Forum Home » E-Business Suite » EBS General Discussion
In every server there are many database type (dev,prod,test,prod1, prod2,etc)It possible, i mean on same server you could have EBS's database like dev,prod and also can have oracle database which is not belong any EBS system like sid ORCL
In every apps there are many database type too (dev,prod,test,prod1, prod2,etc)I belive this is wrong, One EBS has one Database but it doesnt mean that database need extra data from other source which is using ETL etc. So your EBS db always parent and get data from child, and also that main db can update information which is exist on child
You could have one PROD and can clone it as CLON so those 2 instance have actualy same data and same proporties, we cant say those dbs has parent-child relation. But we can say CLON ebs produced by PROD instance
Regard
Helios -
Dimension tables - parent child or hierarchical
The data I m dealing with is structured as follow.
A customer has many stores and each store has a POSSystem.
Customer
Stores
POSSystem
So now when I create Dimensions, will I create as:
TableName Cols
DimCustomer CustKey
DimStores StoreKey, CustKey
DimPOS POSKey, StoreKey, CustKey
Are these Hierarchical or Parent Child?
Now when I will create Fact table, will I have:
TableName Cols
Sample1: DimFactPOS CustKey,POSKey,StoreKey, #trans
OR
Sample2: DimFactPOS POSKey, #trans
If I do sample1, then why do I keep "StoreKey, CustKey" in DimPOS?From your question, I can assume that you have beginners knowledge in Data modeling and Data Warehousing.
Let me elaborate it and dilute your confusion.
You have designed
Star Schema; basic intention for having star schema is to have normalized fact tables and de-normalized dimension tables.
Reason you are creating three dimension (i.e. DimCustomer, DimStores and DimPOS) here because you must have many-to-one referential integrity between each level. You can google about Hierarchies,
Levels and Level relationships to get insight information about it.
Keeping normalize data in dimensions and keeping keys in fact table is a business decision. To which level you want to show the aggregated data? You
need to define granuality level based on business needs.
As in star schema, there is 1 fact table related to different dimensions. If I sub divide your assumption, Sample 1 represents
Data Mart and Sample 2 represents Data Warehouse.
I hope it will help you in understanding basic concepts. -
Hierarchy from flat file loading with errors - duplicate node names
Hello experts,
I am loading a product hierarchy from a flat file into a custom hierarchy
object. The issue is that it errors out saying I am loading
duplicates within nodes, however all node IDs within a level are unique.
It seems to be looking at the node name to determine uniqueness and I know
we have some duplication within the text there especially when you factor
in the 32 character limitation for the node name. Does anyone have an idea
as to whether it is possible to have it only consider the node ID instead
of the node name to determine uniqueness?
A colleague suggested using the link ID to fix this problem but I don't know how that field works or how to populate it.
I'm working in a BI 7.0 environment (I don't know if that makes a difference since you still have to use the 3.x objects to extract the hierarchy).
Any help would be appreciated.
NancyHi Nancy,
You may wish to check this OSS Note 1026749 - Hierarchies: Consistency check for duplicate nodes and 912115 (old one)
Symptom -
When you load or activate a hierarchy it terminates with error message RH 109 or RH 211. The hierarchy contains duplicate nodes and this is not allowed. The long texts of messages RH 109 or RH 211 do not describe the reason for the problem sufficiently or they are partially incorrect.
There is uncertainty about in which cases duplicate nodes exist in a hierarchy and in which cases duplicate nodes are allowed.
Hope this helps,
Bye...
Naga Timmaraju -
Dear Sir,
Wish you a very Happy New Year !!!
I am facing a problem related to Database Trigger.
Sir, I have two tables Cust and Sick.
Cust is having the following fields :
SDF_CUST_BRCD NOT NULL NUMBER(5)
CUST_CUSTID NOT NULL VARCHAR2(6)
UCD_CUST_SEGMENTCODE NOT NULL VARCHAR2(7)
CUST_FIRSTBORROWER NOT NULL VARCHAR2(30)
UCD_CUST_CONSTORGCODE NOT NULL VARCHAR2(7)
VLGC_CUST_VILLAGECODE VARCHAR2(4)
CUST_PAN VARCHAR2(20)
UCD_CUST_STAFFCODE VARCHAR2(7)
CUST_RESIDENTSTATFLAG VARCHAR2(1)
CUST_BKGSINCEDATE DATE
UCD_CUST_SICKUNITCODE VARCHAR2(7)
Cust's Primary Key is the combination of Brcd, CustId
And Sick Table Structure is as under :
PRDT_SICK_REPORTDATE NOT NULL DATE
CUST_SICK_BRCD NOT NULL NUMBER(5)
CUST_SICK_CUSTID NOT NULL VARCHAR2(6)
UCD_SICK_REASONCODE NOT NULL VARCHAR2(7)
SICK_SINCEDATE NOT NULL DATE
SICK_LOSSMAKINGDATE DATE
SICK_ACCMLOSSAMT NUMBER(16,2)
UCD_SICK_VIABILITYCODE NOT NULL VARCHAR2(7)
UCD_BIFR_STATUS_CODE VARCHAR2(7)
SICK_BIFRDATE DATE
SICK_REHABSANCDATE DATE
CUST_SICK_SICKUNITCODE VARCHAR2(7)
Sick's Primary Key is the combination of ReportDate, BrCD, Custid
Sick's (Brcd and Custid) referencing to Cust (BrCd, CustId).
I want to insert/update into the sick table corrponding to Cust
Insertion/Updation.
I have written a trigger on Cust which is working fine provided
that foreign key constraint
is diabled. As soon as constraint is enabled the trigger is
giving error
ORA-04091: table CIS.CUST is mutating, trigger/function may not
see it
Sir, It is also working fine if the record is already exist in
Sick table.
Is is not working in 2 cases :
1. While entering a new record into the Cust with
SICKUNIT_CODE='SW00001'
2. If we are changing the SickUnit_Code in Cust and correponding
record doesn't exist in Sick.
Please write me the solution.
Thanking you
yours sincerely
Rajesh Kumar Jain
Trigger Text is
create or replace trigger tr_cust_sick
after insert or update on Cust for each row
declare
Fn_Return boolean;
Tr_Exception Exception;
begin
Fn_Return := Fn_cust_sick
(:new.UCD_CUST_SICKUNITCODE,:new.SDF_CUST_BRCD,:new.CUST_CUSTID,I
NSERTING,UPDATING,DELETING);
If Not Fn_Return then
Raise Tr_Exception;
End if;
exception
when Tr_Exception then
Dbms_output.put_line('Tr_Exception ' ||Sqlerrm);
When others then
Dbms_output.put_line(Sqlerrm);
end;
Function Text is :
$$$$$$$$$
create or replace function fn_cust_sick
(SickUnitCode_in In Cust.Ucd_Cust_SickunitCode%Type,Brcd_in In
Sdf.Sdf_Brcd%Type,Custid_in In Cust.Cust_Custid%
Type,Inserting_in In Boolean ,Updating_in In Boolean,Deleting_in
In Boolean)
return boolean is
ddate date default '01-Jul-1955';
repdate ppar.ppar_reportdate%type default '31-Mar-2001';
viabcode sick.ucd_sick_viabilitycode%type default 'VI00000';
ReasonCD sick.ucd_sick_reasoncode%type default 'SK00000';
Ret_Flag Boolean := False;
begin
if Updating_in then
begin
update sick
set CUST_SICK_SICKUNITCODE = SickUnitCode_in
where prdt_sick_reportdate = repdate and
cust_sick_brcd = Brcd_in and
Cust_Sick_CustId = Custid_in;
Ret_Flag := True;
if sql%notfound then
if To_Number(Substr(SickUnitCode_in,3)) > 0 then
insert into sick
(PRDT_SICK_REPORTDATE,
CUST_SICK_BRCD,
CUST_SICK_CUSTID,
UCD_SICK_REASONCODE,
SICK_SINCEDATE,
UCD_SICK_VIABILITYCODE,
CUST_SICK_SICKUNITCODE,
SUBO_SICK_SICKBORRCODE)
values
(repdate,
Brcd_in,
Custid_in,
reasoncd,
ddate,
viabcode,
SickUnitCode_in,
'SB00001');
Ret_Flag := True;
Return(Ret_Flag);
end if;
end if;
exception
when others then
dbms_output.put_line('Exception Update '|| Sqlerrm);
return(Ret_Flag);
end;
elsif Inserting_in then
begin
if To_Number(Substr(SickUnitCode_in,3)) > 0 then
insert into sick
(PRDT_SICK_REPORTDATE,
CUST_SICK_BRCD,
CUST_SICK_CUSTID,
UCD_SICK_REASONCODE,
SICK_SINCEDATE,
UCD_SICK_VIABILITYCODE,
CUST_SICK_SICKUNITCODE,
SUBO_SICK_SICKBORRCODE)
values
(repdate,
Brcd_in,
Custid_in,
reasoncd,
ddate,
viabcode,
SickUnitCode_in,
'SB00001');
Ret_Flag := True;
end if;
Return(Ret_Flag);
exception
when others then
dbms_output.put_line('Exception Insert '|| Sqlerrm);
return(Ret_Flag);
end;
end if;
return(Ret_Flag);
exception
when Others then
dbms_output.put_line('Main Exception '|| Sqlerrm);
return(Ret_Flag);
end;
$$$$$$$$$$$Hi,
double click the Application Module to open the AM editor. Select the data Model category. On the right hand side you see what is selected for use in an application, on the left hand side is what you have available as View Object. To create T1-->T2-->T3, you
- Select T1 and move it to the right
- Select T2 under T1 on the left and move it to the right under T1
- Select T3 under T2 on the left and move it under T2 in T1 on the right
Frank -
Parent Child Dimension Not displaying Name value.
I have a parent Child attribute in my dimension. It show the correct ID value in the reports but when I change the value from the NameColumn to be something else it still only shows the ID value.
I have an identical case in another dimension and it is working correctly. However this dimension for some reason does not seem to work and I believe they are built the same way I must be missing something. I have tried to show the OrgNodeID
and tried to display the OrgNodename but neither displays all it displays is the intdimParentOrgNodeID.
My dimension table looks something like this
intdimOrgNodeID int Key (surreget key)
intOrgNodeID int (Actual ID)
intDimParentOrgNodeID
intOrgNodeName
In the Propertys I have set
KeyColumns = tbldimOrgNode.intDimParentOrgNodeID
NameColumn = tbldimOrgNode.intOrgNodeID
Parent-child values
=NonLeafDataVisible
=*(Direct)
=
=ParentIsBlankSelfOrMissing
=(none)
Ken CraigI have been pulling my hair out for days to find this and what I finally found that resolved this shocked me and I am still not sure why it would matter. You can see below my table and then dimension info. Although I agree my OrgNode ID attribute
is really not needed in AS and could be removed. In places where that is used we could instead rename the key column Dim OrgNode ID to OrgNode ID. However why the key attribute must have the name column set to intOrgNodeID
instead of just using the Key value of intdimOrgNodeID is what I am lost at.
Outside of this parent dimension I have never seen issues with this. I want to say sometimes in the past I have seen duplicates if I use the surreget key to display the actual ID so I have normally left that as a key and just added another attribute
to house the actual ID, like I did below.
Can someone explain to me this and what is the best suggested practice here.
My table is like this
intdimOrgNodeID int Key (surreget key)
intOrgNodeID int (Actual ID from source and used by customers)
intDimParentOrgNodeID (ID used for parent child (it is the Parent intOrgNodeID surreget
key intdimOrgNodeID))
intOrgNodeName (Source Name)
My AS dimension is like below
Dim OrgNode ID
AttributeHierarchyVisible=False
KeyColumns = tbldimOrgNode.intDimOrgNodeID (Integer)
NameColumns= tbldimOrgNode.intDimOrgNodeID (Integer)
OrgNode ID
AttributeHierarchyVisible=True
KeyColumns = tbldimOrgNode.intOrgNodeID (Integer)
NameColumns= tbldimOrgNode.intOrgNodeID (Integer)
OrgNode Hierarchy ID
Usage=Parent
AttributeHierarchyVisible=True
KeyColumns = tbldimOrgNode.intDimParentOrgNodeID
NameColumns= tbldimOrgNode.intOrgNodeID (WChar)
Change I had to make was this
Dim OrgNode ID
From NameColumns= tbldimOrgNode.intDimOrgNodeID (Integer)
to
NameColumns= tbldimOrgNode.intOrgNodeID (Integer)
Ken Craig -
Getting parent-child data into an Oracle level-based OLAP hierarchy
We have some organisational data which we need to represent in an Oracle OLAP 10g dimension, preferably populated using Warehouse Builder.
The organisational hierarchy is listed as parent-child pairs, and is both ragged (unbalanced) and skip-level (noncovering). This would lend itself to a value-based hierarchy, but our client would rather we use ROLAP rather than MOLAP, i.e. avoid the use of an Analytical Workspace, which rules out the use of a value-based hierarchy.
Is there a straightforward way to populate a level-based hierarchy using parent-child pair data, and if so how can it be done?
Pointers to tutorials would be welcome, especially if they use Warehouse Builder.If you have an Oracle DB have a look on the CONNECT BY PRIOR functionality.
regards
John
http://obiee101.blogspot.com -
Flattened to Parent Child Hierarchy
Hi,
My client has a little different requirement from normal.
We want to convert the flattened version of hierarchy to parent child format. Does anyone have any sql script or idea how we can achieve this quickly?
Thanks in advance.http://www.rittmanmead.com/2007/06/21/obiee-data-modeling-tips-3-ragged-hierarchies/
might be helpful. -
Hi,
In a table I got hierarchial data (parent child), where parent is child to some other parent.
This is upto level4.(I mean Child=>Parent1=>Parent2=>Grand Parent)
Child=>Parent
A1=>B1
A2=>B1
A3=>B1
B1=>B2
B2=>B3
B3=>B4
I need result like - Each child will have its all parents and subsequent parent
Like :
Child Parent1 Parent2 Grand Parent
=========================
A1=>B1 -- First Parent of A1
A1=>B2 -- Second Parent of A1
A1=>B3 -- Third Parent of A1
A1=>B4 -- Grand Parent
Please help. Is this possible with connect by feature? I tired using it but i am getting only parents for each.
Thanks
BhushanHi, Bhusan,
To repeat some value from the first row on all of the rows connected to it, use CONNECT_BY_ROOT
SELECT CONNECT_BY_ROOT child AS starting_point
, parent
FROM table_x
START WITH child = 'A1' -- or whatever
CONNECT BY chilD = PRIOR parent; -
in what report which shows the parent child heirarcy?bcoz i create gl accounts in GL module.....and made parent child heirarcy........i want to see the heirarcy?
Hello I am not sure about the report but there is something called the Account Hierarchy Manger in R12 where we can view, edit and add parent/child values easily.
-
Form acting as child in parent child reference
Hi guys,
I have a custom fields form.
This form basically uses other forms in our systems information as a parent-child relationship.
It uses FORM NAME and ID from that form name to query custom fields form i.e.
If you go into for example a customer form, then the custom form needs to trigger that you have gone into this form, and pass to custom the form name and the primay key thats queried.
Also if you navigate away to another form (not closing it) and navigate back it should also trigger the execute query in this other form, is this possible?
Basically we have 500 forms and a requirement has come in to add custom fields to all these forms so createing one form that contains the custom fields and having a triggr mechanism to execute query on this was the cleanest way i could attempt to achieve this, i do not want to amend 500 forms!
ThanksHai,
For this create global variables to store the FORM_NAME and ID, and assign to those global variables on each master forms WHEN-WINDOW-ACTIVATED Trigger. And in the WHEN-WINDOW-ACTIVATED Trigger of the child form, query the details using those global variables. and use insert into or update statements to update.
Regards,
Manu.
Maybe you are looking for
-
I cannot start firefox. Error message tells me that it is already running. It is not running, but shows in task manager processes. If I end the process, I can start Firefox.
-
Simulate select distinct count sql logic in query or data model
hello experts, given prerequisites: DSO with flat table without any key figures - just characteristics (about 10) the requirement is to produce the table with all possible combinations of those characteristics with counting the hits - this flat table
-
After using the mic in an AIR for Android app, I get audio errors in other programs such as the browser. If I try to use speech recognition for example, it throws me an error. If I close the AIR app, then all is good again. I am assuming the mic is s
-
Validation & Method configuration in UCWB
Hi, I have a method with details like below : - Type of data stream : Total Records - Validation Type : Individual Data Rows The method above is created via : Consolidation Functions --> Validation --> Method, in UCWB. Under : Consolidation Functions
-
Data files are offline / tablespace offline
I am confused on the concept of data file offline. What happened when you take data file offline? Is data file offline because of disk damage? we see the error that data file is haning a problem, we have manually to take data file offline? how? Why i