7

有没有人有办法在多个值上过滤交叉过滤器对象维度?就像是

.filterExact(["cash","visa"])

或者

.filter(["cash","visa"])

...但不是它的范围形式...

或者

.filterAll(["cash","visa"])

...但没有清算部分。

或不使用的等效解决方法/方法

.filterRange(["cash","visa"])

??

还是我在 API 中遗漏了什么?

谢谢!

拉里

4

3 回答 3

13

我面临着类似的问题。我解决它的方法是我编写了一个过滤器函数来检查维度是否位于特定数组中。

// Array of things you want to filter
var f = ["cash", "visa"];
// Assuming "dim" is our dimension
dim.filter(function(d){
  return f.indexOf(d) > -1;
});

This will check if the value lies in that array and filter accordingly.

Hope this helps.

于 2013-12-03T13:22:27.600 回答
2

以下拉取请求看起来可以满足您的需求,但尚未合并。

过滤器的多个参数导致过滤器操作的联合

合并后,您将能够执行以下操作。

data.total.filter("cash", "visa");

这将导致所有过滤条件的联合。

于 2012-06-17T01:10:15.657 回答
1

API 中似乎没有任何内容,但如果您想避免使用 filterRange,您可以使用两个基本过滤器并连接结果:

var paymentsByType = payments.dimension(function(d) { return d.type; }),
cashAndVisaPayments = Array.prototype.concat(paymentsByType.filter('cash').top(Infinity),paymentsByType.filter('visa').top(Infinity))
于 2012-06-16T08:27:54.553 回答