Impact analysis rules for data objects

When you perform an impact analysis on data objects, eight rules are followed to determine which objects are returned. The following sections show examples of the eight rules using objects from an SQL model.

Figure 1. Impact analysis with no recursion or containment returns the object that is pointing to the selected object. In this example, View1 is returned as the object that points to the selected table. The dependency object models a relationship, and is not returned in the results.

Impact analysis with no recursion or containment

Figure 2. Impact analysis with recursion but without containment returns the recursive objects that are pointing to the selected object. In this example, View1 and Alias1 are returned as the recursive objects that point to the selected table.

Impact analysis with recursion but without containment

Figure 3. Impact analysis with containment but without recursion returns all objects that point to the selected object and all objects that point to the selected object's descendants. All descendents from the selected object are excluded from the results, even if one of those descendants is also an object that points to a descendant. In this example, View1 and Measure are returned as objects that point to the selected table.

Impact analysis with containment but without recursion

Figure 4. Impact analysis with recursion and containment returns the following:

  1. The objects that recursively point to the selected object.
  2. The objects that recursively point to the selected object's descendants.
  3. The objects that recursively point to the descendants of objects that are returned by 1 and 2.
All descendents from the selected object are excluded from the results, even if one of those descendants is also a pointer of another descendant. In this example, View1 and Alias1 are returned since they are recursive pointers of the selected table. Also, Measure is returned since it points at a child column of the selected table.
Impact analysis with recursion and containment

Figure 5. Dependency analysis with no recursion or containment returns the objects that are pointed to by the selected object. In this example, View1 is returned as the object that the selected Alias points to.

Dependency analysis with no recursion or containment

Figure 6. Dependency analysis with recursion but without containment returns the objects that are recursively pointed to by the selected object. In this example, View1 and Table1 are returned as the objects that the selected Alias recursively points to.

Dependency analysis with recursion but without containment

Figure 7. Dependency analysis with containment but without recursion returns the objects that are pointed to by the selected object plus the objects that are pointed to by the selected object’s descendants. All descendents from the selected object are excluded from the results, even if one of those descendants is also an object that points to a descendant. In this example, View1 and Measure are returned as objects that point to the selected table. In this example, DataType1 is returned as the objects that is pointed to by Column1 which is a descendant of Table1.

Dependency analysis with containment but without recursion
Figure 8. Dependency analysis with containment and recursion returns the following:
  1. The objects that are recursively pointed to by the selected object.
  2. The objects that are recursively pointed to by the selected object’s descendants.
  3. The objects that are recursively pointed to by the objects that are returned in 1 and 2.

All descendents from the selected object are excluded from the results, even if one of those descendants is also an object that points to a descendant

Dependency analysis with recursion and containment

Feedback