BOBJ - Loops

Card Puncher Data Processing


Semantic Layer Modeling - Loop issue in BOBJ.

Bobj Loop Structure Pane

You often use BOBJ - Context in schema that contain multiple fact tables (“multiple stars”) that share lookup tables.

Breaking a loop

Depending on the nature of the loop, you can resolve the loop in Designer using either an alias to break the join path, or a context to separate the two join paths so that a query can only take one path or the other.

With an alias

You create an BOBJ - Alias for Country and rename it Country_Region. The two “one” ended joins are now separated as follows:

  • Country keeps a join to the Resort table.
  • Country_Region is joined to the Region table.

The schema now appears as shown below:

Bobj Loop Resolved With Alias

Alias are not appropriate in such schema. See Context section for the explanation.

With a context

After the creation of an alias, the addition of a new table can create a new loop join as shown below : Bobj Loop New Apparition After Alias

You must continue creating aliases for each new table you add to the schema. This is difficult to maintain, and also ends up proliferating the number of similar objects using each table in the universe.

The only way to resolve this loop is to leave the loop in place, and create a context that specifies one or the other path around the schema. This ensures that queries answer questions for one transaction or the other, such as: Is the customer information needed from the perspective of sales or reservations?

You then create different sets of objects from the tables in the different contexts. Users can then run either :

  • Reservation queries
  • or Sales queries,

Bobj Loop Resolved With Context

You often use BOBJ - Context in schema that contain multiple fact tables (“multiple stars”) that share lookup tables.

Detected by

  • Detect Aliases (Tools > Automated Detection > Detect Aliases)
  • Detect Contexts (Tools > Automated Detection > Detect Context)
  • Detect Loops (Tools > Automated Detection > Detect Loops)
  • Check Integrity
  • Visual analysis of schema

Solved by

Creating BOBJ - Alias and BOBJ - Context to break loops.

Discover More
Card Puncher Data Processing
BOBJ - Alias

Aliases are references to existing tables in a schema. An Alias is a table that is an exact duplicate of the original table (base table), with a different name. You use aliases for two main reasons:...
Bobj Chasm Trap
BOBJ - Chasm Traps (converging many to one joins)

Chasm Traps is see as a Join Path problem or data modeling issue (convergence type ) which returns more data than expected by returning a cartesian product. A chasm trap is a type of join path...
Card Puncher Data Processing
BOBJ - Joins (Home)

The Joins in BOBJ. You have several approaches to creating joins in : Tracing joins manually in the schema (Drag and drop) Defining join properties directly ( Menu Select Insert > Join ) ....
Star Schema
Semantic Layer Modeling - Issues (SQL Trap)

When modeling a semantic layer, you can encounter issues that impact the results obtained from semantic queries. You may need to resolve join problems such as : loops, missing data traps, chasm...

Share this page:
Follow us:
Task Runner