Implementation

The extensibility implementation is a combination of functionality implemented in the M3A Model Extensions space and other M3A model spaces. Before implementation, take these rules into consideration:
  • You are the owner of the M3A Model Extensions space. This space will not be updated during an update of M3 Analytics.
  • In the Model Extensions space, you are responsible for filling in custom attributes for a specific dimension using Birst ETL. This includes handling incremental loading by increasing the variationNumber of updated attribute values. To automatically integrate the custom attributes into the data warehouse, you must load them to the Extensibility Dimension in a fixed format.
The M3A Model Extensions space includes these packages:
  • InforM3A Extensions - Model

    This contains the Extensibility Dimension used by the extensibility logic.

  • InforM3A Extension Translations - Staging

    This is used for translating Custom Subject Area labels (future functionality). This package and the source M3A_ExtDim_Translations should not be removed.

The Extensibility Dimension contains the columns in the table:
Column Data type Comment
Dimension Varchar(50) This column contains the exact dimension name for which the custom attributes are added.
CONO Integer Company value. This is used in conjunction with the PK columns to identify a specific dimension record.
PK01 to PK08 Varchar(30) This columns contain the exact matching values of the dimension source key fields. Eight key columns are provided for future-proofing.
variationNumber Integer This column is used for incremental loading the extensibility data. If the dimension record already contains extensibility data, it is updated only if the variationNumber in the Extensibility Dimension is higher than the variationNumber in the dimension.
Ext_Dim_Text1 to Ext_Dim_Text10 Varchar(300) The ten string attributes that you can fill for a dimension.

ExtDim_Number_1 to ExtDim_Number_5

Number The five number attributes that you can fill for a dimension.
ExtDim_DateTime_1 to ExtDim_DateTime_5 DateTime The five datetime attributes that you can fill for a dimension.
Note: You should use the 24-hour clock format for Birst to correctly interpret the time component.
EXTDIM_LK This is used as a unique identifier for a record in the Extensibility Dimension. This is calculated in this script:
[Dimension] + ’-’ + 
[CONO] + ’-’+
[PK01] + ’-’ +
[PK02] + ’-’ +
[PK03] + ’-’ +
[PK04] +’-’ +
[PK05] + ’-’ +
[PK06] + ’-’ +
[PK07] + ’-’+
[PK08]
Note: You are responsible for filling the Extensibility Dimension with the correct data for it to be picked up by the extensibility-related scripts in the M3A model spaces. It is important to ensure that correct values are set for the Dimension, CONO, and PK columns. For more details on how to use these columns, see Model extension details.

The M3A Model Extensions space is delivered with the M3A_ExtDim_Template scripted source, which should be used as a template to create your own copy of the script. You should use your own copy to query your uploaded file. Comments in the template serve as a guide for modifying the script to map fields from the uploaded source to the Extensibility Dimension. You must not create columns and data types from scratch. Do not modify, ignore, or delete this template script as this is used to initialize the Extensibility Dimension on setup.

Process your script to populate or update the Extensibility Dimension. The values are picked up by the M3A model spaces once they are processed. After extensibility data is inserted in an Infor-delivered dimension, it can only be updated by loading new values using a higher variationNumber for a dimension record.