cube-js/cube

Regex Support in Filter

Open

#3.499 aberto em 29 de set. de 2021

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)Rust (1.965 forks)batch import
backend:serverhelp wanted

Métricas do repositório

Stars
 (19.563 stars)
Métricas de merge de PR
 (Mesclagem média 5d 16h) (138 fundiu PRs em 30d)

Description

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).

Guia do colaborador