Observable Format Column Conditions

View as Markdown

Summary

  • Observable Conditions style (or format) a cell while a live Observable Expression Rule is true
  • They are ideal for history / time visuals — e.g. stale cells, busy windows, net moves, highs / lows
  • Scope, Style and Display Format work the same as for Standard Conditions

Most Format Column Conditions use changes to apply the Condition.

However it is also possible to use Observable Expressions for Conditional Styles.

When this happens, formatting tracks how data has changed over time — not only the current value.

Caution

  • There is no persisted Condition Type on the Format Column (as in other objects like Calculated Columns)
  • Instead, AdapTable infers Standard vs Observable from the Rule text (Observable Functions use curly braces)

The Conditional Style Rule is a boolean Expression built from Observable Functions, for example:

 NO_CHANGES{[github_stars], WITHIN(5s)}
 NET_CHANGE{[github_stars], WITHIN(30s)} > 20

Hint

  • Windowed and clock-based Conditions will keep re-evaluating
  • This will happen so long as liveRefreshIntervalMs is greater than 0 (the default value is 1000)

Stale cells

It is possible to style a cell when it has not changed recently.

Hint

This is very useful for spotting silence in ticking data

Observable Condition: Stale Cells
Fork
  • Format Column Rule: NO_CHANGES{[github_stars], WITHIN(5s)}
  • Github Stars ticks every second while the feed is on — cells stay unstyled
  • Click Turn off Ticking Data, wait 5 seconds, and cells turn grey
Loading demo…

Busy cells

Another common use case is to style a cell when it has moved enough within a sliding window.

When this happens, small ticks stay quiet until the net move crosses the threshold.

Observable Condition: Busy Cells
Fork
  • Format Column Rule: NET_CHANGE{[github_stars], WITHIN(30s)} > 20
  • Only Github Stars ticks (every 500ms by ±10)
  • The style appears once the cumulative move in the last 30 seconds exceeds 20
Loading demo…