d3.js使用多列从csv文件中过滤

时间:2014-04-18 15:07:29

标签: csv d3.js

我想使用csv中的多个列值进行过滤。我首先要按城市和关键性列进行过滤。我想过滤Criticality(高/中/低)。

如何使用AND / OR进行过滤?

City and Criticality是复选框,基于我想要从各个csv列过滤数据的选项。寻找有效的过滤方式。

我可以拥有像

这样的东西吗?
(d["Criticality]=="High" || d["Criticality"]=="Low")

目前我正在做的事情:

var City="London";
 var strSevText="High";

    d3.csv("Status.csv", function(consdata) {

    var filtercitydata = consdata.filter(function(d, i) 
    { 

            if (d["City"] == City) 
            { 
                return d; 
            } 

        })

    var filtersevdata = filtercitydata.filter(function(d, i) 
        { 
            if (d["Criticality"] == strSevText) 
            { 
                return d; 
            } 

        })

      })

我的CSV文件数据:

Application_Id,Application Name,Status,Name,City,Criticality
200009,OARINK,RED,Jen,London,High
200039,3000 DEALING,RED,Marc,London,High
200044,KON,RED,Martin,London,High
200067,D3 MATCHING,RED,Marc,London,Medium
200070,Next Generation,RED,Marc,London,High
200088,ONE,RED,Jonathan,London,High
200097,R-CHECK,RED,Graham,Paris,High
200097,D-CHECK-I,RED,Graham,Mumbai,Low
200107,CON,RED,Cary Fel,Paris,High

1 个答案:

答案 0 :(得分:9)

您可以在问题中准确写出您的建议:

var filteredData = consdata.filter(function(d) 
{ 

        if( d["City"] == "City") || (d["Criticality"]=="High" || d["Criticality"]=="Low")
        { 
            return d;
        } 

    })