crossfilter group - 计算具有值的个人ID是一个数组

时间:2016-11-22 20:05:44

标签: javascript multidimensional-array dc.js crossfilter

我有以下JSON数据:

[{
    "clin_p_id": 'A9VV',
    'patient.drugs.drug': [
        'Carboplatin',
        'Alimta'
    ]
},
{
    "clin_p_id": "A9VP",
    "patient.drugs.drug": [
        "Carboplatin",
        "Alimta"
    ]
}]

如何创建一个饼图,显示所有服用某种药物的患者?

这是我到目前为止所做的:

var grp = dims['patient.drugs.drug'].group().reduce(
    function (p, v) {
        if (v[id_col] in p.patients) {
            p.patients[v['clin_p_id']]++;
        }
        else {
            p.patients[v['clin_p_id']] = 1;
            p.patientCount++;
        }
        return p;
    },
    function (p, v) {

        p.patients[v['clin_p_id']]--;
        if (p.patients[v['clin_p_id']] === 0) {
            delete p.patients[v['clin_p_id']];
            p.patientCount--;
        }
        return p;
    },
    function () {
        return {
            patientCount: 0,
            patients: {}
        };
    }
);

但如果我想计算个别药物名称,这将无效。

0 个答案:

没有答案