Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
Anonymous
Not applicable

Optimize DAX query in roles management

Hi, I created a role which is too slow because of its DAX query : 

Can you help me to optimize it ?

I already read some best practices like :

  1. Use SEARCH() with the last parameter
    The SEARCH() DAX function accepts the last parameter as the value that the query must return if the search string is not found. You should always use the SEARCH() function instead of using Error functions along with SEARCH().
  2. Use variables instead of repeating measures inside the IF branch
  3. I don't know if two IF statement is a good practice.

 

( IF( ISERROR( SEARCH("France - Monaco" , DIMENSION_individual[regions_all_boutique_purchase_individual]) ), FALSE(), TRUE() ) ) && ( IF( ISERROR( SEARCH("Fashion" , DIMENSION_individual[distribution_all_networks_boutique_individual]) ), FALSE(), TRUE() ) )

 

Thanks in advance !

1 REPLY 1
Anonymous
Not applicable

Hi,

 

Here is my optimization, can we do better ?

 

IF( OR(
SEARCH("France - Monaco" , DIMENSION_individual[regions_all_boutique_purchase_individual],,0)=0,
SEARCH("Fashion" , DIMENSION_individual[distribution_all_networks_boutique_individual],,0)=0
) , FALSE(), TRUE() )

Helpful resources

Announcements