You don’t mention which table you are filtering. It matters to make sure you are applying your specified filter criteria properly.
It’s not clear if you are trying to filter all rows that match any of the criteria or if you want to filter any rows that match ALL of the criteria
In each of your criteria you check ISBLANK(DB[column value]). I assume DB is the user supplied filter criteria? But you don’t use this to perform any actual filtering
The ANY() function returns just a single value from a list. In fact, it returns the FIRST value in the list. So your usage of ANY(Cerca_DB[column]) is probably not returning what you think.
Your Sub Category portion of the expression is trying to compare a List to a single value. It works when you select one value but when you select more it will never be equal - multiple values will never equal a single value. If your intention is to simply check if any of the values in the Sub Category list appear in any of the rows in the table, you will want to use the Intersect() function:
From here I would recommend describing in words what you are trying to accomplish and what tables you have to do it with. Then we can help sharpen your expression.