转换谷歌分析2d数组值为c3/d3.js折线图的合适格式



所以我在转换从核心报告API返回的列/行数据时遇到麻烦,转换成我可以使用c3.js绘制线形图的格式。下面是返回的数据行示例:

"[["20151025","Direct","1"],["20151025","Organic Search","1"],["20151025","Referral","1"],["20151026","Direct","1"],["20151026","Organic Search","8"],["20151026","Referral","1"]]"

包含会话的日期、类型和数量。

我想把它转换成JSON,它看起来像这样:

                    json: [{
                        "day": "20151025",
                        "Direct": "1",
                        "Organic Search": "1",
                        "Referral": "1"
                    }, {
                        "day": "20151026",
                        "Direct": "1",
                        "Organic Search": "8",
                        "Referral": "1"
                    }]

我试着像这样映射值:

var data = response.result.rows.map(function(row){return {day:row[0], type:row[1], hits:row[2]}});
[{"day":"20151025","type":"Direct","hits":"1"},{"day":"20151025","type":"Organic Search","hits":"1"},{"day":"20151025","type":"Referral","hits":"1"},{"day":"20151026","type":"Direct","hits":"1"},{"day":"20151026","type":"Organic Search","hits":"8"},{"day":"20151026","type":"Referral","hits":"1"}]

…但是正如你所看到的,它们是3个具有相同日期的独立条目,我需要将具有相同日期值的元素组合/合并为一个新元素。

任何帮助或指导都将非常感激……我到处都找遍了,似乎就是找不到解决办法。

谢谢!

在术语" pivot table "上搜索合适的算法

最新更新