在DC.js中将日期格式化为财务年度

时间:2016-03-12 15:43:23

标签: javascript d3.js dc.js crossfilter

希望这是一个非常简单的问题。我使用DC.js和Crossfilter显示一些数据,需要根据4月1日至3月31日的财政年度范围绘制年度总计,即2015年总计将涵盖2015年4月1日至2016年3月31日的日期范围。

我创建了一个年度维度如下,但这是基于每年1月1日至12月31日的每年。通过搜索D3 / DC / Crossfilter文档,我找不到任何明显的东西。

正在导入的csv文件中的日期值采用YYYYMMDD格式。

var yearFormat = d3.time.format("%Y");

var yearDim = cf.dimension(function (d) {
    return yearFormat(d.myDateField);
}); 

1 个答案:

答案 0 :(得分:4)

在这种情况下,您只在日期的一年中制作维度。您需要扩展yearFormat函数以返回正确的财务年度编号。

var yearFormat = function(date){
    if (date.getMonth < 3){
        return d3.time.format("%Y") - 1;
    } else {
        return d3.time.format("%Y");
    }
}