cube-js/cube

Regex Support in Filter

Open

#3499 aperta il 29 set 2021

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Rust (1965 fork)batch import
backend:serverhelp wanted

Metriche repository

Star
 (19.563 star)
Metriche merge PR
 (Merge medio 5g 16h) (138 PR mergiate in 30 g)

Descrizione

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

Guida contributor