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
- Recommendations and Tips to Extend the Semantic Model
- Extend the Semantic Model Using the Sandbox Framework
- Extend the Semantic Model Using the Branch Framework
- Add Security Configurations
- View Activity History of Semantic Model Extensions
- Move Your Customizations to Another Environment
- Map the Custom Attributes
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.
If your instance has the semantic model extensions Sandbox framework, then you can use the information about extending the semantic model using the Sandbox framework. If your instance has the semantic model extensions Branch framework, then you can migrate to the semantic model extensions Sandbox framework because the Branch framework is planned to be deprecated in a future release. See Migrate to the Sandbox Framework for Semantic Model Extensions.
Branch Framework | Sandbox Framework |
---|---|
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. |
- 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 extensions are available in this component.
- Security Configurations: You can secure the objects of all the other components against the application roles in this component.
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 the extensions 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.
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.
Database Naming Standards for Autonomous Data Warehouse Objects
- 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
- _V = Views
- _MV = Materialized View
- _DS = Data Augmentation Dataset
- _EXT = Data Augmentation Extension
- 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.
Deployment
- Migrations must flow in a single direction only. Choose one environment to be the master Development environment. After user acceptance testing, generate and deploy a Semantic Extensions bundle to migrate changes to Production and other environments.
- Don’t export the Semantic Extensions bundle separately and then do security promotion through test to production. Generate the Semantic Extensions bundle and include the extensions you want and then include security as well.
Data Augmentation Datasets and Flexfields
- 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.
- You can reference synonyms from the data augmentation datasets in the semantic model extensions after the initial full load for the data augmentation has completed. Use the "Run Immediately" option in the data augmentation to execute the full load straightaway.
Extending
- When joining facts to dimensions, ensure that the columns being joined are of compatible data types.
- When extending DEGEN Dimensions ("Details" folders), always maintain the same level of granularity by joining on the Primary key(s) of the fact with a one to one [1:1] relationship. Don't define many to many [M:M] joins because it may cause performance degradation and data duplication.
- When creating a custom dimension, you may unselect "Add hierarchy to Subject Area". However, it is still necessary to define a Hierarchy Primary Key and Display Attribute. Click on Selected Data Elements Detail folder, then the Properties edit icon to define the Hierarchy Primary Key and Display Attribute.
- When extending a dimension (if the extension granularity is one to one [1:1] with the prebuilt dimension) combine multiple extensions for the same dimension in a single source (table/view/synonym) in Autonomous Data Warehouse. It is preferable to have one extension with many columns, rather than have multiple extensions per column.
- If it's necessary to have multiple extensions on the same dimension due to varying one to many (1:M) relationships (such as multi-select), then be cautious of an index length limitation that may be hit. To avoid the constraint, name the table/view/synonym as short as feasible. For example, FDI_X_SZ_V (Size) and FDI_X_PR_V (Price).
- When adding a custom fact, always set the content levels for the custom dimensions that are joining to the custom fact.
- 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 prebuilt 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.
- When naming objects (dimensions, facts, and columns) remove all leading and trailing spaces. You can use underscores and spaces in names but avoid all other special characters.
Impact of Data Flows and Data Replication
If you’re using data flows and data replication capabilities in Oracle Analytics Cloud associated with your Oracle NetSuite Analytics Warehouse instance and creating semantic model extensions in Oracle NetSuite Analytics Warehouse, note that it may impact the performance of Oracle Analytics Cloud. You can schedule data flows outside of business hours because running complex data flows during business hours may have a negative impact on the overall system performance.
Extend the Semantic Model Using the Sandbox Framework
The Sandbox framework provides better usability and understanding of the semantic model and customizations along with better performance and consistency of the model. The Sandbox capabilities result in a much faster time to have all changes available for reporting.
The Sandbox framework for the semantic model extensions 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 Sandbox 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.
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.
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.
Create Variable
Create custom session variables that you can use in your semantic model.
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.
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
- Publish the Model
- 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 migrating the non-production instances to the Sandbox framework before migrating the production instance.
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.
- 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.
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, 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.
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 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.
Add Security Configurations
Add security configurations to secure the subject areas and data with prebuilt and custom duty and data type of application roles.
Configure Data Security
As a security administrator, provide users with access to data using the custom-created data type application roles.
You can add filters to data retrieved from logical or presentation objects based on the data roles assigned to users. If you specify functional groups, Oracle Fusion Data Intelligence combines all the filters in the same functional group using the OR operator and combines all sets of filters in different functional groups using the AND operator.
You can add one customization step for each data role. The elements that you can secure are from the Main branch of the semantic model. Hence, if you need a newly added object to be secured, then you must ensure that the customization branch containing the newly added object is merged with the Main branch before configuring the security. If any of the custom-created role is no longer available, then the security configuration for that role is removed from the "Configure Data Security" step.
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.
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 the user extensions or a user with the Modeler Administrator role, you can republish them if you’ve modified them after publishing them initially.
- 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, you see a warning icon and the Republish button on the Semantic Model Extensions page.
- Click Republish to publish your user extensions with the latest details.
Map the Custom Attributes
You can attach custom objects to transactions and transaction lines.
When you attach custom objects to transactions or transaction line types, you automatically create extension attributes that appear in Oracle Analytics Cloud reports and dashboards. The process is automated, so you don't need to create dimensions and extend entities.
Map Custom Attributes
Import custom attributes for transactions, transaction line, transaction accounting lines, and dimension entities using the Custom Attributes Mapper.
Note:
Custom attributes that reference other transaction internal IDs aren't supported in the Custom Attributes Mapper. Use the Data Augmentation capability to bring these into NetSuite Analytics Warehouse.The attributes that you can select have a default limit of 4000 characters for all data types. If the source transaction has attributes with more characters than the default limit, the system displays the unsupported attributes. If you want to use these unsupported attributes, you must either change the size in the data source or request the administrator to increase the character limit.
- In NetSuite Analytics Warehouse Console, click Data Configuration.
- On the Data Configuration page, under Applications, click Custom Attributes Mapper.
- On the Custom Attribute Map List page, click Create.
- Select the type of attribute you want to create, and the source transaction type or entity you want to import.
- Select the attributes you want to associate with the source transaction type.
- Click Save.
- Click Publish to make the attribute map available to users.