2016-03-29 17 views
0

crossfilter.jsディメンションとグループを作成する一般的な作業をしています。まあ、これは明らかに、作品crossfilter.jsディメンションを作成する一般的な機能を作成する方法

DataArray= crossfilter(Data); 
dimName = DataArray.dimension(function (d) { return d.Weekday; }); 
groupName= dinName.group().reduce(reduceAdd, reduceRemove, reduceInit); 

が、I:今まで、私はデータのキー名(列名)に、このように応じて、特定のものを(「平日」列の例)作成しました列の名前に関係なく、ディメンションを作成できる一般的な機能を作成したい私はこれをやっていた:

var x = Data[0]; 
var keyNames= d3.keys(x); 

dimName = DataArray.dimension(function (d) { return d.keyNames[0]; }); 
... 

これは、 'd.keyNames [0]'が明らかに間違っているために動作しません。 関数の戻り値にkeyNamesを渡すにはどうすればいいですか? '??

私はうまく説明したいと思います。

+0

各キーのディメンションを作成しますか?そうでない場合は、どのように入力データからキーを選択したいですか? –

+0

はい、キーごとに1つのディメンションを作成したいとします。問題は私がFlaskを使ってWebアプリケーションを作成することです。以前はユーザーがHTMLフォームから25の間の5つの変数を選択した後、Python関数はユーザーが選択した別のオプションに基づいてデータを準備します。データが準備されると、.jsonとしてhtmlファイルに送信されます。それは問題です。私は、選択された5つの変数を事前に知っていません。 –

答えて

0

列名にスペースが含まれている場合でも動作します

dimName = DataArray.dimension(function (d) { return d["column name"]; }); 

これで

dimName = DataArray.dimension(function (d) { return d.Weekday; }); 

を交換してください。

関連する問題