Extend the Semantic Model Using the Branch Framework
You customize your semantic model in the non-production environments such as development or test by creating branches and adding steps to those branches.
Note:
Oracle recommends that you migrate to the semantic model extensions Sandbox framework because the Branch framework is planned to be deprecated in a future release.You use a branch or version to publish your changes to the model. You can apply the model from the branch to a local service instance for testing. When the changes are correct, you can merge that branch with the main branch. You can merge multiple branches with the main branch over time. When you have a set of changes finalized, you can version the main branch and use the Bundles functionality to move the customizations to another environment. See the information regarding the Semantic Extensions Bundle in Bundle Your Application Artifacts.
You can copy the steps from the main branch, edit them directly, and later merge them with the main branch. However, you must ensure not to perform two or multiple levels of copies. For example, you must not copy steps from the main branch to another branch, then copy the steps over to yet another branch, and then merge the second branch with the main branch.
You can customize the model by extending prebuilt dimensions with additional attributes from another data source, by adding a fact to an existing subject area, and by reorganizing the prebuilt subject areas to create a new subject area to name a few. If you've merged an external application, then note that both external semantic model and semantic model extensions can co exist. On the Publish Model page, select "Yes" if you want the external semantic model to be included.
Don’t maintain changes in a local branch for long periods of time. Local branches can become out of synchrony when changes to the Oracle NetSuite Analytics Warehouse environment occur. Use a local branch for development, then merge to the main branch after user acceptance testing. Promote the main branch from Development to Production environments using the Semantic Extensions bundle. Whenever a system extension run is replaying the master branch, you must not edit the main branch during this time as that might cause a conflict leading to failure of the semantic extensions.
Topics:
- Migrate to the Sandbox Framework for Semantic Model Extensions
- Create a Branch
- Edit a Branch
- Add a Step to a Branch
- Edit or Delete a Branch Step
- Reapply a Branch Step
- Disable and Enable the Disabled Steps
- Copy Steps from One Branch to Another
- View Details of Failed Branch Steps
- Merge the Customization Branches with the Main Branch
- Reorder Steps of Customization Branches
- Delete a Main Branch Step
- Tag the Main Branch's Steps
- unresolvable-reference.html#GUID-E5D4BA17-6E9E-41A0-A4FC-9CED04C97BF9
- Load Customization Data to the Autonomous Data Warehouse
Migrate to the Sandbox Framework for Semantic Model Extensions
Prior to switching over to the Sandbox framework for semantic model extensions, note the tasks and ensure to take appropriate action where required in the suggested sequence.
Begin by validating and resolving all semantic model validation errors within the non-production instance. Subsequently, migrate the validated (error-free) semantic model to all other instances, including production, while all instances are still on the branch framework. If you have multiple instances such as development, stage, and production, prepare a semantic model extensions migration timeline for each instance. After the initial instance is migrated, it isn't possible to bundle the semantic model extensions until the target instance is on the same semantic model extension framework. It's recommended to complete the migration of the production instance promptly after migrating the lower instances to avoid bundle delays.
Validate the Main Branch
On the Semantic Model Extensions page, when you see the banner to schedule the migration, don't click Schedule now until you've validated the main branch successfully with no errors.
Note these and take applicable action prior to initiating the validation process:
- Don't perform any development or administrative activities that effect the semantic model extensions during validation or while the migration is in process. This includes modifying existing data augmentation or creating new data augmentation that have the semantic model extensions.
- Remove leading and trailing spaces from the object names.
- Remove special characters such as parenthesis from the object names.
- Ensure all keys are present on the join columns.
- Confirm all referenced source database objects and columns exist in Autonomous Data Warehouse.
- Confirm grants are applied on all referenced source database objects using
GRANT SELECT ON "OAX_USER".“TABLE_VIEW" TO "OAX$OAC"; - Resolve any duplicate object names.
Deploy Validated Branch to Production
After successfully validating the main branch in the lower environment and resolving all validation report errors, bundle the validated semantic model and deploy it to the production environment.
See Deploy a Bundle.
It's not possible to validate or produce a validation report in the production environment. Before scheduling the migration of the lower instance, it's crucial to perform a final user acceptance test in the production environment. After you migrate the lower instance, bundling between the migrated sandbox and the production branch instances isn't possible, until you migrate the production environment to the Sandbox framework.
Schedule the Migration
You can initiate migration of your extensions to the Sandbox framework by submitting the request from the banner message on the Semantic Model Extensions page when you click User Extensions.
Note:
You can't use the semantic model extensions capability during the migration process.Perform the Post Migration Verifications
After the migration is complete, in non-production instances, note these and take appropriate action:
Revert to the Branch Framework for Semantic Model Extensions
Post migration, an option to revert to the Branch framework if customizations aren't as expected is available. The migration rollback option gets disabled after 60 days from the migration date or an Application update, if it happens first post migration to the Sandbox framework.
- Ensure to complete the reversal process within this period if you must revert. If you choose to revert, then the semantic model rolls back to the state prior to the migration being initiated. You can't rollback the migration if you've completed an Application update after completion of the migration process.
- Oracle maintains a backup of the existing semantic model extensions at the time the migration is initiated. If you encounter issues during or after migration, Oracle uses the backup to troubleshoot and enable required extensions on the new framework. Should you choose to revert to the previous state, the semantic model is restored from this backup.
- If you've made further changes to the semantic model in the new framework before choosing to revert, these customizations can't be migrated to the previous semantic model extensions framework.
Create a Branch
To begin customizing your semantic model, create a branch of the main semantic model.
You add customizations to the production environment. After you have added and tested your customizations, you can publish them to the model in the production environment.
Edit a Branch
Before you apply a branch to the main branch of your semantic model, you can edit the branch description to make it more meaningful.
Add a Step to a Branch
You can add customization types such as "Extend a Dimension" as a step to an existing unapplied branch or a new branch that you create.
Add a Dimension
You can create a custom dimension, join it to the prebuilt or custom facts, and add the custom dimension to any subject area to meet your business requirements.
Note:
If you’ve created Add a Dimension steps using the previous functionality, you can still edit and reapply through the Edit option.Add Session Variables
Add custom session variables that you can include in the analyses. After merging this step to the Main branch and publishing it, the custom session variables are available in the custom security configuration user interface only.
Extend Dimension
Extend prebuilt dimensions with additional attributes from another data source. For example, you can create a category column that isn't available in the prebuilt dimensions.
You can define a sort order column to control the sorting order of a logical column, especially when the desired sort order doesn't match the natural sort order of the data. This is useful for situations like sorting months in a specific chronological order or sorting descriptive columns based on a code or hierarchy. Refer to Extend Dimension in the Extending section in Recommendations and Tips to Extend the Semantic Model.
Create Subject Area
You can create a subject area as a container and later add facts and dimensions to your new subject area or create a subject area based on an existing one. The subject area enables you to organize all entities and attributes available for reporting.
Modify Subject Area
You can modify custom and prebuilt subject areas. Modify a custom subject area to change the previously selected data elements or add more data elements and modify a prebuilt subject area to add more data elements.
Edit or Delete a Branch Step
As the owner of the branch or an user with the Modeler Administrator role, you can edit a step to modify the details or delete it if it's no longer required. You can delete multiple steps together.
- Sign in to your service.
- In Oracle NetSuite Analytics Warehouse Console, click Semantic Model Extensions under Application Administration.
- On the Semantic Model Extensions page, click User Extensions.
- In the User extensions region, under Customization Branches, click a branch to display the steps.
- Hover over a step to view Actions.
- Click Edit and update the details.
- Click Delete to remove it from the branch.
Reapply a Branch Step
As the owner of a branch or a user with the Modeler Administrator role, you can reapply a failed step after resolving any issues that might have occurred with tables or columns in the autonomous data warehouse.
Disable and Enable the Disabled Steps
You can disable and enable the disabled steps in the main and customization branches in the development and production environments. This helps you in troubleshooting issues in the branches.
Copy Steps from One Branch to Another
Use these instructions to copy steps from a customization branch to another customization branch.
View Details of Failed Branch Steps
You can view the reasons why a branch step had failed and then correct the errors.
Merge the Customization Branches with the Main Branch
Merge the customization branches with the main branch to use the customization steps as the sequence of steps.
When you edit a branch, the system automatically locks it to prevent another user from simultaneously editing the same branch. As you complete each step or reorder the steps, the system unlocks the branch, saves it, and notes the change in the change log tab.
Reorder Steps of Customization Branches
You can reorder the steps in a branch that has been applied or is yet to be applied to the main branch.
Delete a Main Branch Step
As a modeler administrator, you can delete all steps of a main branch that have been either applied or have failed. With modeler permissions, you can delete only failed steps of a main branch.
- Sign in to your service.
- In Oracle NetSuite Analytics Warehouse Console, click Semantic Model Extensions under Application Administration.
- On the Semantic Model Extensions page, click User Extensions.
- In the User Extensions region, click Main to view the details.
- On the Main Branch page, hover over a step to display the options.
- Click Delete to remove it from the main branch.
Tag the Main Branch's Steps
You can create tags on the "Applied" steps of the Main branch as a snapshot at a given point in time.
When you have a set of customizations ready for promotion and merged them with the Main branch, you can tag the Main branch's steps with “Applied” status using the Create Tag option for the Main branch or tag any of it's steps with “Applied” status directly on the Main branch detail page using the Tag option. When you tag a step directly on the Main branch details page or include a step while tagging using the Create Tag option for the Main branch, the steps prior to the selected step are included in the tag too. You can untag the tags that you create for the Main branch's steps using the Untag option.
Publish Model
You can publish the sandbox in the non-production environments such as development or test to ensure that there are no errors.













