Filter projects by name and category

Yes, you are correct. You can create calculated members in the Project dimension using a formula. It might slow down reports, though. It might multiply calculations by the count of projects pulled in by the formula.

You are quite close to this formula. However, you would like to use one string value as a parameter for matches. I also would suggest explicitly setting the dimension and the level [Project].[Project] to address members.

Aggregate({
Filter([Project].[Project].Members, 
[Project].CurrentMember.Name MATCHES 'Credit Card Channel| Mobile Team|Debit card team')
})

I used CurrentMember instead of CurrentHierarchyMember. Calculations in the dimension should address members of one specific hierarchy explicitly. In this case, the member of the default hierarchy. However, in most cases, both approaches will work.

| works as or within a string expression for matches.
|| concatenates two strings.

As an alternative, if you have many projects and you would like to group them, I would suggest considering using custom hierarchies. You can import additional property for the project and then use this property to build a custom hierarchy. It will allow selecting one hierarchy member in reports and it will work as a single selection without multiplication of results.

Here is one step-by-step guide on how to use eazyBI to prepare a file for data import, set the mapping, and import data. It is based on users, but a similar approach could be applied to projects as well:

Daina / support@eazybi.com