私はクロスフィルターで遊んでいて、それが素晴らしいと感じましたが、最近壁にぶつかりました。私の問題にクロスフィルターが必要かどうかはまったくわかりません。代替ソリューションを聞いてうれしいです。
私のデータは次のようになります。
[{
year: "1987",
country: "UK",
product: "pineapple",
tons_available: 10,
tons_sold: 8
},
{ year: "1987", country: "US", product: "pineapple", tons_available: 34, tons_sold: 18},
{ year: "1987", country: "UK", product: "pear", tons_available: 4, tons_sold: 3},
{ year: "1987", country: "US", product: "pear", tons_available: 23, tons_sold: 20},
{ year: "1988", country: "UK", product: "pineapple", tons_available: 12, tons_sold: 3},
{ year: "1988", country: "US", product: "pineapple", tons_available: 56, tons_sold: 6},
{ year: "1988", country: "UK", product: "pear", tons_available: 32, tons_sold: 32},
{ year: "1988", country: "US", product: "pear", tons_available: 31, tons_sold: 8},
and on, and on...]
年間データを集計したいのですが、「tons_available」や「tons_sold」など、すでに利用可能な指標に対して集計できました。
var by_week = data_to_filter.dimension( function(d) { return d.year; });
var tons_sold_by_week = by_week.group()
.reduceSum(function(d) { return d.tons_sold; });
ただし、集約されたオブジェクトの上にメトリックを作成する方法が見つかりません。たとえば、年間の販売率を作成したいと考えています。このためには、1 年ごとにすべてのフィールドを合計し、tons_sold/tons_available のように除算する必要があります。
これにより、理想的には次のようにフォーマットされたjsonが得られます。
[{
year: "1987",
tons_available: 71,
tons_sold: 49
str: 0.69
},
{ year: "1988", tons_available: 131, tons_sold: 49, str: 0.37 },
and on, and on...]
集約されたオブジェクトは、合計された変数のみを保持し、年に 1 つのカップルのキー/値しか得られないように思えます。
私が求めているものを達成する方法はありますか?
どうもありがとう!