Maintain data integrity with dimension ID mapping

In planning, forecasting, and enterprise reporting, report structures are rarely static. Category names evolve, product hierarchies get relabeled, and organizational units are frequently renamed (for example, updating a cost center name).

In dynamic reporting tools, visual annotations, custom formatting, cell comments, writeback, and manual data inputs (such as budget overrides or forecast updates) are attached to specific row dimensions. By using Dimension ID Mapping, you can link custom visual elements and planning inputs to a constant, non-changing identifier (such as a unique Product ID or Cost Center Code) rather than a volatile descriptive label (such as Product Name).

Why do you need dimension ID mapping in Planning? #

When row labels in your underlying data model change (e.g., renaming a product), standard reporting visuals lose track of which row the custom notes, cell highlights, or data inputs belong to.

The following screenshot shows a note added, approval status set to completed, and custom formatting applied to the Ergonomic Executive Backpack row.

If you change the row label, in this example, change Ergonomic Executive Backpack to Standard Laptop Backpack, you lose the custom formatting, data inputs, and annotations tied to the label.

Planning and forecasting workflows also require writing data back to database tables or data warehouses. If writeback relies on descriptive labels that change over time, it creates orphan records or breaks audit trails.

Configure dimension ID mapping#

By default, notes, comments, and formatting are tied directly to volatile dimension labels. Configure dimension ID mapping to link these inputs to persistent, unique identifiers (like a Product ID or Cost Center Code).

Setup dimension ID mapping before making changes such as creating data input fields, adding notes, or applying formatting to the planning sheet.

  1. Open the Data side pane and select the settings icon. Open the Dimension ID Mapping tab.
  1. Select the ID Column radio button to assign an ID column instead of using the dimension category value. Choose the column from Select Mapping Field and select Apply. The following screenshot shows how to change the dimension ID mapping for the SalesRepName dimension to SalesRepID.
  1. When you update the sales rep in the Central region from Nicole Wagner to Andzelika Juskaite, notice how the entered budget values, approval status, notes, and formatting are retained.

Configure dimension ID mapping for writeback#

Mapping a dimension label to a unique Column ID prevents unnecessary row creation during writeback. When enabled, updating a dimension label updates the existing record rather than creating a new row in the writeback table. Without dimension ID mapping, label changes are treated as new entries, generating duplicate rows.

  1. In the Data pane, open Dimension ID Mapping settings. Use the steps in the Configure Dimension ID Mapping section to select the IDs corresponding to the dimension labels.
  1. In the Writeback ribbon, go to Writeback Settings > Data. Under Exclude Dimensions for Writeback, select the dimension labels mapped in the previous step (For example, RegionName and SalesRepName). Since these fields are already linked to dimension IDs, they don't need to be written back.
  • The Exclude Dimensions for Writeback option is enabled only if dimension ID mapping is configured.
  • If your source data includes housekeeping fields (such as LastUpdatedAt) assigned to row or columns in a planning sheet, writeback may create unwanted duplicate records. To prevent this, disable the In Key toggle for that dimension under Dimension ID Mapping and add it to Exclude Dimensions for Writeback. Writeback automatically captures the timestamp and username, housekeeping columns from the source are not required.
  1. Trigger writeback and open the destination SQL database. For demonstration purposes, consider the sales rep highlighted in the planning sheet:

Notice how the RegionID and SalesRepID are written back to the destination table although they are not added to the planning sheet.

The following screenshot shows the writeback table data if the label columns are not excluded in writeback settings (Step 2).

  1. Update the dimension label in the semantic model. In this example, we've updated the sales representative name from Andzelika Juskaite to Nicole Wagner. Refresh your planning sheet to see the updated data.
  1. Change a data input entry and trigger writeback again. In this example, we changed the Approval Status to Completed for the Enterprise Multifunction Printers row.
  1. Verify the data in the destination SQL table. Even though the sales representative's name changed, the writeback updated the existing record rather than inserting a duplicate row.
Fabric Plan
Enterprise planning, integrated with PowerTable and Intelligence, native to Microsoft Fabric. Co-engineered with Lumel.
BUILT ON MICROSOFT FABRIC
CERTIFIED BY
Fabric Planning is certified by IBCS
Microsoft, Azure, Copilot, Excel, Fabric IQ, Microsoft Entra, Microsoft Fabric, Microsoft Teams, OneLake, Outlook, Power Automate, Power BI and SharePoint are trademarks of the Microsoft group of companies. IBCS is a registered trademark of IBCS Association. All other trademarks are the property of their respective owners.

This community is operated independently by Lumel. Nothing on this site constitutes a representation or warranty by Microsoft.