Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js 如何在Cube.js过滤器查询中添加或设置条件_Node.js_Cube.js - Fatal编程技术网

Node.js 如何在Cube.js过滤器查询中添加或设置条件

Node.js 如何在Cube.js过滤器查询中添加或设置条件,node.js,cube.js,Node.js,Cube.js,我想在Cube.js的JSON查询中添加或条件。但一旦我在过滤器中添加了一个条件,它就会在SQL查询中添加和条件 下面是我正在尝试的JSON查询 { "dimensions": [ "Employee.name", "Employee.company" ], "timeDimensions": [], "measures": [], "filters": [ { "dimension": "Employee.company",

我想在Cube.js的JSON查询中添加条件。但一旦我在过滤器中添加了一个条件,它就会在SQL查询中添加条件

下面是我正在尝试的JSON查询

{
  "dimensions": [
    "Employee.name",
    "Employee.company"
  ],
  "timeDimensions": [],
  "measures": [],
  "filters": [
    {
      "dimension": "Employee.company",
      "operator": "contains",
      "values": [
        "soft"
      ]
    },
    {
      "dimension": "Employee.name",
      "operator": "contains",
      "values": [
        "soft"
      ]
    }
  ]
}
它生成下面的SQL查询

选择
`员工`.name`employee\uuuu name`,
`雇员公司雇员公司`
从…起
DEMO.Employee作为“Employee”`
哪里
`员工`.公司类CONCAT('%','soft','%'))
及
`员工`。名称,如CONCAT('%','soft','%'))
分组
1.
2.
如果要生成以下SQL,那么Cube.js的JSON查询是什么

选择
`员工`.name`employee\uuuu name`,
`雇员公司雇员公司`
从…起
DEMO.Employee作为“Employee”`
哪里
`员工`.公司类CONCAT('%','soft','%'))
或
`员工`。名称,如CONCAT('%','soft','%'))
分组
1.
2.

尚未提供对逻辑运算符的API支持。同时,有几个变通办法:

  • 定义模仿行为的维度。你的情况是
  • cube(`Employee`{
    // ...
    尺寸:{
    公司名称:{
    sql:`CONCAT(${company},,${name})`,
    类型:`string`
    }
    }
    });
    
  • 定义段。还可以生成以下内容:
  • cube(`Employee`{
    // ...
    部分:{
    软:{
    sql:“${company}类CONCAT('%','soft','%')或${name}类CONCAT('%','soft','%')”
    }
    }
    });
    
    谢谢!此解决方案适用于上述场景。但是假设我想对多个维度执行相同的场景,那么我需要对这些维度进行CONCAT。是的。正确的。如果您想模拟contains操作符的
    行为,应该使用
    CONCAT()
    。我创建了一个github问题,以更自然地支持这一点,而无需使用CONCAT跳过障碍