Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检索在Mixpanel';中执行特定事件的用户;使用JQL的Arb数据库?_Javascript_Json_Nosql - Fatal编程技术网

Javascript 如何检索在Mixpanel';中执行特定事件的用户;使用JQL的Arb数据库?

Javascript 如何检索在Mixpanel';中执行特定事件的用户;使用JQL的Arb数据库?,javascript,json,nosql,Javascript,Json,Nosql,我最近一直在使用Mixpanel的Javascript查询语言,以分析用户行为。我为下面提到的问题陈述提出了两种不同的查询变体,但似乎都不适合我。其中一个我张贴在下面。有人能告诉我正确的方法来编写查询以获得所需的结果吗 问题陈述:查找执行“xyz”、“abc”和“dfg”事件的用户的所有不同id JSON格式的数据库(使用虚拟数据,使用相同格式的数据时,实际数据库要大得多): 我写的查询: function main() { return Events({ from_da

我最近一直在使用Mixpanel的Javascript查询语言,以分析用户行为。我为下面提到的问题陈述提出了两种不同的查询变体,但似乎都不适合我。其中一个我张贴在下面。有人能告诉我正确的方法来编写查询以获得所需的结果吗

问题陈述:查找执行“xyz”、“abc”和“dfg”事件的用户的所有不同id

JSON格式的数据库(使用虚拟数据,使用相同格式的数据时,实际数据库要大得多):

我写的查询:

function main() {
    return Events({
        from_date: "2017-06-26",
        to_date: "2017-06-27"
    })
    .groupByUser(function(state, events) {

        var flag_abc = false, flag_xyz = false, flag_dfg = false,  count_unique = 0;

        for (var i = 0; i < events.length - 1; i ++){

            if (count_unique === 3){
                state = true;
                return state;
            }

            if (events[i].name === "abc" && !flag_abc ){
                count_unique += 1;
                flag_abc = true;
            }
            else if(events[i].name === "xyz" && !flag_xyz){
                count_unique += 1;
                flag_xyz = true;
            }
            else if(events[i].name === "dfg" && !flag_dfg){
                count_unique += 1;
                flag_dfg = true;
            }
      }
      state = false;
      return state;
  })
  .filter(function(arr){
     if(arr.value === false)
         return false;
     else
         return true;
  })
}
函数main(){
返回事件({
自2017年6月26日起,
截止日期:“2017-06-27”
})
.groupByUser(函数(状态、事件){
var flag_abc=false,flag_xyz=false,flag_dfg=false,count_unique=0;
对于(var i=0;i
这段代码有局限性

for (var i = 0; i < events.length - 1; i ++){
    if (count_unique === 3){
        state = true;
        return state;
    }
    if (events[i].name === "abc" && !flag_abc ){
        count_unique += 1;
        flag_abc = true;
    }
    else if(events[i].name === "xyz" && !flag_xyz){
        count_unique += 1;
        flag_xyz = true;
    }
    else if(events[i].name === "dfg" && !flag_dfg){
        count_unique += 1;
        flag_dfg = true;
    }
}

我不是在寻找优化。我正在寻找另一种方法来用JQL编写同样的东西。现在,这个查询检索到错误的结果,即使逻辑对我来说似乎是正确的。任何熟悉Mixpanel的JQL或实际使用它的人,都会非常感谢您的帮助。我在这里谈论的JQL实际上是编写本地javascript代码来查询您的数据库,与jquery不同。
for (var i = 0; i < events.length - 1; i ++){
    if (count_unique === 3){
        state = true;
        return state;
    }
    if (events[i].name === "abc" && !flag_abc ){
        count_unique += 1;
        flag_abc = true;
    }
    else if(events[i].name === "xyz" && !flag_xyz){
        count_unique += 1;
        flag_xyz = true;
    }
    else if(events[i].name === "dfg" && !flag_dfg){
        count_unique += 1;
        flag_dfg = true;
    }
}
var data = ["12", "14", "12", "11"];
console.log(jQuery.unique( data ));

gives : ["12", "14", "11"]

count_unique => will be size of array 
flag_abc  => check if in array abc exist