Key | Value |
---|---|
Table | DS01 WBS |
Severity | CRITICAL |
Unique ID | 1010025 |
Summary | Is the parent lower in the WBS hierarchy than its child? |
Error message | Parent found at a lower level in the WBS hierarchy than its child, i.e. Parent Level > Child Level. |
The Data Integrity and Quality (DIQ) check titled "Parent Lower in WBS Hierarchy than Child" is designed to ensure the correct hierarchical structure in the DS01 WBS (Work Breakdown Structure) table.
The fields causing this issue are the 'Level' and 'parent_WBS_ID' fields in the DS01 WBS table. The 'Level' field indicates the hierarchical level of a particular WBS element, and the 'parent_WBS_ID' field identifies the parent of a particular WBS element.
To resolve this issue, review the 'Level' and 'parent_WBS_ID' fields in the DS01 WBS table to ensure that each parent WBS element is at a higher level (i.e., has a lower 'Level' value) than its child WBS elements.
This test is being performed to ensure the correct hierarchical structure of the Work Breakdown Structure (WBS) in the DS01 WBS table. The WBS is a key project deliverable that organizes the team's work into manageable sections. It is crucial that the parent is not lower in the WBS hierarchy than its child, as this would violate the fundamental structure of the WBS, where a parent is supposed to be a higher level summary of its child tasks.
The importance of this check is high, as indicated by its severity level of 'CRITICAL'. If the parent is found at a lower level in the WBS hierarchy than its child, it could lead to significant confusion and mismanagement of tasks, potentially causing serious issues in project execution and analysis. This error must be fixed before the data can be reviewed to ensure accurate and efficient project management.
CREATE FUNCTION [dbo].[fnDIQ_DS01_WBS_IsParentLowerInWBSHierarchyThanChild] (
@upload_id int = 0
)
RETURNS TABLE
AS RETURN
(
--Insert statements for procedure here
--NOTE: higher here means higher in the tree, which means a lower number. We are therefore looking for a child with a level < its parent
SELECT
Child.*
FROM
DS01_WBS Child,
(SELECT WBS_ID, [Level] FROM DS01_WBS WHERE upload_ID=@upload_ID) Parent
WHERE
upload_ID = @upload_ID
AND Child.parent_WBS_ID=Parent.WBS_ID
AND Child.[Level]<=Parent.[Level]
)