About Best Practices and Tips to Extend the Semantic Model

Before extending your semantic model, review the best practices and tips to ensure that your extensions work as expected.

Recommended naming conventions: Ensure that you follow these naming conventions to avoid loss of customizations after an upgrade and to easily identify the custom objects:
  • Prefix a custom object with X_ZZZ_ where ZZZ is an abbreviation of your organization.
  • Suffix different objects as:
    • _A = Aggregate
    • _D = Dimension
    • _DH = Dimension Hierarchy
    • _F = Fact
    • _H = Helper
    • _M = Map Dimension
    • _MD = Mini Dimension
Best practices applicable across the types of extensions:
  • Perform all development activities in one environment that you consider as the master development environment. Subsequently, you must move the extensions from that environment to other non-production or production environments.
  • When you need to create a star schema (custom dimensions and custom facts), always create the custom dimensions first followed by the custom facts.
  • When you define joins in any customization wizard, ensure that the join columns are of compatible data types.
Best practices while adding a dimension:
  • While defining the joins, you can choose to skip the joins and proceed to the next action. This results in the step ending up in a warning state but the process adds the custom facts. Oracle Fusion Analytics Warehouse clears the warning when you define the joins later.
  • Always specify the primary key and display attribute when you define the hierarchies for the custom dimension.
Best practice while extending a dimension is to combine multiple extensions for the same dimension in the database. Same dimension extensions always join to the base dimension on the same columns. Hence, in the database, combine the extensions into one object and then extend all columns using that object.

Note:

Multiple steps defined for the same dimension eventually lead to a constraint causing the extensions to fail. Combining the extensions into one database object and then defining all extensions using one step is highly recommended.

Best practice while adding a fact is to always set the content levels for the custom dimensions that are joining to the custom fact.