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

如何在Mixpanel JQL中查询多事件的多个属性并分别统计计数?

解决Mixpanel JQL多事件多属性统计问题

你的代码核心问题是没有将事件类型纳入分组维度,导致三个事件的计数被合并为同一UserName+InviteCode组合的总和。以下是两种满足不同统计需求的解决方案:

方案1:按事件类型+用户名+邀请码分别统计

如果需要清晰区分每个事件在不同用户+邀请码组合下的发生次数,只需把event.name加入groupBy的分组数组:

function main () {
  return Events( {
    from_date: "2023-04-06",
    to_date: "2023-05-26",
    event_selectors: [{event: "FeedExited"}, {event: "GameExited"}, {event: "DiscoveryExited"}]
  })
  .filter(function(event){
    return event.properties.UserName && event.properties.InviteCode;
  })
  // 新增event.name作为分组维度,拆分不同事件的计数
  .groupBy(["event.name", "properties.UserName", "properties.InviteCode"], mixpanel.reducer.count());
}

输出结果结构示例:

[
{"key": ["FeedExited", "user1", "CODE1"], "value": 5},
{"key": ["GameExited", "user1", "CODE1"], "value": 3},
{"key": ["DiscoveryExited", "user2", "CODE2"], "value": 2},
...
]

方案2:同一用户+邀请码下展示各事件计数

如果希望每个UserName+InviteCode组合对应一条数据,同时包含三个事件的各自计数,可以自定义reducer实现结构化统计:

function main () {
  return Events( {
    from_date: "2023-04-06",
    to_date: "2023-05-26",
    event_selectors: [{event: "FeedExited"}, {event: "GameExited"}, {event: "DiscoveryExited"}]
  })
  .filter(function(event){
    return event.properties.UserName && event.properties.InviteCode;
  })
  .groupBy(
    ["properties.UserName", "properties.InviteCode"],
    // 自定义reducer初始化并累加各事件计数
    function(state, event) {
      if (!state) {
        state = {
          FeedExited: 0,
          GameExited: 0,
          DiscoveryExited: 0
        };
      }
      state[event.name]++;
      return state;
    }
  );
}

输出结果结构示例:

[
{"key": ["user1", "CODE1"], "value": {"FeedExited":5, "GameExited":3, "DiscoveryExited":1}},
{"key": ["user2", "CODE2"], "value": {"FeedExited":2, "GameExited":0, "DiscoveryExited":4}},
...
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:48:36