You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Analytics Run Report API单请求中组合And/Or过滤器?

Google Analytics Run Report API 组合过滤逻辑实现方案

问题背景

需要在单个API请求中实现(A 或 B) 且 (C 或 D)的组合过滤逻辑(A、B、C、D为维度/指标条件),但直接同时设置orGroup和andGroup会触发错误:"message": "Invalid value at 'dimension_filter' (oneof), oneof field 'expr' is already set. Cannot set 'andGroup'"。原因是dimension_filter属于oneof类型,仅允许设置一个顶级逻辑组,需通过嵌套逻辑组实现多条件组合。

正确请求示例

以下是实现(Browser包含moz 或 Browser包含test) 且 (Browser包含ed 或 Browser包含ch)逻辑的请求代码:

{
   "dateRanges":[
      {
         "startDate":"2019-01-01",
         "endDate":"2023-05-02",
         "name":"0"
      }
   ],
   "keepEmptyRows":"TRUE",
   "metrics":[
      {
         "name":"Conversions"
      },
      {
         "name":"EngagementRate"
      },
      {
         "name":"EngagedSessions"
      },
      {
         "name":"EventCount"
      },
      {
         "name":"NewUsers"
      },
      {
         "name":"TotalRevenue"
      },
      {
         "name":"TotalUsers"
      }
   ],
   "dimensions":[
      {
         "name":"Browser"
      }
   ],
   "dimensionFilter":{
      "andGroup":{
         "expressions":[
            {
               "orGroup":{
                  "expressions":[
                     {
                        "filter":{
                           "fieldName":"Browser",
                           "stringFilter":{
                              "matchType":"CONTAINS",
                              "value":"moz"
                           }
                        }
                     },
                     {
                        "filter":{
                           "fieldName":"Browser",
                           "stringFilter":{
                              "matchType":"CONTAINS",
                              "value":"test"
                           }
                        }
                     }
                  ]
               }
            },
            {
               "orGroup":{
                  "expressions":[
                     {
                        "filter":{
                           "fieldName":"Browser",
                           "stringFilter":{
                              "matchType":"CONTAINS",
                              "value":"ed"
                           }
                        }
                     },
                     {
                        "filter":{
                           "fieldName":"Browser",
                           "stringFilter":{
                              "matchType":"CONTAINS",
                              "value":"ch"
                           }
                        }
                     }
                  ]
               }
            }
         ]
      }
   },
   "offset":"0",
   "limit":"10000"
}

核心逻辑:顶级使用andGroup包裹两个子orGroup,分别对应(A或B)和(C或D),通过嵌套实现复合逻辑。

指标过滤器的组合支持

指标过滤器(metricFilter)的逻辑规则与维度过滤器完全一致,同样支持通过嵌套andGroup/orGroup实现复杂的且/或组合条件。例如要实现(指标X>100 或 指标Y<50) 且 (指标Z=0),只需将对应的指标过滤条件按嵌套逻辑组织到metricFilter中即可。

内容的提问来源于stack exchange,提问作者Vivek Shukla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:43:17