cube-js/cube

Regex Support in Filter

Open

#3,499 创建于 2021年9月29日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Rust (1,965 fork)batch import
backend:serverhelp wanted

仓库指标

Star
 (19,563 star)
PR 合并指标
 (平均合并 5天 16小时) (30 天内合并 138 个 PR)

描述

Is your feature request related to a problem? Please describe.

It would be great to have Regex operator in filter. Consider the following example where I have some strings:

"A, A B, B, B C", "A", "A B, C"

I want to get all the strings that have A, with expected result : "A, A B, B, B C", "A".

If we use contains, because of wildcards ('%A%'), it will give "A, A B, B, B C", "A", "A B, C" which is incorrect. If I use regex, then I can get the result as I would like it. Also, if you support regex, we can indirectly get support for array columns as well (convert array as comma-separated column)

Describe the solution you'd like:

It would be great, if we can have a regex filter, which sets the passed regex to the passed column with the values.

Example:

{
  "member": "COLUMN",
  "operator": "regex",
  "values": ["<REGEX_PATTERN>"]
}

This would eventually be resolved as where REGEXP_CONTAINS(COLUMN, 'REGEX_PATTERN')

Describe alternatives you've considered

Query through cube, to get all the column value, filter it after getting the resultset. But this approach, looses the cube (for logic purposes).

贡献者指南