About Logical Joins
Logical joins define relationships between logical tables.
Logical joins are conceptual joins and not physical joins. Logical joins don't join to specific keys or columns. A single logical join can correspond to many possible physical joins.
A key property of a logical join is cardinality. Cardinality expresses how rows in one table are related to rows in the table that it's joined to. A one-to-many cardinality means that for every row in the first logical dimension table there are 0, 1, or many rows in the second logical table. Semantic Modeler considers a table to be a logical fact table if it's at the Many end of all logical joins that connect it to other logical tables.
Specifying the logical table joins is required so that the Oracle Analytics query engine can have the necessary metadata to translate a logical request against the business model to SQL queries against the data sources. The logical join information provides the Oracle Analytics query engine with the many‐to‐one relationships between the logical tables. This logical join information is used when the Oracle Analytics query engine generates queries against the underlying data source.
You don't need to create logical joins in the logical layer if both of the following statements are true:
-
You create the logical tables by dragging and dropping all required physical tables to the logical layer.
-
The logical joins are the same as the joins in the physical layer.
You might need to create some logical joins in the logical layer because you can't drag and drop all physical tables simultaneously except in very simple models.
You use the logical diagram to create joins. When you create a join expression in the physical layer, you can specify expressions and the specific columns on which to create the join. When you create a logical join in the logical layer, you can't specify expressions or columns to create joins on. A join in the physical layer doesn't require a matching join in the logical layer.