У меня есть следующие данные, и я пытаюсь построить 2 гистограмм:Crossfilter измерения и группы, чтобы отфильтровать данные ниже определенного порога
- Всего единиц данного типа
- Агрегаты типа меньше чем версия 2.0
Где ось х в обеих диаграммах является типом устройства.
Таблицы в порядке. Проблема заключается в следующем:
Когда я выбираю планку на 2-й диаграмме, я ожидаю увидеть только единицы с версией < 2.0 в таблице данных и 1-й диаграмме, то есть одну запись в этом случае. Но я получаю все единицы этого конкретного типа (это то, что я ожидаю, если я нажму на панель в первом графике), т. Е. 3 записи.
См http://jsfiddle.net/y1o52tk4/6/
Проблема я думаю, это с тем, как я группа для версии карты:
var versionGroup = type1Dim.group().reduceSum(dc.pluck('version_count'));
данных:
var data = [{
"version": 1.0,
"serial": '1A',
"type": "a"
},{
"version": 2.0,
"serial": '2A',
"type": "a"
},{
"version": 2.0,
"serial": '2AA',
"type": "a"
},{
"version": 2.0,
"serial": '2B',
"type": "b"
},{
"version": 2.5,
"serial": '25B',
"type": "b"
},{
"version": 1.0,
"serial": '1B',
"type": "b"
}];
Я думаю, что более правильным, полным способом сделать это было бы создание измерения, которое имеет составной ключ как версии, так и типа, затем [предварительно фильтровать данные динамически] (https: // github. com/dc-js/dc.js/wiki/FAQ # filter-the-data-before-its-charted), чтобы удалить все с помощью versi on> = 2.0. Это какая-то работа, хотя, может быть, стоит того, если у вас много таких дел. – Gordon
Спасибо за ответ, но я не думаю, что этот подход будет работать. С составным ключом и фильтрующей версией <2.0 будет сформировано что-то вроде следующей пары пар ключей: '{[1.0, a]: 5, [1.1, a]: 4, [1.3, a]: 1, [1.0, b ]: 2, [1.8, b]: 1} '. Затем нам нужно было бы создать еще одну группу из этого с помощью пары ключевых значений типа: total units и которая вернет нас к исходной проблеме. – ghostcoder
Вы можете создавать ключи, как хотите, поэтому вы можете получить '{[1. *, a]: 5, [1. *, b]: 17, [2. *, a]: 3, [2. * , b]: 32} '. Функция генерации ключа измерения является общей, какой вы хотите. – Gordon