javascript Vega转换,用于为根据另一列的值的总和计算的总计添加列

bn31dyow  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(78)

我有一个数据集,其中每一行代表在某个州赢得的一个比赛奖牌,我试图将其转换为一个堆叠条形图。使用聚合转换来转换数据集以获得每个州的奖牌总数或每种类型的奖牌总数非常容易(gold,银,bronze),但是我想做的是 * 添加 * 一个新的列到数据集中,显示每个州的奖牌总数。这样,如果我为每个州设置了3行,每行显示铜牌、银牌和金牌,每一行还具有该州的奖牌总数(这在三行的每一组中显然是相同的)。
以下是数据集的标题和前五行,以供参考:

medal,beer_name,brewery,city,state,category,year,id
Gold,Volksbier Vienna,Wibby Brewing,Longmont,CO,American Amber Lager,2020,8
Silver,Oktoberfest,Founders Brewing Co.,Grand Rapids,MI,American Amber Lager,2020,26
Bronze,Amber Lager,Skipping Rock Beer Co.,Staunton,VA,American Amber Lager,2020,51
Gold,Lager at World's End,Epidemic Ales,Concord,CA,American Lager,2020,6
Silver,Seismic Tremor,Seismic Brewing Co.,Santa Rosa,CA,American Lager,2020,6

这就是我所尝试的:

transform: [
                {
                    type: "aggregate",
                    groupby: ["state","medal"]
                },
                {
                    type: "collect",
                    sort: {
                        field: ["state"],
                        order: ["ascending"]
                    }
                },
                { 
                    //This is the transform I need to change
                    type: "aggregate",
                    groupby: ["state","medal"],
                    fields: ["count"],
                    ops: ["sum"],
                    as: ["total_medals"]
                }
            ]
5vf7fwbs

5vf7fwbs1#

您需要joinaggregate转换。如果您发布完整的工作规范,我可以提供更多的帮助。

相关问题