Agregar un filtro en dc.js / Crossfilter que no actualiza el gráfico

jsFiddle:http://jsfiddle.net/PYeFP/

Tengo un gráfico de barras configurado que representa el número de viajes por día a los usuarios.

        tripVolume = dc.barChart("#trip-volume")
               .width(980) // (optional) define chart width, :default = 200
               .height(75) // (optional) define chart height, :default = 200
               .transitionDuration(0) // (optional) define chart transition duration, :default = 500
               .margins({ top: 10, right: 50, bottom: 30, left: 40 })
               .dimension(tripsByDateDimension) // set dimension
               .group(tripsByDateGroup) // set group
               // (optional) whether chart should rescale y axis to fit data, :default = false
               .elasticY(false)
               // (optional) whether chart should rescale x axis to fit data, :default = false
               .elasticX(false)
               // define x scale
               .x(d3.time.scale().domain([tripsByDateDimension.bottom(1)[0].startDate, tripsByDateDimension.top(1)[0].startDate ]))
               // (optional) set filter brush rounding
               .round(d3.time.day.round)
               // define x axis units
               .xUnits(d3.time.days)
               // (optional) whether bar should be center to its x value, :default=false
               .centerBar(true)
               // (optional) render horizontal grid lines, :default=false
               .renderHorizontalGridLines(true)
               // (optional) render vertical grid lines, :default=false
               .renderVerticalGridLines(true)
               .brushOn(false);

El gráfico se muestra bien, pero me gustaría filtrarlo usando algunos controles jQuery. Cuando el usuario selecciona la fecha en la que estoy intentando agregar un filtro al gráfico, el filtro se agrega pero el gráfico no cambia, incluso siredraw() orender().

Así es como se configura el filtro cruzado:

tripsCx = crossfilter(data.rows);
var allTripsGroup = tripsCx.groupAll();

var tripsByDateDimension = tripsCx.dimension(function (d) { return d.startDate; });
var tripsByDateGroup = tripsByDateDimension.group(d3.time.day);

Los siguientes son algunos de los métodos que he usado para intentar aplicar un filtro:

Esto debería usar el filterRange:

d.filter(d.dimension().top(20)[19], d.dimension().top(20)[0]);

FilterFunction:

d.filter(function (d) {
    return d.getTime() > start.valueOf() && d.getTime() < end.valueOf();
});

FilterExact:

d.filter(d.dimension().top(20)[0]);

También intenté omitir el gráfico y aplicar el filtro directamente en la dimensión:

d.dimension().filterFunction(function (d) {
  return d.getTime() > start.valueOf() && d.getTime() < end.valueOf()
});

Nada de lo que he hecho hace que la tabla cambie.

Estoy empezando a pensar que tengo una expectativa errónea de lo que debería hacer la función de filtro.

¿Cómo puedo filtrar manualmente los datos en la dimensión para actualizar el gráfico? No quiero usar un cepillo. Filtraré los datos según diferentes criterios, solo estoy intentando que el caso simple funcione primero.

He pasado un par de días en esto ahora y no sé qué intentar a continuación.

Cualquier ayuda sería muy apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta