DataHub
Using One Field to Set Another (Active → Parent)

Overview

Sometimes a field’s value depends on another field in the source data. A common example is setting an Asset’s Parent based on its Active status.

Scenario

Input: Active = TRUE / FALSE

Output: ParentID = Active / Inactive

Implementation

Use a DataHub mutator to transform the value.

image.png

Example Mutator

return function mutate(sourceData, columnNames, rowObject, connectionData, createError) {
 
    const [activeValue] = sourceData;
 
    if (activeValue == null) {
        createError("Active value is missing");
        return null;
    }
 
    const val = (activeValue + "").trim().toUpperCase();
 
    if (val === "TRUE") {
        return ["Active"];
    } 
    else if (val === "FALSE") {
        return ["Inactive"];
    } 
    else {
        createError("Invalid Active value: " + activeValue);
        return null;
    }
}

Key Points

  • No changes are made to the source file(CSV)
  • Logic is handled entirely in Datahub
  • Ensures consistent parent assignment

Benefits

  • Reduces dependency on source data structure
  • Fill missing required data