One of the most powerful aspects of SAS Model Risk Management (MRM) is the ability to extend the out-of-the-box data model to fit your organization's specific governance needs. If your team needs to capture a free-text value on a Model record, such as a model purpose description, a regulatory justification, or an internal notes field, you can do that without writing code. It requires a data loader workbook, a trip to SAS Risk Cirrus Builder, and a few minutes of your time.
This post walks you through the end-to-end process of adding a custom text field to the Model object in SAS MRM.
Out-of-the-box, SAS MRM comes with a rich set of predefined fields. But every organization has unique data capture requirements that go beyond the defaults. A custom text field lets you:
For this walkthrough, we'll use x_mrm_model_purpose — a field to store the primary purpose of each model in free-text form.
The RegistrationFieldDefinitions loader references data that must already be loaded into SAS MRM before your new field can be registered successfully. If you are working in a fresh or partially configured environment, confirm that the following loaders have already been run:
SourceSystems — Defines the source system codes used to identify where configuration data originates. The registration.sourceSystemCd value in your RegistrationFieldDefinitions sheet (e.g., RCC) must exist here before it can be referenced.
Registrations — Registers the object types in SAS MRM, such as Model, Finding, or ModelReview. The registration.id value in your RegistrationFieldDefinitions sheet (e.g., Model) must correspond to an existing registration. The source system code and registration ID together must be unique.
If any of these are missing, your data load will return errors during the preview step. Resolve prerequisite loaders first before attempting to load RegistrationFieldDefinitions.
The RegistrationFieldDefinitions sheet is how you formally register a new field in the SAS MRM data model. Specifically for registering a new text field, this is the only sheet you need (as long as you already have the prerequisite data loaders loaded).
Create a new Excel workbook and add a worksheet named exactly: RegistrationFieldDefinitions.
You can download the data loader template from Data Load > View Available Loaders or download the fields already in your system by using the REST API:
{HOST URL}/riskCirrusObjects/objectRegistrations/export.
Then add the following columns and their values:
| Column | Value | Notes |
|---|---|---|
registration.sourceSystemCd |
RCC |
References the source system for the object registration (Model) |
registration.id |
Model |
The object this field belongs to |
registrationFieldDefinitions.name |
x_mrm_model_purpose | The internal field identifier. Must start with x_. Cannot start with cirrus or use reserved field names. Max 100 characters. |
registrationFieldDefinitions.type |
string |
For a text field, use string. Other valid types include boolean, date, double, optionCd, html, jsonObject, jsonArray, and timestamp. |
registrationFieldDefinitions.maxLength |
(leave blank) | Sets the maximum character length for the field value. |
registrationFieldDefinitions.description |
Primary Model Purpose |
Optional. Not currently surfaced in the product UI, but useful for documentation purposes. |
registrationFieldDefinitions.globalSearchEnabled |
TRUE |
Optional. When TRUE, the field is included in global search. |
registrationFieldDefinitions.multiValued |
(leave blank) | Generally applies to optionCd type. |
registrationFieldDefinitions.listName |
(leave blank) | Only required for optionCd type. References the NamedLists data loader for multiple options. |
Save the workbook — for example, as mrm_primary_purpose_loader.xlsx.
With your workbook ready, navigate to Settings → Data Load in SAS MRM.
If the load is successful, the field is now registered in the SAS MRM data model. It exists in the system, but it isn't visible to users yet — that happens in the next step.
SAS Risk Cirrus Builder is where you control what appears on the Model page. You'll need to add the new field to the object and then drag it onto the page.
X_MRM ModelX_MRM Model)x_mrm_model_purpose (must match the registrationFieldDefinitions.name from your data loader)Primary Model PurposePrimary Model PurposeX_MRM Model page
Once the field is live on the Model page and populated with data, the next logical step is making it available in your SAS Visual Analytics dashboard. That process is not covered in this post.
What's important to know is that adding a field to the Model page and having it appear in a dashboard report are two separate activities. A field can exist on a Model record without being available for reporting.
To surface it in a dashboard, you'll need to update your reporting configuration so the system knows the field exists, how to extract it, and how to shape it for display.
This is covered in a follow-up post. For now, the goal is simply to confirm that your new x_mrm_model_purpose field is visible on the Model page and accepting input.
| Column | Required? | Value for Text Field |
|---|---|---|
registration.sourceSystemCd |
Yes | RCC |
registration.id |
Yes | Model |
registrationFieldDefinitions.name |
Yes | x_yourFieldName |
registrationFieldDefinitions.type |
Yes | string |
registrationFieldDefinitions.maxLength |
No | e.g. 200 |
registrationFieldDefinitions.description |
No | Optional documentation text |
registrationFieldDefinitions.globalSearchEnabled |
No | TRUE or FALSE |
registrationFieldDefinitions.multiValued |
No | Leave blank |
registrationFieldDefinitions.listName |
No | Leave blank |
Now that x_mrm_model_purpose is registered and visible on the Model page, the next step is making it useful in reporting. In a follow-up post, we'll walk through how to connect this field all the way through to a column in your SAS Visual Analytics dashboard, so the data your team is entering actually shows up where decisions get made.
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.
Explore Now →The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.