App Rationalization Bubble Chart - Axes Update

Zach Allen1
Tera Contributor

Hey Community,

 

Looking for some insights on the feasibility of modifying the X & Y axis within Application Rationalization section under the EA Workspace.


OOTB goes up to 10 on both X & Y axes. Due to some historical data we are looking to import, scoring goes up to 5 for certain stakeholders. To accommodate  this, I am looking to understand if it is simple fix to change each axis ceiling to 5 instead of 10.

 

Thanks for any insights!

5 REPLIES 5

FernandoUrrutia
Tera Contributor

ServiceNow normalizes these values ​​to a scale of 1 to 10 to facilitate comparisons, regardless of how small your data is (e.g., up to 5). I don't know of anything that does this the way you're suggesting, unless you create a view and normalize the data before graphing it.

Fernando Urrutia | LinkedIn

Consultor Certificado en ServiceNow desde 2018

Especialista en ITSM, Mejora Continua, Soporte y Administración

 Solex – Soluciones Expertas S.A.

nilesh_gupta
ServiceNow Employee
ServiceNow Employee

Hi Zach,

 

We don't have any configuration as such to modify both x and y to value other then 10, Current scale with which all indicator scores are evaluated is 0-10 and same is seeded on all the OOB provided indicators, If you are importing data where max value is 5, then probably you can multiply all score data you want to visualize with 2 and bring it into app rationalization chart to align with 10.

 

Thanks,

Nilesh

MaxMixali
Giga Guru

ServiceNow – Modify X/Y Axis Range in Application Rationalization (EA Workspace)

Context
--------
In the Enterprise Architecture (EA) Workspace, under Application Rationalization, the bubble chart visualizes applications along X (Business Value) and Y (Technical Fit) axes. By default, both axes are scaled from 0–10. You want to lower the ceiling to 5 to align with imported legacy scoring.

Feasibility summary
-------------------
- The axis configuration (0–10) is *not* controlled by a user preference or property—it’s hardcoded in the Experience/UI Builder component configuration JSON behind the Application Rationalization chart.
- The configuration resides in the **Application Rationalization Workspace Experience** (module: com.snc.apm.ea_workspace) and references the `Application Rationalization Visualization` macrocomponent.
- The component draws data from **Application [cmdb_ci_appl]** and APM Scores (via the APM Scorecard framework). X and Y values correspond to fields like:
- Business Value Score → `apm_application_score.business_value`
- Technical Fit Score → `apm_application_score.technical_fit`

OOTB axis range (0–10) is enforced in the front-end rendering script (React/Now Experience component) as a fixed domain range.

Options to customize
--------------------
Option A – Clone and customize the chart component (recommended for flexibility)
1. Go to **UI Builder → Experience = EA Workspace → Page: Application Rationalization**.
2. Duplicate the visualization component (“Application Rationalization Bubble Chart”).
3. Switch the Data Visualization configuration to a **Custom Visualization**.
4. In the *Visualization JSON Config* or *Axis settings*, manually set:
```json
{
"xAxis": { "min": 0, "max": 5 },
"yAxis": { "min": 0, "max": 5 }
}
```
If editing directly isn’t supported in UI Builder, export the page definition, modify the component JSON (xDomain/yDomain), and re-import via the sys_ux_component record.
5. Rebind the chart’s data source (same as original) to maintain consistency.
6. Publish the modified page or assign it to a new custom workspace (to avoid OOTB overrides).

Option B – Adjust score scaling before visualization
If customization of visualization is restricted (e.g., no access to clone Now Experience components):
1. Use a **Scripted REST transform** or **ETL import transform** to rescale legacy scores:
```js
newScore = (oldScore / 5) * 10;
```
This preserves OOTB visualization expectations while storing normalized data (0–10 scale).
2. Maintain both “legacy_score” (0–5) and “normalized_score” (0–10) for traceability.

Option C – Modify via Data Visualization Designer (if EA Workspace uses Data Visualization Framework)
1. Navigate to the visualization definition used by EA Workspace (System UI → Data Visualization).
2. Check if X/Y domains are editable (some are fixed at runtime).
3. If editable, set the domain max values to 5 and republish.

Known limitations
-----------------
- The EA Workspace components are locked under the `com.snc.apm.ea_workspace` scope; direct source edits aren’t upgrade-safe.
- Axis domain (0–10) is fixed in the client-rendered React component. There’s no system property or backend config to globally change it.
- Upgrades will override modified OOTB components unless cloned.
- If using custom fields or scores, ensure they’re properly registered in the APM Scorecard tables (`apm_application_score`, `apm_scorecard_definition`), otherwise charts will break.

Best practice
--------------
- Don’t alter OOTB workspace directly—clone and relabel “Application Rationalization” page.
- Normalize imported data to 0–10 scale wherever feasible.
- If cloning, document and version the modified component, as EA Workspace upgrades may revert OOTB JSON definitions.

