Forum Discussion

Fab117's avatar
Fab117
Icon for Helper IV rankHelper IV
3 years ago
Solved

Measure to count iteration of specific character string

Hello,

 

I'm newbie with Power BI.

I'm quite familiar with VBA, but not at all with Dax => PowerQuery requests.

 

I started building my first Power BI report based on several data base fields, but would need to do some calculation with Dax.

 

I spent time with Microsoft Dax functions definitions (Data Analysis Expressions (DAX) Reference - DAX | Microsoft Learn), but didn't find my solution.

 

Challenge n°1: Measure to count iteration of specific character string

 

In database "Projects", I've a column [AreaImpacted] where I can find market( s) impacted on each line of the database. NB: There can be one or several markets per line (if several, separator is ",").

 

For each market (hopefully, number is limited), I'd like to create a specific measure calculating the number of iteration (no matter if the market is alone or not on the line looking at)

 

e.g.:

Fields name_________AreaImpacted

Line 1________________USA

Line 2________________USA, France, Canada

Line 3________________Germany

Line 4________________France

Line51________________Canada, USA

 

Results should be:

  • #USA = 3
  • #France = 2
  • #Canada = 2
  • #Germany = 1

 

Do someone could help me with the formulae's?

 

#USA =
CALCULATE (
           …​
)

 

 

Thanks a lot

 

Fab

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Fab117 ,

     

    I'll first give you a popular science about the difference between M language and DAX language. In Power Query, we'll use M. DAX, which we use in Power BI Desktop.

    Here's the solution in Power BI Desktop, which means I used DAX to complete.

    Germany = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"Germany"))
    Canada = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"Canada"))
    USA = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"USA"))
    France = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"France"))

     

     

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Fab117 ,

     

    I'll first give you a popular science about the difference between M language and DAX language. In Power Query, we'll use M. DAX, which we use in Power BI Desktop.

    Here's the solution in Power BI Desktop, which means I used DAX to complete.

    Germany = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"Germany"))
    Canada = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"Canada"))
    USA = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"USA"))
    France = CALCULATE(COUNT('Table'[AreaImpacted]),CONTAINSSTRING('Table'[AreaImpacted],"France"))

     

     

     

     

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • wdx223_Daniel's avatar
      wdx223_Daniel
      Icon for Community Champion rankCommunity Champion

      think it's better to split the column into rows with M code.

    • Fab117's avatar
      Fab117
      Icon for Helper IV rankHelper IV

      Hi Anonymous ,

      Thank you very much for taking time looking at my challenge and for this solution which fit perfectly my needs.

      Have a nice week.

       

      Fab