4 Customize Oracle NetSuite Analytics Warehouse
You can customize the semantic model and groups.
As a modeler or modeler administrator, you can customize your semantic model. Customization enables you to make the data that you moved into the analytics warehouse more useful for reporting. As a security administrator, you can create, configure, and assign custom groups to users.
Topics:
- About Semantic Model Customization
- Create a Branch
- Edit a Branch
- Add a Step to a Branch
- Edit or Delete a Branch Step
- Reapply a Branch Step
- 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
- Configure Object Permissions
- View Activity History of Semantic Model Extensions
- Publish the Model
- Load Customization Data to the Autonomous Data Warehouse
- Move Your Customizations to Another Environment
- Republish Your Customizations
About Semantic Model Customization
You can customize the semantic model to extend it for your business requirements. You extend the semantic model to make the data that you moved into the warehouse more useful for reporting.
You customize your semantic model by creating branches and adding steps to those branches in your production environment. 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.
- Oracle Content: This is the base model provided by Oracle. Your customizations are layered on this.
- System Extensions: Your descriptive flexfield and data augmentation changes are available in this component. See View Activity History of Semantic Model Extensions to know about the scenarios in which Oracle NetSuite Analytics Warehouse applies the system extensions.
- User Extensions: Your customization branches and versions are available in this component.
- Security Configurations: You can secure the objects of all the other components against the application roles in this component.
From release Platform 23.R4 onwards, Oracle NetSuite Analytics Warehouse periodically evaluates the customizations and sends notifications to the users with Modeler Administrator and Modeler privileges to correct errors and warnings in branches and steps as soon as possible to prevent errors during patching. If these errors aren't fixed and a patch is initiated (or a mandatory patch is auto-applied), then patching may encounter issues. In that case, customizations that haven't been merged to the main branch are removed and the factory semantic model is upgraded. You must reapply the applicable customizations after the patching is complete.
Learn About the New Semantic Model Extensibility Experience
A new set of wizards are available for you to create semantic model extensions. These wizards will replace the existing wizards in a future release. With the new wizards, you can create extensions with objects created using the merged external application. For this reason, the External Applications is the second layer to be applied and other options are applied subsequently. If you've already merged an external application, then you can create extensions with wizards as well. Though you may choose not to in order to keep all changes in the external semantic model. None of your customizations are lost as a result of this change in order and no reimplementation is necessary.
You can schedule when to switch to the new wizards after learning about it. When you switch to the new wizards, Oracle will migrate your current customizations to the new framework. See About Migrating to the Enhanced Semantic Model Extension Framework.
Existing but soon to be replaced | New |
---|---|
Action centric view. | Model centric view. |
Steps done one-by-one but are independent of each other. | Related steps are grouped together making it easier to complete a fully consistent unit of work. |
Has the concept of branches that can contain steps that are unrelated. | Has the concept of a sandbox that can contain fully formed dimensional models or “stars”. All objects within a star are related. |
No graphical view of the model. | Complete graphical view of each star that shows the ready-to-use and custom objects. |
Publish branches to test. Merge to main when completed. | Publish sandbox to test, merge to main when completed. |
Customization steps are disconnected. Different steps done on the same object can override each other in different branches. | All customizations done to an object are visible together. You see the result of all operations at any time. |
- Add or update objects, attributes, joins, and calculations.
- Change how objects are presented to the user such as change subject areas.
- Create variables to control behaviour of sessions and queries.
All other complexities and allowed operations are abstracted and done by the wizards. Operations of each type are possible with these new wizards and connected steps are done together. The key benefit is better usability and understanding of the model and customizations. Another key benefit is better performance and consistency of the semantic model. In the current wizards, each step is compiled and applied one at a time. In the new framework, the entire sandbox is compiled and applied, which results in a much faster time to have all changes available for reporting.
- Manage Subject Areas - Create a new Subject Area or modify an existing one that you created earlier.
- Manage Logical Star - create a new or modify an existing logical star. You start by creating a fact, then add dimensions, and then joins. You modify an existing logical star by adding dimensions, attributes, and other tables. You can add dimensions to existing ready-to-use facts while creating a new logical star. You can create many logical stars.
- Manage variables - similar to adding session variables in the existing capability for the semantic model extension.
After you create your sandbox, you merge it with the main sandbox and then publish the merged main sandbox in the non-production environments such as development or test to ensure that there are no errors.
See Use the Enhanced Semantic Model Extensibility Capabilities.
About Migrating to the Enhanced Semantic Model Extension Framework
Prior to switching over to the new semantic model extensions framework, do note these and take appropriate action where required:
- Before migration, merge all your changes to the main branch and publish it because Oracle will migrate the current main branch, but not the custom branches.
- Security configurations will remain unchanged in the new framework, hence no action from you is required.
- Upgrade all non-production and production instances to the new framework before attempting any migration of semantic extensions from non-production to production instances using the Bundles functionality.
- You can't use the semantic model extensions capability during the migration process.
- Oracle migrates the existing customizations to the new framework. Once the migration is complete, you receive a notification on the console. You can also monitor the status in the Activity tab for Semantic Model Extensions.
- Sign in and sign out of your service after migration completes.
- Once the migration is completed, you see a downloadable report that shows which customizations are available for which object with the Main branch object to Main sandbox object mapping (so that you can see all your customizations that have been brought over). In most cases, operations like Add Dim, Add Fact, Add Variable, Extend Dimension, Add Columns have 1:1 correspondence between the old and the new framework. The Main sandbox is published and ready for use. All of your subject areas, visualizations, and reports remain unchanged. An option to revert to the old framework if customizations aren't as expected is available and the migration rollback option gets disabled after 60 days from the migration date. Ensure to complete the reversal process within this period, if you must revert. If you choose to revert, then the semantic model reverts to the state prior to the migration being initiated. You can't rollback the migration if you've completed a content upgrade 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 back 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.
About Recommendations and Tips to Extend the Semantic Model
Before extending your semantic model, review the recommendations and tips to ensure that your extensions work as expected.
- Prefix a custom object with
X_ZZZ_
whereZZZ
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
- Use unique names for objects in your semantic model extensions to avoid issues caused by duplicate names.
- 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.
- Don’t extend a prebuilt fact to alter the structure. For example, don’t add Invoice Distribution ID into the Invoice Line fact table.
- Don’t keep 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 testing and merge to the main branch soon and frequently. Promote the main branch to Production using the Test to Production (T2P) process.
- Ensure that the changes in source are addressed in your Oracle NetSuite Analytics Warehouse instance. For example, if a descriptive flexfield used in a custom subject area has been disabled in the source, then you must replace or remove the applicable descriptive flexfield in Oracle NetSuite Analytics Warehouse else the applicable semantic model extension fails.
- Ensure that the table and column names don't have leading or trailing spaces in the semantic model extension steps.
- Ensure to check and correct the errors and warnings on the Semantic Model Extensions page regularly.
- If you want to use any dataset that has been brought in through data augmentation to build the joins or incorporate any object from the dataset into your semantic model, then you must ensure to run an incremental load before using the dataset.
- While reapplying any extension, ensure that you cleanup the view in schema OAX_CUSTOM_DATA, re-edit the extension in the Main branch, and re-apply it.
- Don’t create any table starting with "DW" in custom schemas and the OAX_User schema because this may result in conflict with the prebuilt object names. If you create tables starting with "DW", then these tables won't show as custom tables in the Semantic Model Extensions wizard.
- 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 NetSuite 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.
Note:
Multiple steps defined for the same dimension eventually lead to a constraint causing the extensions to fail. For example, in step 1, you use table A and add a set of columns and then in step 5, you use the same table A, extend the same dimension, and add the same set of columns. This results in failure because in step 1, the columns are already added; hence, step 5 fails and the user extensions aren’t available. Combining the extensions into one database object and then defining all extensions using one step is highly recommended.When adding a fact, always set the content levels for the custom dimensions that are joining to the custom fact.
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.
Minimize the number of semantic extensions as much as possible. For examples, don’t create multiple extensions to modify the same subject area; instead, you must consolidate the modifications to the same subject area. If you’ve to modify the same dimension, then consolidate changes to a single logical table source.
When adding a custom hierarchy, avoid aiming to display the grand total levels in visualizations because custom hierarchies are exposed only from the first level. The ready-to-use hierarchies too don’t expose the total levels. The Grand Total level just gives the grand total amount; hence use it only when there is no join between a fact and dimension and the metric has to be set at a total level.
Don’t export the semantic model extensions bundle separately and then do security promotion through test to production. Generate the semantic model extensions bundle and include the extensions you want and then include security as well.
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.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.
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.
Configure Object Permissions
Configure the permissions for objects such as subject areas and its elements with the ready-to-use or the custom-created duty roles.
For the front-end objects such as key metrics and workbooks, set the permissions individually for each object by adding the applicable duty role and the corresponding access.
- Default (inherited from the parent element).
- No Access (deny access to the respective subject area or its elements)
- Read-only (access to read the respective subject area or its elements).
Repeat the operation for all the subject areas or the subject area elements that you need to secure.
View Activity History of Semantic Model Extensions
View an audit of all activities performed on the semantic model.
- Any changes to augmentations and new augmentations. A new augmentation replays all the steps in the Main branch because of implicit dependencies.
- New module activations. Module activations can run augmentations related to that module, but the Main branch steps are always replayed.
- Any changes done to flexfields (like DFFs) in your Oracle Fusion Cloud Applications instance such as deletion or addition. It doesn’t matter where the DFF's are. If they are deleted in the source, then they get deleted in the prebuilt subject area. Hence, the custom subject area also must be modified to remove it. In this case, augmentation won't fail but the Main branch fails as it's custom and needs to be modified.
- Application update such as the Oracle NetSuite Analytics Warehouse version upgrade also runs the Apply System Steps.
- 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 Activity History to view an audit of all activities performed on the semantic model.
- Hover over an activity to view details of the activity.
Publish the Model
You can publish the versions on the main development branch and the other branches in the non-production environments such as development or test to ensure that there are no errors.
- 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 Publish Model.
- In Publish Model, select the user extensions and security configurations that you want to publish.
- Click Publish.
Load Customization Data to the Autonomous Data Warehouse
You can load your customization data to the autonomous data warehouse provisioned with your Oracle NetSuite Analytics Warehouse instance.
You need the autonomous data warehouse wallet and credentials of the administrator.
Move Your Customizations to Another Environment
When you've a set of changes to data augmentations, custom attribute mapper, semantic model, security configurations, and customized KPIs that are ready for promotion, use the Bundles functionality to move the desired objects to other environments.
Republish Your Customizations
As the owner of a branch or a user with the Modeler Administrator role, you can republish your user extensions, security configurations, and tagged steps of the Main branch if you’ve modified them after publishing them initially.
Use the Enhanced Semantic Model Extension Capabilities
The enhanced semantic model extensibility provides better usability and understanding of the model and customizations along with better performance and consistency of the semantic model. The enhanced capabilities result in a much faster time to have all changes available for reporting.
The enhanced semantic model extensions capability adopts an object focused experience instead of a task focused experience in the existing capability. This enables you to see changes done to a specific objects rather than having to derive the changes from several scattered steps. The enhanced capability has a logically organized flow for better usability with recommended practices enforced and better performance.
- Make changes within sandboxes, which are each user’s work area.
- Publish a sandbox to test and merge it to the Main once tested.
- Keep all changes for an object available in one place.
- Publish only one sandbox at a time. Publishing a sandbox removes any sandbox already published. If you've merged a sandbox, then the system preserves the changes if you publish any other sandbox.
- Zoom and focus on specific areas of the logical star using the Graphic tab on the Logical Star page.
- Rearrange the objects in the logical star using the Graphic tab on the Logical Star page.
- View all the joins in a tabular format using the Tabular tab on the Logical Star page.
- Create a sandbox.
- Select Perform Action and then select Create or Manage a Star.
- Make changes as required (the changes are done to the logical model).
- Select Perform Action and then select Manage Subject Areas.
- Incorporate logical changes in the desired subject areas.
- Go back to Semantic Model Extensions page, select User Extensions, select Publish Model, and then select the sandbox to publish.
- In Oracle Analytics Cloud associated with your Oracle Fusion Data Intelligence instance, verify if the changes are reflected in the subject area.
Create Sandbox
To begin customizing your semantic model, create a sandbox.
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.
Manage Subject Areas
The Manage Subject Areas action enables you to organize all entities and attributes available for reporting in subject areas.
You can create business-friendly names and organize them in a desired order within folders to make it easier to find and include in the reports. The typical organization is to have each dimension organized in a folder with all its attributes within it, followed by folder for facts and calculations. You can rearrange columns based on your organizational preferences.
You can create a subject area or modify a subject area.
Manage Logical Star
A logical star is the basic complete unit of a dimensional model with a fact at the center and joined to the surrounding dimensions. Manage a logical star by adding and updating objects, attributes, joins, and calculations.
Create Logical Star
Create a custom logical star to use custom data objects or elements that you have added to the warehouse or to create new calculations or joins to address your reporting needs.
Add Fact
Add elements that you can measure such as count and aggregate, and perform statistical operations to your custom logical star using the Add Fact option.
Manage Dimensions
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.
- Navigate to the Semantic Model Extensions page, under Customizations Sandbox, hover over an applicable sandbox to view Actions, and then click View Sandbox.
- On the selected sandbox Details page, click Perform Action, select Manage Logical Star, select Edit Logical Star, select the applicable fact and then select Next.
- On the Logical Star – Fact page, click Manage Dimension, and select either Add Dimension or Add Existing Dimension.
Add Dimension
Add dimensions to facts to complete a new star or to update existing stars. You can create joins from your custom dimension to a prebuilt fact.
Add Existing Dimension
If you want to provide additional context to facts, you can create your own dimension and join to an existing available column in a fact.
- On the Logical Star – Fact page, click Manage Dimension, and select Add Existing Dimension.
- In Add Table, select the dimensions to add.
Manage Extensions
After adding the extension, you can extend the dimensions, add hierarchy, and add columns to ensure that your custom logical star meets your business requirements..
- Extend Dim
- Add Hierarchy
- Add Column
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.
Add Hierarchy
Assemble the product hierarchy using the attributes from a dimension table. Hierarchies enable you to define aggregations and drill downs. This makes it easier to report on summary level and drill into details easily and within the same visualization.
Add Columns
You can create columns to provide additional data elements or calculations.You can add derived and physical columns.
- On the Add Column page, select Add Derived Column, and
complete these steps:
- In Create Column, enter a display name.
- Under Data Elements, search for a data element from the physical table of the selected dimension table.
- From the search results, double-click the data element to place it in the text pane.
- Under Functions, search for a function to construct a column using expressions. For example, search for functions like "substring" or "concatenate" to construct new expression-based columns. From the search results, double-click the applicable result to add it to the central text pane.
- Click Validate, and then click Save.
- On the Add Column page, select Add Physical Column, and
complete these steps:
- In Select Physical Column, select the columns and click OK.
- On the Add Columns page, for the physical columns, select the Display check box to expose the columns, and click the Logical Level icon to set the required level.
- In Set Logical Level, select the dimension, select the level of the dimension hierarchy, and then click OK.
Manage Variables
Use the Manage Variables action to control the behaviour of sessions and queries. You can create and modify the custom variables.
Merge Customization Sandbox to Main Sandbox
After creating the semantic model extensions, you must merge the customization sandbox that contains your semantic model extensions into the main sandbox to make the extensions available for processing.
Apply Changes
After merging your semantic model extensions with the main sandbox, you must apply the changes to your semantic model to use the extensions in your visualizations.
- 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.
- On the Semantic Model Extensions page, under Customizations Sandbox, hover over an applicable sandbox to view Actions, and then click Apply Changes.
Publish Model
You can publish the sandbox in the non-production environments such as development or test to ensure that there are no errors.