Skip to content
  • There are no suggestions because the search field is empty.

Composite model object from another layer (Business Rule)

Applies to
Platform: Microsoft SQL Server · Snowflake · Databricks · Databricks dbt · Fabric Lakehouse · Fabric Warehouse · Oracle
Architecture: Data Mart

This business rule warns when a Mart Composite or a Mart Hierarchy Flatten reads a composite model object of another layer in a dataflow set. It raises a warning, and the generator still writes the model object. The rule ID is ID-21002.

Message

The client shows a warning with this text on the model object. <model object name> and <type> stand for its name and type.

Model object '<model object name>' of type '<type>' uses a composite
model object from another layer in a dataflow set. This will be
disallowed in the future and should be refactored (e.g. use the
corresponding Vault Out model object instead).

On the model object card, point to the warning icon to see this message with the rule ID: Warning ID-21002. The Generate Artifacts page lists the message without the ID.

Available since Generator 2.2.

Cause

A dataflow set of the Mart Composite or Mart Hierarchy Flatten has a BusinessVault Composite as source, which belongs to the Business Vault layer. The rule also checks RawVault Composite, Core Composite and Store Composite sources, which the client does not offer for these types.

Fix

  1. Create a Vault Out that reads the BusinessVault Composite, with the terms the Mart model object reads.
  2. In the dataflow set of the Mart Composite or Mart Hierarchy Flatten, use the Vault Out as source instead of the composite and map the terms again.
  3. Generate the artifacts again.

Check the result

The warning icon is gone from the Mart Composite or Mart Hierarchy Flatten.

Example

In a Vault and Mart project, the Mart Composites common_employee, dataflow_multi_cached_mc and dataflow_multi_virtual_mc read the BusinessVault Composite EMPLOYEE. For common_employee the client shows:

Model object 'common_employee' of type 'Mart Composite' uses a
composite model object from another layer in a dataflow set. This will
be disallowed in the future and should be refactored (e.g. use the
corresponding Vault Out model object instead).

The warning appears once for each of the three Mart Composites, and their generated objects are still written.

Related articles