本例2个过滤器 当我使用这 2 个过滤器结构时,发生的情况是系统 / eventName 只读取最后一个过滤器
`$data = Analytics::get(
期间:期间::创建($startDate, $endDate),
指标:['eventCount'],
维度:['pagePath','eventName','day','month','linkText','linkClasses','linkUrl'],
// orderBy: [OrderBy::metric('pagePath', true)],
最大结果:1000,
// 偏移量:0,
维度过滤器:新的过滤器表达式(
[
'过滤器' => 新过滤器([
'field_name' => '页面路径',
'string_filter' => 新的 StringFilter([
'match_type' => MatchType::EXACT,
'值' => '/example/abc',
]),
]),
'过滤器' => 新过滤器([
'field_name' => '事件名称',
'string_filter' => 新的 StringFilter([
'match_type' => MatchType::EXACT,
'值' => '点击',
]),
]),
]
),
保持空行:true
);`
如何使用多维过滤器?
您应该在第一个过滤器上使用 setAndGroup 或 setOrGroup 来排序组过滤器,方法是传递 FilterExpressionList 以及要使用的其他过滤器。
$filter = new FilterExpression([
'filter' => new Filter([
'field_name' => 'pagePath',
'string_filter' => new StringFilter([
'match_type' => MatchType::EXACT,
'value' => '/example/abc',
]),
]),
]);
$filterToAdd = new FilterExpression([
'filter' => new Filter([
'field_name' => 'eventName',
'string_filter' => new StringFilter([
'match_type' => MatchType::EXACT,
'value' => 'click',
]),
]),
]);
$otherFilters = new FilterExpressionList();
$otherFilters ->setExpressions([$filterToAdd]);
$filter->setAndGroup($otherFilters);
然后您可以将 (dimensionFilter: $filter) 变量传递给 Analytics::get(....) 调用