【发布时间】:2014-02-25 12:01:22
【问题描述】:
我正在尝试获取一个包含 csv 文件值总和的组,但我想删除所有零值。
我的 csv 文件示例:
Continents Function Value
South Asia Function1
South Asia Function2 14
Europe Function1
Europe Function2 12
Europe Function3 2
我想得到
{"key":"Function2","value":26},
{"key":"Function3","value":2}
这是我的代码:
var ndx = crossfilter( csv );
var functions = ndx.dimension( function( d )
{
return d["Function"];
} );
var functionAmountGroup = functions.group().reduceSum( function ( d )
{
return d3.format( ".2f" )( d["Value"] );
} );
我明白了
{"key":"Function2","value":26},
{"key":"Function3","value":2},
{"key":"Function1","value":0}
但由于值为零,我想删除“Function1”行。
我试过用value维度过滤,没关系
var filterValues = ndx.dimension(
function( d )
{
return d["Value"];
} ).filter(
function( d )
{
if( 0 < Math.abs( d ) )
return d;
} );
这让我很满意:
{"Continents":"Europe","Function":"Function3","Value":"2"},
{"Continents":"South Asia","Function":"Function2","Value":"14"},
{"Continents":"Europe","Function":"Function2","Value":"12"}
但是 filterValues 现在是一个维度,那么我不知道如何通过这些过滤结果获得具有“功能”的新维度。
像
filteredValues.dimension( function( d )
{
return d["Function"];
} );
错了!
有人可以帮帮我吗?我没有更多的想法!
非常感谢,
凡妮莎
【问题讨论】: