Forum Discussion
If contains function with a filter
Hey guys,
Trying to find a function which would allow me to count only rows which contain in a string of text 2 specific words:
Cancelled or Expired. Cancelled could be found in "Closed_Cancelled","Booked_Cancelled", "Cancelled_Quote_Provided"
Expired in "Quote_Expired","Booked_Expired"
What would be the formula?
True Cancelled = Calculate( Disctinctcount (Jobs[Jobs ID] ), Filter ( Jobs, Jobs[Jobs Status] Contains?"Cancelled" || Jobs[Jobs Status] Contains?"Expired")
Many Thanks in advance.
Anonymous
You can use SEARCH() in FILTER to achieve this kind of "instring" requirement. You can write your measure like below:
True Cancelled = CALCULATE ( DISTINCTCOUNT ( Jobs[Jobs ID] ), FILTER ( ALL ( Jobs ), SEARCH ( "Cancelled", Jobs[Jobs Status],, BLANK () ) > 0 || SEARCH ( "Expired", Jobs[Jobs Status],, BLANK () ) > 0 ) )See my sample:
Regards,
2 Replies
- v-sihou-msftMicrosoft Employee
Anonymous
You can use SEARCH() in FILTER to achieve this kind of "instring" requirement. You can write your measure like below:
True Cancelled = CALCULATE ( DISTINCTCOUNT ( Jobs[Jobs ID] ), FILTER ( ALL ( Jobs ), SEARCH ( "Cancelled", Jobs[Jobs Status],, BLANK () ) > 0 || SEARCH ( "Expired", Jobs[Jobs Status],, BLANK () ) > 0 ) )See my sample:
Regards,
- Greg_DecklerCommunity Champion
Probably SEARCH or FIND