TL;DR
------
- The 0–10 axis range is hardcoded in the EA Workspace visualization component.
- There’s no property to change it globally.
- To display up-to-5 scales:
- Either **clone the visualization** and set custom `xAxis/yAxis` limits (best long-term).
- Or **rescale your data** to fit 0–10 (simpler, upgrade-safe).
- Direct modification of OOTB components is not upgrade-safe; cloning is the supported route.

MaxMixali
Giga Guru

ServiceNow – EA Workspace / Application Rationalization: Can we change X/Y axis from 0–10 to 0–5?

Short answer
------------
• Out‑of‑the‑box, the Application Rationalization matrix in EA Workspace uses a fixed 0–10 scale for both axes. There is no documented property or simple setting to change the axis ceiling to 5.
• You have two practical paths:
A) Normalize/scale your 1–5 data to 0–10 and keep the OOB workspace.
B) Clone the page and replace the OOB matrix with a custom scatter chart (UI Builder / Data Visualization) where you can set axis ranges to 0–5.

What those axes represent
-------------------------
Typically they plot two rationalization dimensions such as:
- Business value / Fitness / Value score (X or Y)
- Technical quality / Risk / Condition (X or Y)
These are stored as numeric scores and the OOB component expects a 0–10 range.

Option A – Normalize your 1–5 data to 0–10 (recommended for simplicity)
-----------------------------------------------------------------------
Use this when you want to keep the standard EA Workspace.

1) During data import (Transform Map):
- Add an onBefore/onAfter Transform Script to scale incoming values:
• newValue = (sourceValue / 5) * 10 (or simply sourceValue * 2)
- Apply this to both dimensions (e.g., business_value_score, technical_quality_score).

2) If data already exists:
- Run a one‑time background fix script to multiply existing 1–5 scores by 2 and cap at 10.

3) If scores come from Assessments/Surveys:
- Keep the assessment choices on a 1–5 scale but compute the stored dimension with a weighted formula that scales to 10.

Pros: Minimal UI work; stays aligned with OOB reporting.
Cons: People see “10” in the UI though your source was 5; document the scaling in your data dictionary.

Option B – Custom matrix with 0–5 axes (UI Builder)
----------------------------------------------------
Use this when stakeholders must see 0–5 natively in the UI.

1) Duplicate the EA Workspace page (or create a new page).
2) Replace the OOB rationalization widget with a **Data Visualization → Scatter/XY** component (or a custom component).
3) Bind a data resource (e.g., table API or Scripted Data Resource) that returns:
- name/label, x_score (0–5), y_score (0–5), and any color/size encodings.
4) In the chart configuration, set:
- X axis min/max = 0 / 5
- Y axis min/max = 0 / 5
- Optional: banding/quadrants via annotations or grid lines.
5) Publish the page and add navigation to it in EA Workspace.

Pros: Native 0–5 display, full control over visual encoding.
Cons: Light customization to maintain; duplicate OOB behavior (filters/legends) if needed.

Data considerations & tips
--------------------------
• Be consistent: don’t mix 1–5 and 0–10 in the same dataset.
• If you normalize to 10, store both values if needed:
- raw_1_5 (immutable) and normalized_0_10 (used for charts).
• Cap and validate values (0–5 or 0–10) to avoid drift.
• Document the scaling logic in your data dictionary and rationalization methodology.

How to decide quickly
---------------------
• If timeline is short and you can live with normalized scores → **Option A** (scale to 10).
• If UI must show 0–5 to match the stakeholder language → **Option B** (custom chart in UI Builder).

Example transform script (scale 1–5 → 0–10)
-------------------------------------------
(function runTransformScript(source, map, log, target /* GlideRecord */) {
function toTen(v) {
var n = parseFloat(v);
if (isNaN(n)) return '';
var out = Math.round((n * 2) * 10) / 10; // keep 1 decimal if desired
return Math.min(Math.max(out, 0), 10);
}
target.u_business_value_score = toTen(source.u_business_value_raw); // 1–5 → 0–10
target.u_technical_quality_score = toTen(source.u_technical_quality_raw); // 1–5 → 0–10
})(source, map, log, target);

FAQ
---
Q: Can a system property change the axis ceiling to 5?
A: Not OOB. The standard EA matrix component does not expose axis min/max as a property.

Q: Will changing to a custom chart break upgrades?
A: Cloned pages/components are upgrade‑safe but won’t auto‑inherit new OOB features. Keep a note to review after upgrades.

Q: Can Performance Analytics be used instead?
A: Yes—PA charts allow axis control. You can build a PA scatter or two PA time series for each dimension and embed in a dashboard/page. For the quadrant view, a custom DV scatter is simpler.

Bottom line
-----------
There is no simple OOB toggle to set axes to 5. Either normalize your data to the 0–10 standard (fastest), or clone the page and use a custom scatter visualization with 0–5 axes (cleanest for stakeholders).