Shape · Columns

Fill Missing

Replaces blanks with a fixed value, an empty string, or the previous or next value, or drops those rows. It can also drop rows or columns that are entirely empty.

Also known as: Fill nulls, forward fill, data cleansing

How it works

Click Add rule, pick one or more columns (or every text or numeric column of the input) and a strategy. Constant writes the value you type and needs one; Blank text writes an empty string; Drop rows removes rows where that column is null; Forward fill carries the last non-null value down and Backward fill the next one up, both in the order rows arrive. When two rules cover the same column the later one wins. Two node-wide options sit below the rules: Drop rows where every column is null and Drop columns where every value is null. Only nulls are touched; an empty string is a value and stays as it is.

Inputs and outputs

Inputs

  • data — Table

Outputs

  • data — Table

Settings

The Attributes panel of Fill Missing, as in the app: the controls work, but nothing runs — there is no data behind it.

The same settings, as the Assistant writes them
{
  fills: [{ column: string, columns?: string[], allTextColumns?: boolean, allNumericColumns?: boolean, strategy: "constant"|"blank"|"drop_rows"|"forward_fill"|"backward_fill", value?: string }]
  dropNullRows?: boolean
  dropNullColumns?: boolean
}

one rule can cover several columns: list them in columns, or set allTextColumns / allNumericColumns to apply it to every text / numeric column of the input. constant needs a non-empty value; blank fills text columns with an empty string. dropNullRows drops rows where every column is NULL, dropNullColumns drops columns that are NULL in every row

Example

A merged sheet repeats the customer only on the first line of each order and leaves discount empty when there is none. Add a Forward fill rule on customer and a Constant rule on discount with the value 0.

customerdiscountcustomer (after)discount (after)
AcmeNULLAcme0
NULL5Acme5
BoltNULLBolt0