如何解决对多维交叉过滤器求和以减少维数
我在 this problem 上与 @tillandsia 合作,并在@Gordon 的建议下取得了一些进展。我重新调整了数据,因此有日期、头发颜色、年龄组和值列。例如
Date,Hair Color,Age Group,Value
1/1/21,Brown,0-18,10
1/1/21,19-39,20
1/1/21,40+,30
1/1/21,Blonde,11
1/1/21,21
1/1/21,31
1/2/21,8
...
我还创建了一个虚假的累积组以按 Hair Color
求和。如果我像这样创建维度、组和图表:
dateColorDimension = cf.dimension([d.Date,d['Hair Color']]);
dateColorGroup = dateColorDimension.group().reduceSum(d => +d.Value);
chart
.dimension(dateColorDimension)
.group(dateColorGroup)
.seriesAccessor(d => d.key[1])
.keyAccessor(d => d.key[0])
.valueAccessor(d => +d.value)
然后它看起来基本正确。维度中只有日期和头发颜色的图表:
但是如果我尝试像这样将 Age Group
添加到维度中:
dateColorDimension = cf.dimension([d.Date,d['Hair Color'],d['Age Group']]);
然后图表具有这种锯齿状外观。将年龄组添加到维度的图表:
我可以在组中看到每个日期的每个 Hair Color
有多个年龄组。因此,累加器在累积 Age Groups
时会在每个日期创建很少的垂直步长。有没有办法在绘制之前折叠组的 Age Group
部分?通过崩溃,我的意思是我想在这种情况下进行总结。我假设我希望在维度中保留 Age Group
列,以便在我们过滤特定 Hair Color
时可以访问它。
我创建了一个 jsfiddle 来更好地说明问题。 https://jsfiddle.net/djacu2/Lwp2cs9u/112/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。