Help Needed: -9999 Not Converting to Missing Values in KNIME Workflow

Hi everyone,

I’m having trouble replacing specific numeric values with missing values inside a looped CSV Reader, and I would really appreciate your help.

Context:

I have a workflow that loops through multiple CSV files (List Files/Folders → Table Row to Variable Loop Start → CSV Reader).

Each file contains several numeric columns where the value -9999 should be treated as missing.

The problem:

After reading the data with the CSV Reader, the -9999 values are still present.

I tried using Column Expressions (legacy) to replace -9999 with null, but the values are not being converted into missing cells as expected.

This is the expression I tested:

if (column(“PRECIPITAÇÃO TOTAL, HORÁRIO (mm)”) == -9999) null;

else column(“PRECIPITAÇÃO TOTAL, HORÁRIO (mm)”);

I selected Replace Column and changed the output type to Number (Double), but the -9999 values remain unchanged in the output table.

What I tried:

  • Changing the output type (String, Double, Float)

  • Making sure the expression runs on the correct column

  • Checking the data domain and column types

  • Using “Evaluate” inside the dialog, which seems to work, but the final output does not update

  • Testing inside and outside the loop (same behavior)

What I need:

I simply want every -9999 in numeric columns to become a true missing value (?) after the CSV Reader.

I’m not trying to convert anything to string — the columns should remain numeric.

I am attaching:

The CSV file I’m using for testing

If anyone has seen this behavior or knows the correct configuration to make Column Expressions replace numeric values with missing values, I would be extremely grateful.

Thanks in advance for any guidance!

Ricardo

INMET_CO_DF_A001_BRASILIA_01-01-2001_A_31-12-2001.CSV