2016-03-29 15 views
0

Çaprazfilter.js boyutları ve grupları oluşturmak için genel bir işlev yapmaya çalışıyorum. Şimdiye kadar, ben veri kilit isimlerinden bağlı olarak belirli bir (sütun adları) bu şekilde ('hafta içi' sütun ile Örnek) oluşturuldu: Bu kuyu, belli ki, işlerÇaprazfilter.js boyutları oluşturmak için genel bir işlev nasıl oluşturulur?

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

ama Sütunların isimleri ne olursa olsun, boyutları oluşturabilecek genel bir işlev yaratmak ister. Ben thougth bunu etmişti: 'd.keyNames [0]', belli ki, yanlış olduğu için

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

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

Bu işe yaramaz. TuşNamesini işlevin iadesine nasıl geçebilirim? D. '??

Umarım iyi açıklamışımdır.

+0

Her anahtar için bir boyut oluşturmak ister misiniz? Değilse, giriş verilerinden anahtar (lar) ı seçmek nasıl istersiniz? –

+0

Evet, her anahtar için bir boyut oluşturmak istiyorum. Sorun, bir web uygulaması oluşturmak için Flask kullanıyorum, daha önce, kullanıcı html FORM'den 25 arasında 5 değişken seçiyor, daha sonra bir python fonksiyonu, kullanıcının seçtiği farklı seçeneklere göre verileri hazırlıyor. Veri hazırlandıktan sonra, html dosyasına .json olarak gönderilir. Sorun şu ki, önceden, seçmiş olduğum 5 değişken. –

cevap

0

sütun adı boşluk olsa bile çalışacak

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

Bu ile

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

değiştirin.

İlgili konular