Back
May 18, 2021

ClickHouse tips #7: Forward and backfilling null values

Making use of array functions to do it.
Alejandra Rodriguez

Many times you have data with null values and you’d like to fill them with non-null values. For example, imagine this is your data:

You could replace them by a constant value like this:

Start building with Tinybird
If you've read this far, you might want to use Tinybird as your analytics backend. Start for free with no time limit.
Subscribe to our newsletter
Links to our blog and other great reads sent every other Saturday.

But in many cases you’ll want to fill them with the latest (or next) value available. This is a one-liner in libraries like Pandas with the fillna method, and on Postgres this way. On ClickHouse is also possible using array functions:

Here is a full explanation on what happens in each of the subqueries of this last query and of what each of the array functions does.

Do you like this post?

Related posts

ClickHouse tips #9: Filling gaps in time-series on ClickHouse
ClickHouse tips #10: Null behavior with LowCardinality columns
ClickHouse tips #3: the transform function
ClickHouse tips #6: Filtering data in subqueries to avoid joins
Coming soon on ClickHouse: Window functions
ClickHouse Tips #12: Apply Functions to Columns with a Single Call

Tinybird

Team

Sep 29, 2021
We launched an open source ClickHouse Knowledge Base

Tinybird

Team

Oct 11, 2022
Want a managed ClickHouse®️? Here are some options
Want a managed ClickHouse®️? Here are some options
A big performance boost, adding columns and more

Tinybird

Team

May 31, 2021

Build fast data products, faster.

Try Tinybird and bring your data sources together and enable engineers to build with data in minutes. No credit card required, free to get started.
Tinybird is not affiliated with, associated with, or sponsored by ClickHouse, Inc. ClickHouse® is a registered trademark of ClickHouse, Inc.