Optimized Transforms#

VegaFusion supports optimizing a subset of Vega’s transforms. Below is a detailed breakdown of transform support status.

Note

When a Vega spec includes unsupported transforms, these transforms will be included in the client Vega spec for evaluation by the standard Vega library in the browser. See How it works for more details.

Key:

  • βœ…: Full optimization support for the transform and all its options

  • 🟑: Partial optimization support for the transform with limitations

  • ❌: Transform is not currently eligible for optimization

Basic Transforms#

Transform

Status

Details

aggregate

🟑

More Info

Supported aggregate ops:

  • count

  • valid

  • missing

  • distinct

  • sum

  • mean or average

  • variance

  • variancep

  • stdev

  • stdevp

  • median

  • q1

  • q3

  • min

  • max

Unsupported aggregate ops:

  • product

  • ci0

  • ci1

  • stderr

  • argmin

  • argmax

The cross, drop, and key options are not yet supported.

formula

βœ…

More Info

See optimized expressions for details on supported expression features that may be used in the expr field.

window

🟑

More Info

Supported window operations:

  • Ranking operations:

    • row_number

    • rank

    • dense_rank

    • percent_rank

    • cume_dist

  • Value operations:

    • first_value

    • last_value

  • All supported aggregate transform ops

Not yet supported:

  • ntile

  • lag/lead

  • nth_value

  • prev_value/next_value

All frame specifications and peer handling options are supported.

lookup

❌

bin

βœ…

More Info

interval option ignored and both bin edges are always included.

collect

βœ…

extent

βœ…

filter

βœ…

More Info

See optimized expressions for details on supported expression features that may be used in the expr field.

flatten

❌

More Info

May be possible in the future with DataFusion’s unnest transform.

fold

βœ…

project

βœ…

sequence

βœ…

timeunit

🟑

More Info

interval option ignored and both bin edges are always included.

step, extent, and maxbins options are not supported, so units must be provided.

countpattern

❌

cross

❌

density

❌

dotbin

❌

identifier

βœ…

impute

🟑

More Info

Supported:

  • field - Field to impute

  • key - Unique identifier field

  • value - Custom value for imputation

  • groupby - Group-based imputation

Unsupported:

  • method parameter with options other than value

  • keyvals array for custom key values

kde

❌

loess

❌

pivot

βœ…

quantile

❌

regression

❌

sample

❌

Geographic and Spatial Transforms#

Transform

Status

Details

contour

❌

geojson

❌

geopath

❌

geopoint

❌

geoshape

❌

graticule

❌

heatmap

❌

isocontour

❌

kde2d

❌

Layout Transforms#

Transform

Status

Details

stack

βœ…

force

❌

label

❌

linkpath

❌

pie

❌

voronoi

❌

wordcloud

❌

Hierarchy Transforms#

Transform

Status

Details

nest

❌

stratify

❌

treelinks

❌

pack

❌

partition

❌

tree

❌

treemap

❌

Cross-Filter Transforms#

Transform

Status

Details

crossfilter

❌

resolvefilter

❌